v8/test
Andreas Haas 37e5a28add Reland: "[wasm] Compile debug code lazily"
Three issues were fixed:
* In debug state, only publish debug code.
* When entering debugging in an isolate, only delete the code of
  those NativeModules that aren't in debug state already.
* When async compilation finishes, only throw away code if the debug
  state changed during compilation.

Original message:

Currently V8 recompiles all functions of a WebAssembly module when a
debugging session starts. This is outdated behavior and
causes OOMs for developers. With this CL all compiled code just gets
removed when a debugging session starts, and debugging code gets
compiled lazily.

This behavior may lead to small delays whenever a new function gets
entered by the debugger. However, developers are used to debugging code
being slightly slower, and the small delays should be in the order of
few milliseconds. On the other hand, debug modules can be big,
sometimes even more than 1'000'000 functions, and developers reported
OOMs when debugging.

R=clemensb@chromium.org

Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel
Bug: v8:13541, chromium:1372621, v8:13224
Change-Id: Ie27388a287cd16a67a483e14fc22c2ab4180962e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4079190
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84873}
2022-12-15 14:59:13 +00:00
..
benchmarks Re-enable octane/typescript for deopt_fuzzer 2022-09-09 08:34:45 +00:00
bigint [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
cctest Reland: "[wasm] Compile debug code lazily" 2022-12-15 14:59:13 +00:00
common [wasm-gc] Add new br_on_cast_fail null variant taking a heap type immediate 2022-12-15 12:45:51 +00:00
debugger Reland: "[wasm] Compile debug code lazily" 2022-12-15 14:59:13 +00:00
debugging [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
fuzzer [wasm] Do not validate asm.js code 2022-12-13 17:46:59 +00:00
fuzzilli [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
inspector [inspector] Improve description for Proxy objects. 2022-12-15 10:53:39 +00:00
intl [Intl] Impl LocaleInfo PR 63 2022-12-15 01:21:58 +00:00
js-perf-test [js-perf-test] Reduce input sizes for small BigInts 2022-10-06 14:23:53 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Resolved an issue where an earlier error was not reported first in certain cases 2022-11-11 13:43:32 +00:00
mjsunit Reland: "[wasm] Compile debug code lazily" 2022-12-15 14:59:13 +00:00
mkgrokdump [heap] Rename safepoint scopes 2022-10-25 16:32:55 +00:00
mozilla [mips32] Delete mips32 from v8 2022-09-13 07:54:54 +00:00
test262 [test262] Roll test262 2022-12-15 00:34:07 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests [heap] Ignore client isolates that are tearing down 2022-12-15 14:08:03 +00:00
wasm-api-tests [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
wasm-js [wasm] Update spec tests 2022-11-22 12:00:15 +00:00
wasm-spec-tests [wasm] Update spec tests 2022-11-22 12:00:15 +00:00
webkit [mips32] Delete mips32 from v8 2022-09-13 07:54:54 +00:00
BUILD.gn [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
OWNERS