- 13 Nov, 2019 1 commit
-
-
Clemens Backes authored
Instead of always using {AssemblerBase::kMinimalBufferSize}, this CL computes the expected code size per function compiled with Liftoff, and uses that size to allocate the initial assembler buffer. This saves reallocations especially for big functions. R=jkummerow@chromium.org Change-Id: I0031033c6be986f9d0d7bb10db0d213669044603 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1910951Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64938}
-
- 13 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
- 30 Jul, 2019 1 commit
-
-
Thibaud Michaud authored
Revert reason should be fixed with this CL: https://chromium-review.googlesource.com/c/v8/v8/+/1722554 The underlying problem was the isolate being accessed from the background compilation thread. Other known places where the isolate was used have also been fixed in these CLs: https://chromium-review.googlesource.com/c/v8/v8/+/1722555 https://chromium-review.googlesource.com/c/v8/v8/+/1722559 https://chromium-review.googlesource.com/c/v8/v8/+/1722556 Original CL: > Reland "[wasm] Compile JS to WASM wrappers asynchronously" > > Original CL had an issue with builtins being accessed through the > isolate after the isolate died. See: > https://ci.chromium.org/p/v8/builders/try.triggered/v8_win64_rel_ng_triggered/b8907837534672203296 > > Initial upload is the original CL and the following patch sets will > attempt to fix it. > > 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 > > Bug: v8:9231 > Change-Id: I1b01d5d2b9f728d6f6a90fe9b642f5ba3bf686eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708485 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62918} R=mstarzinger@chromium.org Bug: v8:9231, v8:9554 Change-Id: I40443e7228eb26d6669e826e96073b20fa038c15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1725619Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#62985}
-
- 29 Jul, 2019 2 commits
-
-
Thibaud Michaud authored
Prefer using the wasm engine's allocator, as the isolate may not be available during asynchronous compilation. Bug: v8:9554 Change-Id: Iee3777efb62d18de6b2a64fa7a71d4ef4c6b3a92 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722559 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62955}
-
Thibaud Michaud authored
In export wrapper compilation, the isolate was used to get enabled features. This prevents asynchronous compilation, so this is replaced with an enabled_features argument passed from the main thread. R=mstarzinger@chromium.org Bug: v8:9554 Change-Id: Iab8a090841170dc235273dda58997cde716ee13f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722554Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#62949}
-
- 25 Jul, 2019 2 commits
-
-
Zhi An Ng authored
This reverts commit 801930f5. Reason for revert: blink layout tests failure https://bugs.chromium.org/p/v8/issues/detail?id=9554 Original change's description: > Reland "[wasm] Compile JS to WASM wrappers asynchronously" > > Original CL had an issue with builtins being accessed through the > isolate after the isolate died. See: > https://ci.chromium.org/p/v8/builders/try.triggered/v8_win64_rel_ng_triggered/b8907837534672203296 > > Initial upload is the original CL and the following patch sets will > attempt to fix it. > > 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 > > Bug: v8:9231 > Change-Id: I1b01d5d2b9f728d6f6a90fe9b642f5ba3bf686eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708485 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62918} TBR=mstarzinger@chromium.org,thibaudm@chromium.org Change-Id: I3a6829692614c44bacb764ef02723e61a3d61763 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9231 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1719231Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#62927}
-
Thibaud Michaud authored
Original CL had an issue with builtins being accessed through the isolate after the isolate died. See: https://ci.chromium.org/p/v8/builders/try.triggered/v8_win64_rel_ng_triggered/b8907837534672203296 Initial upload is the original CL and the following patch sets will attempt to fix it. 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 Bug: v8:9231 Change-Id: I1b01d5d2b9f728d6f6a90fe9b642f5ba3bf686eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708485 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62918}
-
- 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}
-