- 06 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
Creating the LogCodesTask and adding the code objects to it adds 10-20% to Liftoff compilation time. Thus cache whether code logging is needed per isolate, and avoid the overhead if that flag is false. R=mstarzinger@chromium.org Bug: v8:8783, chromium:928722 Change-Id: I059266da3309a4b1ed316016d0a55fa34f139057 Reviewed-on: https://chromium-review.googlesource.com/c/1454484 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59400}
-
- 01 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
This is a reland of ac2fb66b. Crashes were fixed in https://crrev.com/c/1429862. Original change's description: > [wasm] Remove finisher task > > This removes the finisher task and instead finishes compilation units > from the background. > It also changes ownership of the AsyncCompileJob to be shared among all > tasks that still operate on it. The AsyncCompileJob dies when the last > reference dies. > > R=ahaas@chromium.org > CC=mstarzinger@chromium.org > > Bug: v8:7921, v8:8423 > Change-Id: Id09378327dfc146459ef41bc97176a8716756ae4 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel > Reviewed-on: https://chromium-review.googlesource.com/c/1335553 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58630} Bug: v8:7921, v8:8423 Change-Id: I3dcee4e8e56d2a524d302af91b5cb4a7a9ceb8ce Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1400781 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59302}
-
- 25 Jan, 2019 2 commits
-
-
Clemens Hammacher authored
The compilation state should have no notion of Isolates. Move code logging and management of the corresponding foreground task to the WasmEngine. R=mstarzinger@chromium.org Bug: v8:8689 Change-Id: Ib690317139d0754731b9f0e71d06e7a722082eed Reviewed-on: https://chromium-review.googlesource.com/c/1434035 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59093}
-
Clemens Hammacher authored
The WasmCodeManager held a list of all Isolates that use the WasmEngine/WasmCodeManager (those two are 1:1). Since we want to move all isolate-specific tasks (like code logging and compilation callbacks) to the WasmEngine, this CL moves this management from the WasmCodeManager to the WasmEngine. We now have a bidirectional mapping from NativeModules to the Isolates that use them, and from an Isolate to all the NativeModules it uses (n:n). The IsolateData struct will be extended in follow-up CLs to hold things like the ForegroundTaskRunner. The Isolate* in the NativeModule / CompilationState will eventually be removed. R=mstarzinger@chromium.org Bug: v8:8689 Change-Id: Ic2c003c3949f73ce3264dd9dac96884a5c0b9896 Reviewed-on: https://chromium-review.googlesource.com/c/1433793 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59092}
-
- 23 Jan, 2019 3 commits
-
-
Clemens Hammacher authored
This is a reland of 92d9b09c. Patch unchanged, errors fixed by https://crrev.com/c/1430059. Original change's description: > [wasm] Decouple background compile jobs from NativeModule > > Background compile jobs should not keep the NativeModule alive, for two > reasons: > 1) We sometimes have to wait for background compilation to finish (from > a foreground task!). This introduces unnecessary latency. > 2) Giving the background compile tasks shared ownership of the > NativeModule causes the NativeModule (and the CompilationState) to > be freed from background tasks, which is error-prone (see > https://crrev.com/c/1400420). > > Instead, this CL introduces a BackgroundCompileToken which is held > alive by the NativeModule and all background compile jobs. The initial > and the final phase of compilation (getting and submitting work) > synchronize on this token to check and ensure that the NativeModule is > and stays alive. During compilation itself, the mutex is released, such > that the NativeModule can die. > The destructor of the NativeModule cancels the BackgroundCompileToken. > Immediately afterwards, the NativeModule and the CompilationState can > die. > > This change allows to remove two hacks introduced previously: The atomic > {aborted_} flag and the {FreeCallbacksTask}. > > R=mstarzinger@chromium.org > CC=titzer@chromium.org > > Bug: v8:8689, v8:7921 > Change-Id: I42e06eab3c944b0988286f2ce18e3c294535dfb6 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel > Reviewed-on: https://chromium-review.googlesource.com/c/1421364 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59020} TBR=mstarzinger@chromium.org Bug: v8:8689, v8:7921 Change-Id: Iead972ef77c8503da7246cab48e7693b176d8f02 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1429862Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59035}
-
Clemens Hammacher authored
This reverts commit 92d9b09c. Reason for revert: Crashes on several bots, e.g. https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20UBSan/4237 Original change's description: > [wasm] Decouple background compile jobs from NativeModule > > Background compile jobs should not keep the NativeModule alive, for two > reasons: > 1) We sometimes have to wait for background compilation to finish (from > a foreground task!). This introduces unnecessary latency. > 2) Giving the background compile tasks shared ownership of the > NativeModule causes the NativeModule (and the CompilationState) to > be freed from background tasks, which is error-prone (see > https://crrev.com/c/1400420). > > Instead, this CL introduces a BackgroundCompileToken which is held > alive by the NativeModule and all background compile jobs. The initial > and the final phase of compilation (getting and submitting work) > synchronize on this token to check and ensure that the NativeModule is > and stays alive. During compilation itself, the mutex is released, such > that the NativeModule can die. > The destructor of the NativeModule cancels the BackgroundCompileToken. > Immediately afterwards, the NativeModule and the CompilationState can > die. > > This change allows to remove two hacks introduced previously: The atomic > {aborted_} flag and the {FreeCallbacksTask}. > > R=mstarzinger@chromium.org > CC=titzer@chromium.org > > Bug: v8:8689, v8:7921 > Change-Id: I42e06eab3c944b0988286f2ce18e3c294535dfb6 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel > Reviewed-on: https://chromium-review.googlesource.com/c/1421364 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59020} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I724f460f5aa654a9e75d3ce73d351214e69e2d96 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8689, v8:7921 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1429861Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59022}
-
Clemens Hammacher authored
Background compile jobs should not keep the NativeModule alive, for two reasons: 1) We sometimes have to wait for background compilation to finish (from a foreground task!). This introduces unnecessary latency. 2) Giving the background compile tasks shared ownership of the NativeModule causes the NativeModule (and the CompilationState) to be freed from background tasks, which is error-prone (see https://crrev.com/c/1400420). Instead, this CL introduces a BackgroundCompileToken which is held alive by the NativeModule and all background compile jobs. The initial and the final phase of compilation (getting and submitting work) synchronize on this token to check and ensure that the NativeModule is and stays alive. During compilation itself, the mutex is released, such that the NativeModule can die. The destructor of the NativeModule cancels the BackgroundCompileToken. Immediately afterwards, the NativeModule and the CompilationState can die. This change allows to remove two hacks introduced previously: The atomic {aborted_} flag and the {FreeCallbacksTask}. R=mstarzinger@chromium.org CC=titzer@chromium.org Bug: v8:8689, v8:7921 Change-Id: I42e06eab3c944b0988286f2ce18e3c294535dfb6 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1421364 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59020}
-
- 08 Jan, 2019 2 commits
-
-
Michael Achenbach authored
This reverts commit ac2fb66b. Reason for revert: Flakily crashes on several bots: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win32/18524 https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win64%20-%20msvc/6824 https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20-%20internal%20snapshot/19766 Original change's description: > [wasm] Remove finisher task > > This removes the finisher task and instead finishes compilation units > from the background. > It also changes ownership of the AsyncCompileJob to be shared among all > tasks that still operate on it. The AsyncCompileJob dies when the last > reference dies. > > R=ahaas@chromium.org > CC=mstarzinger@chromium.org > > Bug: v8:7921, v8:8423 > Change-Id: Id09378327dfc146459ef41bc97176a8716756ae4 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel > Reviewed-on: https://chromium-review.googlesource.com/c/1335553 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58630} TBR=ahaas@chromium.org,clemensh@chromium.org Change-Id: I6b332b66adaec8f713fb31f4c8517cae7ebb4645 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7921, v8:8423 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1400420Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58634}
-
Clemens Hammacher authored
This removes the finisher task and instead finishes compilation units from the background. It also changes ownership of the AsyncCompileJob to be shared among all tasks that still operate on it. The AsyncCompileJob dies when the last reference dies. R=ahaas@chromium.org CC=mstarzinger@chromium.org Bug: v8:7921, v8:8423 Change-Id: Id09378327dfc146459ef41bc97176a8716756ae4 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1335553Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58630}
-
- 26 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org Bug: v8:3770 Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb Reviewed-on: https://chromium-review.googlesource.com/c/1390116 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58470}
-
- 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}
-
- 21 Nov, 2018 1 commit
-
-
Ross McIlroy authored
Moves allocation of the WasmModuleObject for asm.js code out of SyncCompileTranslatedAsmJS since that is called when we are compiling the native context independent SharedFunctionInfo and the WasmModuleObject requires a native context. Instead save the members required to create the object in the AsmWasmData and create it during module instantiation. Note: since the Wasm module is an implementation detail for asm_wasm code and isn't exposed, this doeesn't have semantic change for asm.js code. As part of this change, the AsmWasmData is changed from a FixedArray to a dedicated struct. Some logic is also moved from module-compiler to wasm-engine to make the seperation between Wasm SyncCompile and AsmJS SyncCompile more clear. BUG=chromium:900535,v8:8395 Change-Id: Ia48469c095b0688f210aa86e7430c9ab4ea4b26b Reviewed-on: https://chromium-review.googlesource.com/c/1345509 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57704}
-
- 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 2 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}
-
- 23 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
This is to prepare larger refactorings that reduce the amount of information stored in the WasmCompilationUnits and avoid ever storing the ModuleEnv. Instead, we will generate it when needed. This will allow us to correctly switch from a trap-handler configuration to non-trap-handler. R=mstarzinger@chromium.org Bug: v8:8343, v8:5277 Change-Id: I383a8105448ccdcae1148ddfebd74db70c648ecf Reviewed-on: https://chromium-review.googlesource.com/c/1293951Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56893}
-
- 25 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
First step towards GC of wasm code: Introduce a link to all Isolates that use a WasmEngine. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: Ib7f4495e7c7e5cc9ad58293518c65738f23d664c Reviewed-on: https://chromium-review.googlesource.com/1240335 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56204}
-
- 18 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
The WasmMemoryTracker keeps track of reserved memory in order to avoid running out of virtual address space. So far, we were only tracking reservations for wasm memory, and not for code. This CL changes that to also include code reservations. Drive-by: Some cleanup around the allocation of the WasmCodeManager. R=titzer@chromium.org Bug: chromium:883639 Change-Id: I0c2586a742022ae00752132e048346d54e2a1a7c Reviewed-on: https://chromium-review.googlesource.com/1230134Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56001}
-
- 13 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: Ib3b6bdeb404ed6fe9c69107b4683a99c96dd8352 Reviewed-on: https://chromium-review.googlesource.com/1224053Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55866}
-
- 07 Sep, 2018 2 commits
-
-
Florian Sattler authored
Bug: v8:8015 Change-Id: If6017a85683efcc847dab8034fdd82ac51106317 Reviewed-on: https://chromium-review.googlesource.com/1213182Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55721}
-
Florian Sattler authored
Bug: v8:8015 Change-Id: I4e4892f49de69b8c6c3347de024708997825cb44 Reviewed-on: https://chromium-review.googlesource.com/1209848Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55704}
-
- 21 Aug, 2018 1 commit
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Change-Id: Iacdff28dd1383d77d7708de4ee22d9f2a77d872a Reviewed-on: https://chromium-review.googlesource.com/1183440 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55284}
-
- 17 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure that a tier-up from Ignition to TurboFan (or any other code publishing) preserves redirections to the Interpreter. Currently an interpreted function never switches back to compiled. R=titzer@chromium.org TEST=mjsunit/wasm/interpreter-mixed BUG=v8:7921,v8:8018 Change-Id: Ifca479953509708c998c11cc00b481c232678e00 Reviewed-on: https://chromium-review.googlesource.com/1179661 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55195}
-
- 14 Aug, 2018 1 commit
-
-
Andreas Haas authored
The problem was that in AsyncCompileJob::FinishModule we allocate a handle, but when this function is called from streaming compilation, then there was no HandleScope around AsyncCompileJob::FinishModule. This issue was fixed in another CL, https://crrev.com/c/1172357. This CL is just a rebase of the original CL. Original change's description: > [wasm] Implement the new API for WebAssembly.instantiateStreaming > This is the second V8 CL to refactor WebAssembly.instantiateStreaming to > make it spec compliant again. The design doc where the whole change is > discussed is available in the tracking bug. The tracking bug also > references prototype implementations of the whole change, which includes > the changes in this CL. R=starzinger@chromium.org Bug: chromium:860637 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib0cb25488654d2b325b4f529d33b76b846c64436 Reviewed-on: https://chromium-review.googlesource.com/1172429Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#55106}
-
- 13 Aug, 2018 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/1172285, abortion and deletion of an {AsyncCompileJob} is the same. Hence, remove the {AbortCompileJobsOnIsolate} method and replace all uses by {DeleteCompileJobsOnIsolate}. R=ahaas@chromium.org CC=mstarzinger@chromium.org Bug: chromium:869420 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I053dc47395a257066bbca55069d53445dc28eeb9 Reviewed-on: https://chromium-review.googlesource.com/1172288Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55092}
-
- 09 Aug, 2018 1 commit
-
-
Ben L. Titzer authored
This CL introduces a set of configuration options implemented as a struct of booleans that together comprise the set of enabled or detected features. The configuration options replace command-line flags that were checked deep in the implementation. As such, it is necessary to plumb them through multiple levels of abstraction. R=ahaas@chromium.org CC=mstarzinger@chromium.org BUG=chromium:868844 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I1b82f5826e4fd263f68e8cafcd923bac5818a637 Reviewed-on: https://chromium-review.googlesource.com/1163670Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55018}
-
- 02 Aug, 2018 1 commit
-
-
Andreas Haas authored
This reverts commit b556c9ea. Reason for revert: Flakes in layout tests: https://crbug.com/870187 Original change's description: > [wasm] Implement the new API for WebAssembly.instantiateStreaming > > This is the second V8 CL to refactor WebAssembly.instantiateStreaming to > make it spec compliant again. The design doc where the whole change is > discussed is available in the tracking bug. The tracking bug also > references prototype implementations of the whole change, which includes > the changes in this CL. > > R=mstarzinger@chromium.org > > Bug: chromium:860637 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I776c0f24959ab5663727d3dfee0248a9b0642a42 > Reviewed-on: https://chromium-review.googlesource.com/1143187 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54834} TBR=mstarzinger@chromium.org,ahaas@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:860637 Change-Id: Icbf2603143068a49c61de162aa7185a753703e5d Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1160261Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54872}
-
- 01 Aug, 2018 3 commits
-
-
Michael Starzinger authored
This changes the predicate in question to only check for async compile jobs belonging to a given Isolate, having an engine-wide predicate is not desirable for draining message queues. R=clemensh@chromium.org BUG=v8:7424 Change-Id: If990378400cc4484d413c4d7771ec6deb6bfd244 Reviewed-on: https://chromium-review.googlesource.com/1158565 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54844}
-
Clemens Hammacher authored
All compile tasks are already canceled when the {CompilationState} dies. This happens when the {NativeModule} dies, and all {NativeModule}s die before the {WasmEngine} dies. Thus, the WasmEngine does not need to cancel any compile jobs, because there are none anyway. R=mstarzinger@chromium.org Bug: chromium:869420 Change-Id: I7e006392a1f9126333733c81c4c19985f626a470 Reviewed-on: https://chromium-review.googlesource.com/1158411Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54840}
-
Andreas Haas authored
This is the second V8 CL to refactor WebAssembly.instantiateStreaming to make it spec compliant again. The design doc where the whole change is discussed is available in the tracking bug. The tracking bug also references prototype implementations of the whole change, which includes the changes in this CL. R=mstarzinger@chromium.org Bug: chromium:860637 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I776c0f24959ab5663727d3dfee0248a9b0642a42 Reviewed-on: https://chromium-review.googlesource.com/1143187 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54834}
-
- 31 Jul, 2018 2 commits
-
-
Michael Starzinger authored
R=ahaas@chromium.org TEST=cctest/test-wasm-shared-engine BUG=v8:7424 Change-Id: Idad7bcfe2734df7395c62ec56fb737e180035c76 Reviewed-on: https://chromium-review.googlesource.com/1152918 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54808}
-
Michael Starzinger authored
This avoids serializing and deserializing the sharable part of a module when it is transferred via {TransferrableModule}, which is possible when all Isolates run off the same engine via the --wasm-shared-engine flag. This adds a new --wasm-shared-code flag to enable this feature. R=ahaas@chromium.org BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I099d581d7ccc4d058a4646f545a011745fd84eb4 Reviewed-on: https://chromium-review.googlesource.com/1142144 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54806}
-
- 26 Jul, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=cctest/test-wasm-shared-engine BUG=v8:7424 Change-Id: I32510f33fb88c2f1a79864e6033d3aa53ad9fe48 Reviewed-on: https://chromium-review.googlesource.com/1150149 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54727}
-
- 25 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This flag allows to share a single WasmEngine among all Isolates within the same process. It will ultimately allow to share the WasmCode objects associated with modules that are transferred via structured cloning. R=clemensh@chromium.org TEST=mjsunit/wasm/worker-module BUG=v8:7424 Change-Id: I70d852d319b2a80bd02e0a2a838dcdfa071df6e1 Reviewed-on: https://chromium-review.googlesource.com/1138213 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54678}
-
- 16 Jul, 2018 3 commits
-
-
Michael Starzinger authored
This is a reland of b7f0951f Original change's description: > [wasm] Add a separate CodeTracer to the WasmEngine. > > This makes sure the TurboFan pipeline is independent of the Isolate by > getting the CodeTracer from the WasmEngine for WebAssembly compilations. > > R=clemensh@chromium.org > > Change-Id: I343af1a2bfaeff77e2f41ef0c53fbfe165e2e202 > Reviewed-on: https://chromium-review.googlesource.com/1134997 > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54455} Change-Id: I48b161b5f35dd388fd3ef299afe04214a666b5a6 Reviewed-on: https://chromium-review.googlesource.com/1138114 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54462}
-
Sigurd Schneider authored
This reverts commit b7f0951f. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/21517 Original change's description: > [wasm] Add a separate CodeTracer to the WasmEngine. > > This makes sure the TurboFan pipeline is independent of the Isolate by > getting the CodeTracer from the WasmEngine for WebAssembly compilations. > > R=clemensh@chromium.org > > Change-Id: I343af1a2bfaeff77e2f41ef0c53fbfe165e2e202 > Reviewed-on: https://chromium-review.googlesource.com/1134997 > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54455} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I5f69f12ab29dcb92e7b7f53632eb73a3abc1f6af No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1138113Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54459}
-
Michael Starzinger authored
This makes sure the TurboFan pipeline is independent of the Isolate by getting the CodeTracer from the WasmEngine for WebAssembly compilations. R=clemensh@chromium.org Change-Id: I343af1a2bfaeff77e2f41ef0c53fbfe165e2e202 Reviewed-on: https://chromium-review.googlesource.com/1134997 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54455}
-
- 10 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This gathers TurboFan compilation statistics for WebAssembly separately from the JavaScript statistics. It is a preparation to having multiple Isolates trigger TurboFan compilations in a shared engine. By adding compilation statistics to the engine, their lifetime is independent of any particular Isolate. R=ahaas@chromium.org Change-Id: I1bd0fbe6d6bde65ca813ccfd1154558ea6cddb07 Reviewed-on: https://chromium-review.googlesource.com/1131121 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54357}
-
- 09 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This adds an {AccountingAllocator} to the {WasmEngine}, separate from the allocator used per Isolate. It is in preparation of being able to share engines across multiple Isolates. For now we just add up the stats from both allocators until a public API for the engine becomes available. R=ahaas@chromium.org TEST=cctest/test-wasm-shared-engine/SharedEngineRunImported BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia915a1ae4aa7ebed27073b7b6bd067e31717a6ea Reviewed-on: https://chromium-review.googlesource.com/1127788 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54316}
-
- 28 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
We should only cancel asynchronous compilation jobs for the isolate which is being recycled. R=titzer@chromium.org Bug: chromium:854755 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I31d6c3ccb648f5465e52f4bc47c4261894458e60 Reviewed-on: https://chromium-review.googlesource.com/1118378Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54092}
-