- 28 Jul, 2020 1 commit
-
-
evih authored
This generic wrapper builtin is currently used only when the wasm function has no parameters and no return value. Added a new V8 flag to use this generic wrapper. Also added a JS test function for this generic wrapper. Bug: v8:10701 Change-Id: Id8cd1771f26922927363b715d8a6ffd384a143ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307240Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69097}
-
- 26 May, 2020 1 commit
-
-
Ng Zhi An authored
Making them private was a way to hide the constructor, we can explicitly delete them, which give a better compilation error message as well. Also see: https://stackoverflow.com/q/55205874 Bug: v8:10488 Change-Id: I9268f42b9367cc1af4d58e71e2033c254ed4cbf7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2210777Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67988}
-
- 06 May, 2020 1 commit
-
-
Clemens Backes authored
Interpreter entry compilation was removed in https://crrev.com/c/2172962. This CL removes the {WasmInterpreterEntryFrame} and the corresponding {WASM_INTERPRETER_ENTRY} code kind. Some follow-up cleanups are left as TODOs. R=jkummerow@chromium.org,bmeurer@chromium.org Bug: v8:10389 Change-Id: I1a43eba1ac1a751e05990c688088d99fc901231f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182456Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67607}
-
- 14 Apr, 2020 2 commits
-
-
Clemens Backes authored
This adds a flag to {WasmCode} objects to store whether this code was generated for debugging. This flag can be set for Liftoff code (in which case the code will e.g. have an extended prologue for debugging), but it can also be set for TurboFan, in case Liftoff bailed out when producing the debugging code. Having this flag allows us to remove the hack to pass the compilation results to {OnFinishedUnits} just to check whether we actually wanted to compile Liftoff functions. Drive-by: Replace the {ReachedRecompilationTierField} by a {MissingRecompilationField}, because all we need to know is if we are still waiting for that function to get recompiled. R=ahaas@chromium.org Bug: v8:10330,v8:10410 Change-Id: Ia023df8955a60d9f5595a6cb2737e14d83baf716 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2142259 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67119}
-
Clemens Backes authored
Before the "debug" flag was stored on the {CompilationEnv}. But each background compilation task only gets the {CompilationEnv} once when starting compilation, so by the time it picks up the "Liftoff for debugging" compilation jobs, it might still compile them without the debug flag being set. This leads to flakes in the "debug-step-into-wasm" test, because we won't stop in the function prologue when stepping in (because the function prologue does not check the "hook on function call" flag if debug mode was not enabled). This CL does not increase the size of a compilation unit, since both the tier and the debug flag only need a single byte each. As a nice side effect, this change allows us to remove the lock in {CreateCompilationEnv}, because no modifyable flag is read any more. R=thibaudm@chromium.org Bug: v8:10410 Change-Id: Ic296ea0c4dd1d4dedde119f0536e87e5d301b5a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144116Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67115}
-
- 05 Mar, 2020 3 commits
-
-
Clemens Backes authored
This is a reland of 79398ab0 Original change's description: > [wasm] Further reduce the size of WasmCode > > Also, save dynamic allocations (plus their memory overhead). > This is realized by storing the relocation information, source position > table, and protected instruction information together in one "metadata" > byte array. > For each of the three components, we just store their size, such that > the accessors can return the respecitive {Vector} views as before. > > This makes each WasmCode object 24 bytes smaller on 64-bit > architectures. It also saves a few more bytes per code object because > less padding is needed for the individual allocations, and each dynamic > allocation comes with some constant memory overhead. > > Since the protected instructions will just be stored in a byte array > now, some APIs are refactored to just return that byte array directly > (instead of an array of {ProtectedInstructionData}). This also > simplifies serialization and deserialization, and will allow for > switching to a more compact representation in the future. > > Drive-by: Add some more checks to {Vector::cast} to protect against > undefined behaviour. > > R=ahaas@chromium.org > > Bug: v8:10254 > Change-Id: I81ca847023841110e3e52cc402fcb0349325d7af > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2078545 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66596} Tbr: ahaas@chromium.org Bug: v8:10254 Change-Id: Idcdcb4f13c3eb7a3f7fb5ef8a1229103ca0ae975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089934Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66598}
-
Clemens Backes authored
This reverts commit 79398ab0. Reason for revert: Makes UBSan unhappy: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10186 Original change's description: > [wasm] Further reduce the size of WasmCode > > Also, save dynamic allocations (plus their memory overhead). > This is realized by storing the relocation information, source position > table, and protected instruction information together in one "metadata" > byte array. > For each of the three components, we just store their size, such that > the accessors can return the respecitive {Vector} views as before. > > This makes each WasmCode object 24 bytes smaller on 64-bit > architectures. It also saves a few more bytes per code object because > less padding is needed for the individual allocations, and each dynamic > allocation comes with some constant memory overhead. > > Since the protected instructions will just be stored in a byte array > now, some APIs are refactored to just return that byte array directly > (instead of an array of {ProtectedInstructionData}). This also > simplifies serialization and deserialization, and will allow for > switching to a more compact representation in the future. > > Drive-by: Add some more checks to {Vector::cast} to protect against > undefined behaviour. > > R=ahaas@chromium.org > > Bug: v8:10254 > Change-Id: I81ca847023841110e3e52cc402fcb0349325d7af > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2078545 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66596} TBR=jkummerow@chromium.org,ahaas@chromium.org,clemensb@chromium.org,tebbi@chromium.org Change-Id: Id80aa82cfce8942879031032b322ee66855b5600 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10254 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089933Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66597}
-
Clemens Backes authored
Also, save dynamic allocations (plus their memory overhead). This is realized by storing the relocation information, source position table, and protected instruction information together in one "metadata" byte array. For each of the three components, we just store their size, such that the accessors can return the respecitive {Vector} views as before. This makes each WasmCode object 24 bytes smaller on 64-bit architectures. It also saves a few more bytes per code object because less padding is needed for the individual allocations, and each dynamic allocation comes with some constant memory overhead. Since the protected instructions will just be stored in a byte array now, some APIs are refactored to just return that byte array directly (instead of an array of {ProtectedInstructionData}). This also simplifies serialization and deserialization, and will allow for switching to a more compact representation in the future. Drive-by: Add some more checks to {Vector::cast} to protect against undefined behaviour. R=ahaas@chromium.org Bug: v8:10254 Change-Id: I81ca847023841110e3e52cc402fcb0349325d7af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2078545Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66596}
-
- 27 Feb, 2020 1 commit
-
-
Clemens Backes authored
Most function signatures are created once and never changed. Hence pass them as const pointer. This makes it clear in function signatures that these parameters will not be modified. This also avoids a few ugly const_casts where we were passing pointers to constexpr FunctionSigs via non-const pointers. R=jkummerow@chromium.org Bug: v8:10155 Change-Id: Ieb658ab5582bff276f76babdaf7ddb8f72bd4790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072739Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66478}
-
- 26 Feb, 2020 1 commit
-
-
Clemens Backes authored
This is a first step to make {WasmCode} objects smaller. Many code offsets are currently stored in {size_t} even though there were originally (during assembly) an int. Others are stored in {uint32_t}. This CL switches the function index and all code lengths and offsets to int, because a) bigger code is not supported anyway, and b) the style guide recommends int over unsigned types. This makes the {WasmCode} 24 bytes smaller on x64 (from 144 to 120 bytes). R=ahaas@chromium.org Bug: v8:10254 Change-Id: I8f78bf4be64d59cf9393e3b6662d9d3bd153d387 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074217Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66462}
-
- 09 Jan, 2020 1 commit
-
-
Clemens Backes authored
If --no-liftoff is passed, we should never compile with Liftoff, independent of the --wasm-tier-up flag. The current logic hard-coded Liftoff as baseline tier and TurboFan as top tier for the tiering case. Drive-by: Remove unused {default_tier_} field from {CompilationUnitBuilder}. R=ahaas@chromium.org Bug: chromium:1040061 Change-Id: I65bc5e4aad85396e3b952b41cfe1150f6cd29890 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992439Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65662}
-
- 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}
-