- 16 Jul, 2019 2 commits
-
-
Thibaud Michaud authored
This reverts commit 117ddc8f. Reason for revert: The isolate is needed for accessing builtins, and can die during async compilation. Original change's description: > reland [wasm] Compile JS to WASM wrappers asynchronously > > The context was not set during streaming compilation. > The initial upload is the original CL and patch set 1 is the fix. > > Original CL: > > > [wasm] Compile JS to WASM wrappers asynchronously > > > > R=mstarzinger@chromium.org, ahaas@chromium.org > > > > Bug: v8:9231 > > Change-Id: I9e18073bbe25bf8c9c5f9ace102316e6209d0459 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669699 > > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#62672} > > R=mstarzinger@chromium.org, ahaas@chromium.org > > Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel > Bug: v8:9231 > Change-Id: I61fc11a6de54cc6e93f3600487a89fa5d2350f0e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701850 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Auto-Submit: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62721} TBR=mstarzinger@chromium.org,ahaas@chromium.org,thibaudm@chromium.org Change-Id: Ie258317f04a944e8e08993dbffb524f722cceddc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9231 Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1704094Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#62741}
-
Simon Zünd authored
On newer compilers the {operator delete} with explicit {size_t} argument would be instantiated for {WasmInstructionBuffer} and used in the destructor of {std::unique_ptr<WasmInstructionBuffer>}. The {size_t} argument is wrong though, since the pointer actually points to a {WasmInstructionBufferImpl} object. The solution is to explicitly provide a {operator delete}, preventing an implicitly generated {size_t} operator. R=clemensh@chromium.org Change-Id: I2cc22078d03a523121309bae94f5b612cb98e112 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1702613Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62737}
-
- 15 Jul, 2019 1 commit
-
-
Thibaud Michaud authored
The context was not set during streaming compilation. The initial upload is the original CL and patch set 1 is the fix. Original CL: > [wasm] Compile JS to WASM wrappers asynchronously > > R=mstarzinger@chromium.org, ahaas@chromium.org > > Bug: v8:9231 > Change-Id: I9e18073bbe25bf8c9c5f9ace102316e6209d0459 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669699 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62672} R=mstarzinger@chromium.org, ahaas@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel Bug: v8:9231 Change-Id: I61fc11a6de54cc6e93f3600487a89fa5d2350f0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701850Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Auto-Submit: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#62721}
-
- 12 Jul, 2019 2 commits
-
-
Andreas Haas authored
This reverts commit 9a9aa71f. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/33101 Original change's description: > [wasm] Compile JS to WASM wrappers asynchronously > > R=mstarzinger@chromium.org, ahaas@chromium.org > > Bug: v8:9231 > Change-Id: I9e18073bbe25bf8c9c5f9ace102316e6209d0459 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669699 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62672} TBR=mstarzinger@chromium.org,ahaas@chromium.org,thibaudm@chromium.org Change-Id: I4c66663ca8a3f12f578c451f3c25705cebc753a7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9231 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1700066Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62680}
-
Thibaud Michaud authored
R=mstarzinger@chromium.org, ahaas@chromium.org Bug: v8:9231 Change-Id: I9e18073bbe25bf8c9c5f9ace102316e6209d0459 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669699 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62672}
-
- 18 Jun, 2019 1 commit
-
-
Thibaud Michaud authored
R=ahaas@chromium.org CC=titzer@chromium.org Bug: v8:9231 Change-Id: I209f7c89c99408a53a8db6a6af1ed795f6668a1d Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1655653 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62249}
-
- 05 Jun, 2019 1 commit
-
-
Thibaud Michaud authored
Compile import wrappers during module compilation by introducing import wrapper compilation units, the goal being to reduce instantiation time. For each wrapper, we assume the imported function is going to be a kJSFunctionArityMatchSloppy at instantiation time, which should be the most common case. If the function turns out to have a different kind the wrapper is going to be recompiled with the correct kind during instantiation. R=ahaas@chromium.org, clemensh@chromium.org CC=titzer@chromium.org Bug: v8:9231 Change-Id: Ieb050b09d1c19f2a5a3e59132a1864dadb06775d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630685 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61993}
-
- 22 May, 2019 3 commits
-
-
Clemens Hammacher authored
This is a reland of 2ce5da9a Original change's description: > [wasm] Compile big functions first > > Add a special queue to {CompilationUnitQueues} to handle big functions > specially. They are organized in a priority queue (ordered by their > body size), and all threads check this queue first, before executing > the tasks from their own queue. In some benchmarks, this shortens > overall compilation time by 10-20 percent. > > R=ahaas@chromium.org > > Bug: v8:8916, chromium:950493 > Change-Id: I45f36a05304e2f1c4f3ce6b8821ddd4bd08fbba3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622122 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61746} Bug: v8:8916, chromium:950493 No-Presubmit: true Change-Id: I26c949ce6a0f5efee684561dc0b4eba44921cddf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624799 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61755}
-
Clemens Hammacher authored
This reverts commit 2ce5da9a. Reason for revert: Fails on several bots, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/26607 Original change's description: > [wasm] Compile big functions first > > Add a special queue to {CompilationUnitQueues} to handle big functions > specially. They are organized in a priority queue (ordered by their > body size), and all threads check this queue first, before executing > the tasks from their own queue. In some benchmarks, this shortens > overall compilation time by 10-20 percent. > > R=ahaas@chromium.org > > Bug: v8:8916, chromium:950493 > Change-Id: I45f36a05304e2f1c4f3ce6b8821ddd4bd08fbba3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622122 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61746} TBR=ahaas@chromium.org,clemensh@chromium.org Change-Id: Ib47b23ff878d4a561df1993d532e5eeafea64ff6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8916, chromium:950493 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624797Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61749}
-
Clemens Hammacher authored
Add a special queue to {CompilationUnitQueues} to handle big functions specially. They are organized in a priority queue (ordered by their body size), and all threads check this queue first, before executing the tasks from their own queue. In some benchmarks, this shortens overall compilation time by 10-20 percent. R=ahaas@chromium.org Bug: v8:8916, chromium:950493 Change-Id: I45f36a05304e2f1c4f3ce6b8821ddd4bd08fbba3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622122Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61746}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 30 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Wasm compilation units got smaller and smaller with recent refactorings (https://crrev.com/c/1587386, https://crrev.com/c/1587387, https://crrev.com/c/1587388, plus previous CLs). They now only store a function index and the requested compilation tier. Hence there is no reason any more to heap-allocate them. This CL changes the compilation unit queues and interfaces to store and pass compilation units by value. Methods that could return an empty {unique_ptr} before are now returning a {base::Optional}. R=mstarzinger@chromium.org Bug: v8:8343 Change-Id: I63037156b1a700095c13010450e5fedb51544401 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588456 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61133}
-
- 29 Apr, 2019 3 commits
-
-
Clemens Hammacher authored
{TurbofanWasmCompilationUnit} does not store any data except for a pointer back to the {WasmCompilationUnit}, and has a single method only. Thus remove it, and replace it by a static function. This saves one field per compilation unit. R=mstarzinger@chromium.org Change-Id: I2bcb9246c65e6971aa747488ea631886ca3bc037 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587388 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61084}
-
Clemens Hammacher authored
{InterpreterCompilationUnit} does not store any data except for a pointer back to the {WasmCompilationUnit}, and has a single method only. Thus remove it, and replace it by a static function. This saves one field per compilation unit. We can probably also remove {TurbofanWasmCompilationUnit} in a similar way, which I will do in a follow-up CL. R=mstarzinger@chromium.org Change-Id: I8fc2e18366757573499fd57f909ec8222c27be38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587387 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61083}
-
Clemens Hammacher authored
{LiftoffCompilationUnit} does not store any data, and has a single method only. Thus remove it, and replace it by a static function. This saves one field per compilation unit. We can probably also remove {TurbofanWasmCompilationUnit} and {InterpreterCompilationUnit} in a similar way, which I will do in follow-up CLs. R=mstarzinger@chromium.org Change-Id: I5e1a7d4245fd8bce4862cc83c96f9dac8e0c635e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587386Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61080}
-
- 10 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
The wasm engine is the same for all units, thus we should store (or get) it in the compilation task, and not store it duplicated in each compilation unit. R=mstarzinger@chromium.org Bug: v8:8916, v8:8343 Change-Id: Id4b062b5b8a52228b4d6051a67e025088a61d466 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559863 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60754}
-
- 02 Apr, 2019 1 commit
-
-
Frederik Gossen authored
This is a reland of 09fa63a9 Original change's description: > [wasm-hints] Enabled Lazy Compilation by Hint > > Hints for lazy compilation are now taken into consideration. If the > custom hints section suggests lazy compilatin we do so unless the module > consists of a single function. > > Bug: v8:9003 > Change-Id: Ibdc400453cee20d4d5c814733887b38fb675b220 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535827 > Commit-Queue: Frederik Gossen <frgossen@google.com> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60557} Bug: v8:9003 No-Try: true Change-Id: I8d6f4518aa548c815fba4e6e62d2206129336cc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547851 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60564}
-
- 01 Apr, 2019 2 commits
-
-
Frederik Gossen authored
This reverts commit 09fa63a9. Reason for revert: Falkes on https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20shared/29942 Original change's description: > [wasm-hints] Enabled Lazy Compilation by Hint > > Hints for lazy compilation are now taken into consideration. If the > custom hints section suggests lazy compilatin we do so unless the module > consists of a single function. > > Bug: v8:9003 > Change-Id: Ibdc400453cee20d4d5c814733887b38fb675b220 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535827 > Commit-Queue: Frederik Gossen <frgossen@google.com> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60557} TBR=mstarzinger@chromium.org,clemensh@chromium.org,frgossen@google.com Change-Id: I18dd424fe8cf05f220f7498bb1ebe4b9fce7d240 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9003 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547668Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60558}
-
Frederik Gossen authored
Hints for lazy compilation are now taken into consideration. If the custom hints section suggests lazy compilatin we do so unless the module consists of a single function. Bug: v8:9003 Change-Id: Ibdc400453cee20d4d5c814733887b38fb675b220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535827 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60557}
-
- 27 Mar, 2019 1 commit
-
-
Sigurd Schneider authored
Bug: v8:9020 Change-Id: I3a939d65ec8468f034d4670d9b14a911e5ef5a61 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541044Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60492}
-
- 19 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
This makes it easier to publish them in batches. Function index and requested compilation tier are duplicated from the WasmCompilationUnit. R=titzer@chromium.org Bug: v8:8916 Change-Id: I87852670be029b1d729f98f01729362ca379fb50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1529009Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60325}
-
- 14 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
Compilation only stores whether an error has been found, but not the exact error or it's location. This is generated by running a validation pass once all wire bytes have been received. This unifies error messages by removing one more location where we generate compilation error messages, and makes it deterministic because a) we always report the error in the first failing function, and b) if names are present, the error message will always contain the function name. R=titzer@chromium.org Bug: chromium:926311, v8:8814 Change-Id: I79551b8bb73dcee503484de343a3ada60a6add4f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521112 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60242}
-
- 12 Mar, 2019 1 commit
-
-
Frederik Gossen authored
Added a new compilation unit for Wasm interpreter in order to make it a first-class tier in the future. Adapted Wasm interpreter usage to work with the new interface. The new compilation unit is currently not used. Change-Id: Ib9e1d0dc6ca1b03467cc43059f03ce153bb96400 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514734 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60183}
-
- 04 Feb, 2019 1 commit
-
-
Jakob Gruber authored
These offsets are now transported via CodeDesc. Bug: v8:8758 Change-Id: If7485c62878bc81a55c9b4ca8ce3578dab2376ce Reviewed-on: https://chromium-review.googlesource.com/c/1447717 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59315}
-
- 30 Jan, 2019 1 commit
-
-
Jakob Gruber authored
Bug: v8:8758 Change-Id: Ifd0c66f27ab5fb33032b243d3a33c0b797b9af17 Reviewed-on: https://chromium-review.googlesource.com/c/1442644 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59205}
-
- 29 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
During execution, the tier can be switch from Liftoff to TurboFan. We already handle this in some locations by getting the tier before execution, so that we later know which was the requested tier for that unit. In the case of the --wasm-tier-mask-for-testing flag, this accounting was not right because the tier was already switched in the constructor. This CL changes the compilation units to store both the requested and the executed tier explicitly, so we know which counter to decrement when the unit finishes. R=ahaas@chromium.org Bug: chromium:925671 Change-Id: I673463135e9b3ab17e40cfdfd5d3a526ad5a9b79 Reviewed-on: https://chromium-review.googlesource.com/c/1442639Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59168}
-
- 25 Jan, 2019 1 commit
-
-
Andreas Haas authored
Anyref parameters can exist across GC runs. Therefore the GC has to know where anyref parameters are on the stack so that it can mark them in its marking phase, and update them in the compaction phase. Already in a previous CL we grouped all anyref parameters so that they can be found more easily in a stack frame, see https://crrev.com/c/1371827. In this CL we implement the stack scanning itself. Note that anyref parameters are not scanned while iterating over the caller's frame (to which they actually belong), but while iterating over the callee's frame. The reason is that with tail-calls, only the callee knows how many tagged stack parameters (aka anyref parameters) there are. R=mstarzinger@chromium.org also-by=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I7a41ce11d06c0d420146fdb0bb8d5606f28824d7 Reviewed-on: https://chromium-review.googlesource.com/c/1424955 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59099}
-
- 24 Jan, 2019 1 commit
-
-
Daniel Bratell authored
After the v8:8689 "Split compilation in three stages" commit landed, WasmCompilationUnit::result_ was left dangling. In builds that noticed this (in particular certain jumbo builds), the -Wunused-private-field warning triggered which broke the build. Bug: v8:8689 Change-Id: Iafc56b3dc6bb53e2e8417cabce540c2fcfd3431a Reviewed-on: https://chromium-review.googlesource.com/c/1433780 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59059}
-
- 21 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
This is a reland of 4e1d7c87. Failure on arm and arm64 is fixed by https://crrev.com/c/1411885. Original change's description: > [wasm] Split compilation in three stages > > In order to refactor ownership between objects in wasm compilation, the > compilation (executed by background tasks) is split in three stages: > getting a compilation unit (while holding a mutex), executing the work > (without any mutex and without keeping the NativeModule alive), and > submitting the work (with a mutex again). > > This CL prepares this design by splitting compilation from submission. > Both steps are still executed right after each other. This will be > changed in a follow-up CL. > > R=titzer@chromium.org > CC=mstarzinger@chromium.org > > Bug: v8:8689 > Change-Id: I2f92aee8e2f2d45470d8c63314ed026341630902 > Reviewed-on: https://chromium-review.googlesource.com/c/1414920 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58929} TBR=titzer@chromium.org Bug: v8:8689 Change-Id: I58ff07d0e0ac8df0f6ee23c416f992954f4673d2 Reviewed-on: https://chromium-review.googlesource.com/c/1422748Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58959}
-
- 18 Jan, 2019 3 commits
-
-
Michael Achenbach authored
This reverts commit 4e1d7c87. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/14986 Original change's description: > [wasm] Split compilation in three stages > > In order to refactor ownership between objects in wasm compilation, the > compilation (executed by background tasks) is split in three stages: > getting a compilation unit (while holding a mutex), executing the work > (without any mutex and without keeping the NativeModule alive), and > submitting the work (with a mutex again). > > This CL prepares this design by splitting compilation from submission. > Both steps are still executed right after each other. This will be > changed in a follow-up CL. > > R=titzer@chromium.org > CC=mstarzinger@chromium.org > > Bug: v8:8689 > Change-Id: I2f92aee8e2f2d45470d8c63314ed026341630902 > Reviewed-on: https://chromium-review.googlesource.com/c/1414920 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58929} TBR=titzer@chromium.org,clemensh@chromium.org Change-Id: Ic3d0287b354ef5f834b76bc2cdc096d2231f4477 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8689 Reviewed-on: https://chromium-review.googlesource.com/c/1422917Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58932}
-
Clemens Hammacher authored
In order to refactor ownership between objects in wasm compilation, the compilation (executed by background tasks) is split in three stages: getting a compilation unit (while holding a mutex), executing the work (without any mutex and without keeping the NativeModule alive), and submitting the work (with a mutex again). This CL prepares this design by splitting compilation from submission. Both steps are still executed right after each other. This will be changed in a follow-up CL. R=titzer@chromium.org CC=mstarzinger@chromium.org Bug: v8:8689 Change-Id: I2f92aee8e2f2d45470d8c63314ed026341630902 Reviewed-on: https://chromium-review.googlesource.com/c/1414920Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58929}
-
Clemens Hammacher authored
It does exactly the same as GetWireBytesStorage. Also change the WasmCompilationUnit::ExecuteCompilation method to receive a reference to the shared_ptr, since it does not take (shared) ownership. This saves one ref count increment and decrement. R=titzer@chromium.org Bug: v8:8689 Change-Id: I03c3ec5f907c738c73e0dc16646d78ecac3f3717 Reviewed-on: https://chromium-review.googlesource.com/c/1417632 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58908}
-
- 14 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Instead, pass it as a parameter to the compilation. This makes compilation units slimmer with the end goal of them being just the function index and execution tier. It also makes ownership handling of the NativeModule easier. R=titzer@chromium.org Bug: v8:8343, v8:7921 Change-Id: I0522c894569c71d8b7245f5ed5612ab2a249e1ad Reviewed-on: https://chromium-review.googlesource.com/c/1406668Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58776}
-
- 12 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
Compilation failures are already stored in the {CompilationState}. We never use the information which individual compilation unit failed. Hence remove that getter, and only check for failure of the overall compilation. R=ahaas@chromium.org Bug: v8:7921, v8:8343 Change-Id: Ibf90be233c9ff576ec8a3413ba5abefe2fdb645e Reviewed-on: https://chromium-review.googlesource.com/c/1373783Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58195}
-
- 14 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
Variables of type {ExecutionTier} should be called "tier", not "mode". R=ahaas@chromium.org Bug: v8:8238 Change-Id: I09c640398ab8ad34ac6591d42ea7b0f9ba83d620 Reviewed-on: https://chromium-review.googlesource.com/c/1335688Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57502}
-
- 07 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
Compilation units currently contain pointers into allocated space that contains the code of the respective function. This requires us to keep the StreamingDecoder alive as long as compilation is still running (including tiering). This CL refactors this by having an additional redirection (WireBytesStorage) which can point to either the StreamingDecoder or the NativeModule. We only keep the code section buffer alive as long as the StreamingWireBytesStorage is still in use. I will further refactor memory ownership in a follow-up CL to not make the AsyncCompileJob keep the StreamingDecoder alive. R=ahaas@chromium.org Bug: v8:8343,v8:7921,v8:8050 Change-Id: I780582c3217abf64000454f2c9c108b9ac9fbff1 Reviewed-on: https://chromium-review.googlesource.com/c/1319588Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57317}
-
- 30 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
This is a reland of bf3d7b9a Original change's description: > [wasm] Store compile errors in CompilationState > > We are currently storing compilation errors in the individual > compilation units and pass it to the ErrorThrower during finishing. > This CL changes that to store errors on the CompilationState directly. > From there, it is propagated to the ErrorThrower in the compilation > state callback. > This removes more work from the finisher task and slims down the > WasmCompilationUnits. > > R=mstarzinger@chromium.org > > Bug: v8:8343, v8:7921 > Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9 > Reviewed-on: https://chromium-review.googlesource.com/c/1303720 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57091} Bug: v8:8343, v8:7921 Change-Id: Iaa5c89d224cb2bcfca2d12eba305413a9ad95618 Reviewed-on: https://chromium-review.googlesource.com/c/1304547 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57126}
-
- 29 Oct, 2018 3 commits
-
-
Maya Lekova authored
This reverts commit bf3d7b9a. Reason for revert: Breaks TSAN build, see https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/23248 Original change's description: > [wasm] Store compile errors in CompilationState > > We are currently storing compilation errors in the individual > compilation units and pass it to the ErrorThrower during finishing. > This CL changes that to store errors on the CompilationState directly. > From there, it is propagated to the ErrorThrower in the compilation > state callback. > This removes more work from the finisher task and slims down the > WasmCompilationUnits. > > R=mstarzinger@chromium.org > > Bug: v8:8343, v8:7921 > Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9 > Reviewed-on: https://chromium-review.googlesource.com/c/1303720 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57091} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: Id32c7337494a4749485adbcfcaae7b2331afea66 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8343, v8:7921 Reviewed-on: https://chromium-review.googlesource.com/c/1304544Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#57094}
-
Clemens Hammacher authored
We are currently storing compilation errors in the individual compilation units and pass it to the ErrorThrower during finishing. This CL changes that to store errors on the CompilationState directly. From there, it is propagated to the ErrorThrower in the compilation state callback. This removes more work from the finisher task and slims down the WasmCompilationUnits. R=mstarzinger@chromium.org Bug: v8:8343, v8:7921 Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9 Reviewed-on: https://chromium-review.googlesource.com/c/1303720Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57091}
-
Clemens Hammacher authored
The Counters are not specific to compilation units, they just happen to be used in WasmCompilationUnit::ExecuteCompilation. Remove it from the compilation unit and pass it explicitly where needed. This saves another field on the compilation units. R=titzer@chromium.org Bug: v8:8343 Change-Id: Iad4fd8ae23b022c237535503e0e805db7e67071a Reviewed-on: https://chromium-review.googlesource.com/c/1304297 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57083}
-