- 08 Oct, 2019 1 commit
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set|Tee)Local' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set|Tee)Local\b/kExprLocal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I1617f1b2a100685a3bf56218e76845a9481959c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847354Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64161}
-
- 12 Sep, 2019 1 commit
-
-
Ng Zhi An authored
The point of this test is to check for OOB access traps, the read/write of the entire backing buffer is not useful to this test, and causes the test to be really slow, especially on arm simulator. This change cuts the runtime of the test from ~7.5min to ~1.5min. Bug: v8:7783 Bug: v8:9396 Change-Id: Id57648e920b7631d8c481d2a43ded1c16cd2d1d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1793905 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63726}
-
- 11 Sep, 2019 1 commit
-
-
Ng Zhi An authored
This speeds up the check by ~10x. This was tested by writing a simple test that compares a for-loop and array.every(): for (var i = 0; i < kMemSize; i++) { assertEquals(0, array[i]); } assertTrue(array.every((e => e == 0))); The for-loop takes ~180s, every() takes ~19s. Numbers above are for arm.debug build (simulator). On x64.debug builds we can see a similar 10x improvement, from ~6s to ~400ms. Bug: v8:7783 Bug: v8:9396 Change-Id: I83d46c7ec4a634612032c1d79585339cadb8b641 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1793904 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63691}
-
- 17 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
The trap handler fallback is flaky, and was never enabled since it never worked reliably. This CL removes a) the --wasm-trap-handler-fallback flag, b) the distinction between soft and hard address space limit, c) methods to check whether memory has guard regions (it will always have them on 64 bit architectures), d) associated runtime functions, e) the trap handler fallback tests, f) recompilation logic for the fallback. R=titzer@chromium.org Bug: v8:8746 Change-Id: I7f4682b8cd5470906dd8579ff1fdc9b1a3c0f0e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570023Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60904}
-
- 30 Jan, 2019 1 commit
-
-
Sven Sauleau authored
We noticed that almost every call site were loading both files, the split isn't necessary anymore. In some message tests, removed the absolute line number to allow future changes. Bug: v8:8726 Change-Id: I8527f0a1ecfa685aa01a5e2f5f47ddf1cb13a545 Reviewed-on: https://chromium-review.googlesource.com/c/1446452 Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59220}
-
- 24 Aug, 2018 2 commits
-
-
Michael Starzinger authored
R=sigurds@chromium.org TEST=mjsunit/wasm/module-memory Change-Id: I30b52a09d8655340199dc449aaa91e6a351e2111 Reviewed-on: https://chromium-review.googlesource.com/1188567Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55410}
-
Michael Starzinger authored
R=titzer@chromium.org TEST=mjsunit/wasm/module-memory Change-Id: If190f4f75feb0560bfb608b5ec01234c95e1f715 Reviewed-on: https://chromium-review.googlesource.com/1188464Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55400}
-
- 07 Jun, 2018 1 commit
-
-
Eric Holk authored
This CL adds the simplest version of a trap handler fallback. At instantiation time, we check whether the module was compiled to use trap handlers and the memory is guarded. If the memory is not guarded but the module is supposed to use trap handlers, we recompile the module with bounds checks so that we can use an unguarded memory. The compiled module is replaced with a bounds checking version, meaning future instances from this module will also use bounds checks. Some likely desirable features that are current missing but can be added future CLs include: * Disabling trap handler mode entirely. * Recompiling all old instances so that trap handler and bounds checked code does not coexist in the same process. Bug: v8:7143 Change-Id: I161fc0d544133b07dc4a93cc6af813369aaf3efe Reviewed-on: https://chromium-review.googlesource.com/1018182 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53566}
-
- 08 Jan, 2018 1 commit
-
-
Eric Holk authored
This is a reland of 9c79b37a Original change's description: > [wasm] use allocation tracker to track reserved address space > > This is a step towards falling back on bounds checks when there are too many > guarded Wasm memories. > > Bug: v8:7143 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I01916cbdd5ddb08fe1d946ab83b801f37a8fe1c6 > Reviewed-on: https://chromium-review.googlesource.com/832944 > Commit-Queue: Eric Holk <eholk@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50390} Bug: v8:7143 Change-Id: Iaf0d22d300a3f2da22649552a17162dcf7bc608b Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/853142Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50418}
-
- 06 Jan, 2018 1 commit
-
-
Bill Budge authored
This reverts commit 9c79b37a. Reason for revert: breaks TSAN https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Linux64_TSAN%2F18959%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2Finstance-gc%2F0 Original change's description: > [wasm] use allocation tracker to track reserved address space > > This is a step towards falling back on bounds checks when there are too many > guarded Wasm memories. > > Bug: v8:7143 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I01916cbdd5ddb08fe1d946ab83b801f37a8fe1c6 > Reviewed-on: https://chromium-review.googlesource.com/832944 > Commit-Queue: Eric Holk <eholk@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50390} TBR=bbudge@chromium.org,gdeepti@chromium.org,eholk@chromium.org,eholk@google.com Change-Id: I207b9466377ba50be17794e71407b0ebc8eb88e2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7143 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/853140Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50392}
-
- 05 Jan, 2018 1 commit
-
-
Eric Holk authored
This is a step towards falling back on bounds checks when there are too many guarded Wasm memories. Bug: v8:7143 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I01916cbdd5ddb08fe1d946ab83b801f37a8fe1c6 Reviewed-on: https://chromium-review.googlesource.com/832944 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50390}
-
- 19 Sep, 2017 1 commit
-
-
Eric Holk authored
This is primarily to aid in testing the Wasm out of bounds trap handler. We keep track of how many faults have been recovered by the Wasm trap handler. This count is exposed to JavaScript through a testing-only runtime function. This allows tests to verify whether the trap handler is actually running. Bug: v8:5277 Change-Id: Ie8037a36d84eb08166c6e40c7225d912683d5786 Reviewed-on: https://chromium-review.googlesource.com/665968 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48076}
-
- 17 Jan, 2017 1 commit
-
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2636173002 Cr-Commit-Position: refs/heads/master@{#42426}
-
- 12 Jan, 2017 1 commit
-
-
mtrofin authored
- updated WebAssembly.Instance ctor uses in our tests to match spec - disallowing mem section *and* mem import, as per spec BUG=v8:5824 Review-Url: https://codereview.chromium.org/2627763002 Cr-Commit-Position: refs/heads/master@{#42278}
-
- 09 Jan, 2017 1 commit
-
-
titzer authored
R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2595733003 Cr-Commit-Position: refs/heads/master@{#42141}
-
- 21 Dec, 2016 1 commit
-
-
titzer authored
This is more renaming work to comply with the naming in the public design repository. E.g. types are called "value types" and we no longer refer to ASTs. R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2594993002 Cr-Commit-Position: refs/heads/master@{#41891}
-
- 28 Oct, 2016 1 commit
-
-
eholk authored
BUG= Review-Url: https://codereview.chromium.org/2460773003 Cr-Commit-Position: refs/heads/master@{#40654}
-
- 27 Sep, 2016 1 commit
-
-
titzer authored
[0xC] Convert to stack machine semantics. [0xC] Use section codes instead of names. [0xC] Add elements section decoding. [0xC] Decoding of globals section. [0xC] Decoding of memory section. [0xC] Decoding of imports section. [0xC] Decoding of exports section. [0xC] Decoding of data section. [0xC] Remove CallImport bytecode. [0xC] Function bodies have an implicit block. [0xC] Remove the bottom label from loops. [0xC] Add signatures to blocks. [0xC] Remove arities from branches. Add tests for init expression decoding. Rework compilation of import wrappers and how they are patched. Rework function indices in debugging. Fix ASM->WASM builder for stack machine. Reorganize asm.js foreign functions due to import indices change. R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 Review-Url: https://codereview.chromium.org/2345593003 Cr-Original-Commit-Position: refs/heads/master@{#39678} Cr-Commit-Position: refs/heads/master@{#39795}
-
- 23 Sep, 2016 2 commits
-
-
machenbach authored
Revert of [wasm] Master CL for Binary 0xC changes. (patchset #26 id:490001 of https://codereview.chromium.org/2345593003/ ) Reason for revert: Main suspect for tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Also changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10036 +mips builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/4032 Original issue's description: > [wasm] Master CL for Binary 0xC changes. > > [0xC] Convert to stack machine semantics. > [0xC] Use section codes instead of names. > [0xC] Add elements section decoding. > [0xC] Decoding of globals section. > [0xC] Decoding of memory section. > [0xC] Decoding of imports section. > [0xC] Decoding of exports section. > [0xC] Decoding of data section. > [0xC] Remove CallImport bytecode. > [0xC] Function bodies have an implicit block. > [0xC] Remove the bottom label from loops. > [0xC] Add signatures to blocks. > [0xC] Remove arities from branches. > Add tests for init expression decoding. > Rework compilation of import wrappers and how they are patched. > Rework function indices in debugging. > Fix ASM->WASM builder for stack machine. > Reorganize asm.js foreign functions due to import indices change. > > R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org > BUG=chromium:575167 > LOG=Y > > Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 > Cr-Commit-Position: refs/heads/master@{#39678} TBR=ahaas@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,rossberg@chromium.org,bradnelson@google.com,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2361053004 Cr-Commit-Position: refs/heads/master@{#39685}
-
titzer authored
[0xC] Convert to stack machine semantics. [0xC] Use section codes instead of names. [0xC] Add elements section decoding. [0xC] Decoding of globals section. [0xC] Decoding of memory section. [0xC] Decoding of imports section. [0xC] Decoding of exports section. [0xC] Decoding of data section. [0xC] Remove CallImport bytecode. [0xC] Function bodies have an implicit block. [0xC] Remove the bottom label from loops. [0xC] Add signatures to blocks. [0xC] Remove arities from branches. Add tests for init expression decoding. Rework compilation of import wrappers and how they are patched. Rework function indices in debugging. Fix ASM->WASM builder for stack machine. Reorganize asm.js foreign functions due to import indices change. R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/2345593003 Cr-Commit-Position: refs/heads/master@{#39678}
-
- 29 Apr, 2016 2 commits
-
-
titzer authored
[wasm] Binary 11: Swap the order of section name / section length. [wasm] Binary 11: Shorter section names. [wasm] Binary 11: Add a prefix for function type declarations. [wasm] Binary 11: Function types encoded as pcount, p*, rcount, r* [wasm] Fix numeric names for functions. R=rossberg@chromium.org,jfb@chromium.org,ahaas@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/1896863003 Cr-Commit-Position: refs/heads/master@{#35897}
-
titzer authored
[wasm] Binary 11: br_table takes a value. [wasm] Binary 11: Add implicit blocks to if arms. [wasm] Binary 11: Add arities to call, return, and breaks [wasm] Binary 11: Add experimental version. This CL changes the encoder, decoder, and tests to use a postorder encoding of the AST, which is more efficient in decode time and space. R=bradnelson@chromium.org,rossberg@chromium.org,binji@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/1830663002 Cr-Commit-Position: refs/heads/master@{#35896}
-
- 09 Mar, 2016 2 commits
-
-
titzer authored
R=binji@chromium.org BUG= Review URL: https://codereview.chromium.org/1775123003 Cr-Commit-Position: refs/heads/master@{#34635}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1775353003 Cr-Commit-Position: refs/heads/master@{#34621}
-
- 07 Mar, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,binji@chromium.org BUG= Review URL: https://codereview.chromium.org/1770913002 Cr-Commit-Position: refs/heads/master@{#34559}
-
- 03 Mar, 2016 1 commit
-
-
dtc-v8 authored
BUG= Review URL: https://codereview.chromium.org/1597163002 Cr-Commit-Position: refs/heads/master@{#34450}
-
- 28 Feb, 2016 1 commit
-
-
titzer authored
R=binji@chromium.org,jfb@chromium.org BUG= Review URL: https://codereview.chromium.org/1740373002 Cr-Commit-Position: refs/heads/master@{#34346}
-
- 12 Jan, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org LOG=Y BUG=chromium:575167 Review URL: https://codereview.chromium.org/1577803002 Cr-Commit-Position: refs/heads/master@{#33251}
-
- 17 Dec, 2015 1 commit
-
-
bradnelson authored
In preparation for switching wasm from a compile to a runtime option, add the runtime flag to all mjsunit tests. R=ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1537643002 Cr-Commit-Position: refs/heads/master@{#32938}
-
- 11 Dec, 2015 1 commit
-
-
titzer authored
As discussed in person, this adds the code from v8-native-prototype into V8 proper, guarded by GYP flags that do not build the code by default. Passing wasm=on to 'make' or setting v8_wasm as a GYP flag activates building of this code. An additional header file is added to and exported from the compiler directory, src/compiler/wasm-compiler.h. This exposes a limited interface with opaque Node and Graph types to the decoder to build TF graphs, as well as functions to compile WASM graphs. The mjsunit tests added are blacklisted because they fail without the WASM object exposed to JS, which is also disabled by the build config option. This corresponds closely to https://github.com/WebAssembly/v8-native-prototype/commit/5981e06ebc9b1e578831d03100f17ebb77970ee0, with some formatting fixes and moving some files into src/compiler. R=mstarzinger@chromium.org, bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1504713014 Cr-Commit-Position: refs/heads/master@{#32794}
-