- 14 Jun, 2022 1 commit
-
-
Andreas Haas authored
The native module cache makes it difficult to test deserialization, because the native module just gets loaded from the cache instead of deserializing the serialized module. This CL adds a new flag, --wasm-native-module-cache-enabled, to control whether the native module cache is enabled or not. The cache gets disabled by handling all modules like asm.js modules when the cache gets disabled, as the cache is not used for asm.js. The name of the flag is positive (i.e. `enabled` instead of `disabled`) to avoid double negation. The flag is true by default, and set to false in tests. R=thibaudm@chromium.org CC=clemensb@chromium.org Bug: v8:12964 Change-Id: If2b96a95ccf37f2eb8a868ad1661c3325c1048f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3703836 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#81132}
-
- 11 Jan, 2022 1 commit
-
-
Andreas Haas authored
The original CL introduced a test that does not work when it is executed concurrently on multiple isolates. This CL skips this test configuration. Original change's description: > [wasm] Lazy compilation after deserialization > > The serialization format contains one boolean flag per function which > specifies whether the function code exists in the serialized module or > not. With this CL, this boolean flag is extended to a three-value flag > which indicates whether the function exists, and if not, whether the > function was executed before serialization. This information can then be > used upon deserialization to compile only those functions that were > executed before serialization. > > Design doc: https://docs.google.com/document/d/1U3uqq4njqLqFhr1G2sU_bmpQxY-3bvfG55udSb-DvA4/edit?usp=sharing > > Bug: v8:12281 Change-Id: I36ce90b37736172aa01c47ab04e154ec8ea2d8aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3380590Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78564}
-
- 10 Jan, 2022 2 commits
-
-
Clemens Backes authored
This reverts commit fbcdb281. Reason for revert: New test fails for multiple (concurrent) isolates: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux/45152/overview Original change's description: > [wasm] Lazy compilation after deserialization > > The serialization format contains one boolean flag per function which > specifies whether the function code exists in the serialized module or > not. With this CL, this boolean flag is extended to a three-value flag > which indicates whether the function exists, and if not, whether the > function was executed before serialization. This information can then be > used upon deserialization to compile only those functions that were > executed before serialization. > > Design doc: https://docs.google.com/document/d/1U3uqq4njqLqFhr1G2sU_bmpQxY-3bvfG55udSb-DvA4/edit?usp=sharing > > Bug: v8:12281 > Change-Id: I465e31e5422fa45163256be0e6594045865f0174 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364089 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78545} Bug: v8:12281 Change-Id: If0e327d02e8257a4d1cfcf8b82381af11f28e91c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3377126 Auto-Submit: Clemens Backes <clemensb@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78546}
-
Andreas Haas authored
The serialization format contains one boolean flag per function which specifies whether the function code exists in the serialized module or not. With this CL, this boolean flag is extended to a three-value flag which indicates whether the function exists, and if not, whether the function was executed before serialization. This information can then be used upon deserialization to compile only those functions that were executed before serialization. Design doc: https://docs.google.com/document/d/1U3uqq4njqLqFhr1G2sU_bmpQxY-3bvfG55udSb-DvA4/edit?usp=sharing Bug: v8:12281 Change-Id: I465e31e5422fa45163256be0e6594045865f0174 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364089Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78545}
-
- 14 Dec, 2021 1 commit
-
-
Andreas Haas authored
R=jkummerow@chromium.org Bug: v8:12281 Change-Id: If00f34053bb970a71a1826010050b79557dbb381 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338259Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78371}
-
- 08 Dec, 2021 2 commits
-
-
Shu-yu Guo authored
This reverts commit cb9e8608. Reason for revert: Causing timeouts on Wasm tests on TSAN and also seems to cause some deadlock issue on shared isolate GC: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/6847/overview Original change's description: > [wasm] Add --wasm-dynamic-tiering to --future > > R=jkummerow@chromium.org > > Bug: v8:12281 > Change-Id: Ic1a2534aef4b6335c068636ee4e3aa10300fca53 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322767 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78309} Bug: v8:12281 Change-Id: Idf2bea0907daea645be922f0db776caa9dff07a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3325023 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78311}
-
Andreas Haas authored
R=jkummerow@chromium.org Bug: v8:12281 Change-Id: Ic1a2534aef4b6335c068636ee4e3aa10300fca53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322767Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78309}
-
- 04 Nov, 2021 1 commit
-
-
Andreas Haas authored
The wasm serialization format only contains TurboFan code. All other functions are only represented by placeholders. With this CL serialization fails if the serialized module does not contain any TurboFan functions and would therefore consist only of placeholders. This is a defense in depth approach, because ideally serialization only gets triggered when TurboFan code is available. However, in some scenarios like debugging it can happen that modules without TurboFan code get serialized. Bug: v8:12281 Change-Id: Ib05430ff89eb2317da80fc0d086ce1d7ab0e919d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3212510 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#77715}
-
- 21 Sep, 2021 1 commit
-
-
Andreas Haas authored
The function index encoded into the serialized module is already offset by num_imported_functions. For lazy compilation, however, we added the number of imported functions another time, which was incorrect. R=clemensb@chromium.org Change-Id: I56380e21e74b4d1935ebdbab6ef8cc388de49f2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172761 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76965}
-
- 30 Jul, 2021 1 commit
-
-
Andreas Haas authored
The original CL was flaky because deserialization did not wait correctly for the compilation of missing functions to finish. The baseline-finished event was set even when there were still some functions missing. The combination of deserialization and lazy compilation was also not handled correctly. Original change's description: > [wasm] Support partial serialization of modules > > At the moment a WebAssembly module can be serialized successfully when > all functions were compiled with TurboFan. However, for some functions > it may not be necessary to be compiled with TurboFan, e.g. for functions > where Liftoff code is as good as TurboFan code. > > With this CL we allow WebAssembly modules to get serialized even when > not all functions are compiled with TurboFan. Missing functions are > marked as missing in the serlialization. Upon deserialization, missing > functions either get compiled by Liftoff, or initialized with a > lazy-compilation stub, depending on the V8 configuration. > > Bug: v8:11862 Change-Id: I79a9e8e14199cff87fce6ae41a87087e047bbc65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060485Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#76017}
-