- 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}
-
- 21 May, 2019 2 commits
-
-
Clemens Hammacher authored
When tracing function compilations, do also trace the function index and the function body size. This information often helps investigating bottlenecks in compilation. R=ahaas@chromium.org Bug: v8:8916, chromium:950493 Change-Id: Ibabd1b59827b67ac9b0ef3a78f121ab8fb2c4e09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622111Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61701}
-
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}
-
- 20 May, 2019 1 commit
-
-
Yang Guo authored
TBR=verwaest@chromium.org,rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Bug: v8:9247 Change-Id: I9ddfb6e56ca8e47c4ac186a8df5f442d26420a69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617661 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61642}
-
- 17 May, 2019 2 commits
-
-
Yang Guo authored
This reverts commit 5f285395. Reason for revert: presubmit failure Original change's description: > Move logging and diagnostics related source files > > This also introduces a COMMON_OWNERS file, which is derived from the > current top-level OWNERS file. It is to be used for parts of the > codebase that is not sensitive to domain-specific expertise. > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61600} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I3827c3af4fd63b18aa48c49617f318a01746e813 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617247Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61601}
-
Yang Guo authored
This also introduces a COMMON_OWNERS file, which is derived from the current top-level OWNERS file. It is to be used for parts of the codebase that is not sensitive to domain-specific expertise. NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61600}
-
- 29 Apr, 2019 4 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
Our {Vector} template provides both {start} and {begin} methods. They return exactly the same value. Since the {begin} method is needed for iteration, and is also what standard containers provide, this CL switches all uses of the {start} method to use {begin} instead. Patchset 1 was auto-generated by using this clang AST matcher: callExpr( callee( cxxMethodDecl( hasName("start"), ofClass(hasName("v8::internal::Vector"))) ), argumentCountIs(0)) Patchset 2 was created by running clang-format. Patchset 3 then removes the now unused {Vector::start} method. R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org Bug: v8:9183 Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61081}
-
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}
-
- 12 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
For synchronous compilation, the foreground thread takes part in compilation. It should only compile Liftoff functions though, otherwise it might unnecessarily delay initial compilation by executing expensive TurboFan units. Drive-by: Minor refactoring to avoid else after return. R=mstarzinger@chromium.org Bug: v8:8916 Change-Id: Ibf994a9a48417943652f13096419afd73cb59f85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564192 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60800}
-
- 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}
-
- 03 Apr, 2019 1 commit
-
-
Frederik Gossen authored
Merged WasmCode::Tier into Execution Tier. Bug: v8:9003 Change-Id: I0ad439b8bc060f73e71d60ab9c93dd6bc18d05fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547852 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60610}
-
- 02 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
This CL adds all the necessary {WasmCodeRefScope}s in the code base, or at least a good approximation. A follow-up CL will enable a check that a {WasmCodeRefScope} exists whenever a pointer to a {WasmCode} object is returned from the {NativeModule}. This should flush out any missing scopes. R=titzer@chromium.org Bug: v8:8217 Change-Id: I54c7eb39aeb1acde38273c399396e6b1390a4cb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533860 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60566}
-
- 20 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
This prepares a refactoring to add and publish compilation results in batches. For this, we need to separate the two phases, so that we can lock the module, allocate all the code space, release the lock, copy the code, lock the module, publish the code, and release the lock again. In particular, this CL does the following: 1) It removes the {AddOwnedCode} method. The functionality of creating the {WasmCode} and memcpy'ing the instruction into that is done in the other {Add*Code} methods. Adding to {owned_code_} is done in {PublishCode}. 2) {PublishInterpreterEntry} is now functionally equivalent to {PublishCode}, so it's removed. 3) After {AddCode}, the caller has to call {PublishCode}. In a follow-up CL, this will be called in batches (first {AddCode} them all, then {PublishCode} them all). 4) {AddCompiledCode} now assumes that the {WasmCompilationResult} succeeded. Otherwise, the caller should directly call {SetError} on the {CompilationState}. 5) {PublishCode} is now the chokepoint for installing code to the code table, the owned code vector, the jump table, and setting interpreter redirections. It replaces previous direct calls to {InstallCode} or explicitly adding to {owned_code_}. 6) Increasing the {generated_code_size_} counter is now done in {AllocateForCode}, which is the chokepoint for allocating space for generated code. This way, we will only increase this counter once once we allocate in batches. R=titzer@chromium.org Bug: v8:8916 Change-Id: I71e02e3a838f21797915cee3ebd373804fb12237 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530817 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60369}
-
- 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 2 commits
-
-
Frederik Gossen authored
Enabled Wasm interpreter as first-class tier. Depending on the flag {--wasm-interpret-all} the interpreter is the default and only tier used to run Wasm modules. Change-Id: I9ffa333f7138437e646dee2113f06c1676bac331 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516292 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60190}
-
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}
-
- 27 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
A small refactoring to reduce complexity. It also moves the call to {RegisterTrapHandlerData} out of the mutex to reduce the time in this critical section. R=mstarzinger@chromium.org Bug: v8:8916 Change-Id: I644f03db6099ebef22b2e33b607a2dc038b36423 Reviewed-on: https://chromium-review.googlesource.com/c/1478196 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59907}
-
- 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
This is an initial step towards clarifying the layout of the instruction area. As follow-ups, we should remove additional safepoint and handler table offset parameters, and perhaps alter Code::safepoint_table_offset (handler_table) semantics to always contain a real offset and avoid the magic 0 signifying nonexistent tables. Bug: v8:8758 Change-Id: I9f54629ff3ddad69904b0e1ce2a58e047397aa15 Reviewed-on: https://chromium-review.googlesource.com/c/1434036 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@{#59202}
-
- 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}
-
- 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}
-
- 19 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
So far, we always finished the baseline units before finishing any tiering unit. This will be refactored to finish all units from the background threads, so the finishing can happen in any order. Thus refactor the counters to count both separately, and trigger the right events. R=ahaas@chromium.org Bug: v8:7921 Change-Id: Ia2d8ab3f70f9bc3406eff428da5d22580558887b Reviewed-on: https://chromium-review.googlesource.com/c/1333669 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#57608}
-
- 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}
-
- 24 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
For implementing wasm GC we need to revisit all places where we hold WasmCode*. This CL reduces these places. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I869e3c1817a3b9a24ab6aa281c0688bdf890dd33 Reviewed-on: https://chromium-review.googlesource.com/c/1297951Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56942}
-
- 23 Oct, 2018 2 commits
-
-
Clemens Hammacher authored
R=mstarzinger@chromium.org Bug: v8:8238 Change-Id: I93c9d2a643731766f15f4db1bf7647a85488a6d0 Reviewed-on: https://chromium-review.googlesource.com/c/1296454Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56906}
-
Clemens Hammacher authored
Instead, create it when needed and pass it down to the actual compilation. This saves memory by making the WasmCompilationUnit smaller and will eventually allow us to implement the trap handler fallback correctly by using an updated ModuleEnv in background compilation and tier up. R=mstarzinger@chromium.org Bug: v8:5277, v8:8343 Change-Id: I0dc3a37fb88e54eb4822dc99d58ff024f4b2a367 Reviewed-on: https://chromium-review.googlesource.com/c/1293953 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56896}
-