v8/src/wasm
Clemens Backes 447d7d6784 [wasm][debug] Avoid repeated recompilation
If multiple isolates share the same module, and the debugger gets
enabled, then we trigger tier down in each isolate separately. To avoid
generating too much code, we only recompile functions that are not
already in the right tier.

This CL is only the first step towards an actual fix. Since we only
check already installed code (and ignore compilations that are already
scheduled), we might still compile the same functions multiple times. A
second CL will make sure that only one recompilation is running at the
same time.

R=thibaudm@chromium.org

Bug: chromium:1084369, v8:10359
Change-Id: Ic4f9afac1add0fe8ad9e5d68f22d3d41ba2e52be
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2213438
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67957}
2020-05-25 13:42:32 +00:00
..
baseline [wasm-gc] Implement 'let' opcode. 2020-05-20 23:37:14 +00:00
c-api.cc heap: Rework forced GCs 2020-04-30 11:23:15 +00:00
c-api.h
compilation-environment.h [clang-tidy] Make deleted constructor public 2020-05-11 21:22:24 +00:00
decoder.h Validate reading prefixed opcodes 2020-04-24 16:56:11 +00:00
DEPS [wasm] Fix include rules of jump-table-assembler.h 2019-09-13 14:05:24 +00:00
function-body-decoder-impl.h [wasm][bug] Check that type indexes are within limits in read_value_type 2020-05-25 10:30:02 +00:00
function-body-decoder.cc [wasm-gc] Implement 'let' opcode. 2020-05-20 23:37:14 +00:00
function-body-decoder.h Reland "[wasm-simd][liftoff][x64][ia32] Implement load extend" 2020-05-20 17:08:42 +00:00
function-compiler.cc [wasm][debug] Make recompilation isolate-independent 2020-05-11 12:12:11 +00:00
function-compiler.h [wasm] Remove interpreter entry frames 2020-05-06 13:27:27 +00:00
graph-builder-interface.cc [wasm-gc] Implement 'let' opcode. 2020-05-20 23:37:14 +00:00
graph-builder-interface.h [wasm] Refactor WasmFeatures 2019-11-26 17:36:11 +00:00
jump-table-assembler.cc [arm64] Use BTI instructions for forward CFI 2020-03-17 17:52:28 +00:00
jump-table-assembler.h [arm64] Use BTI instructions for forward CFI 2020-03-17 17:52:28 +00:00
leb-helper.h
local-decl-encoder.cc [wasm][gc] Implement struct.set and switch struct.get to optref 2020-05-05 12:57:42 +00:00
local-decl-encoder.h [wasm][cleanup] Avoid passing non-const FunctionSig* 2020-02-27 09:44:42 +00:00
memory-tracing.cc [wasm-simd] Implement memory tracing for kSimd128 data types 2019-10-11 20:45:21 +00:00
memory-tracing.h
module-compiler.cc [wasm][debug] Avoid repeated recompilation 2020-05-25 13:42:32 +00:00
module-compiler.h [wasm][debug] Make recompilation isolate-independent 2020-05-11 12:12:11 +00:00
module-decoder.cc [cleanup] Replace some "default:" with explicit cases 2020-05-18 09:30:00 +00:00
module-decoder.h [wasm] WAT-compatible naming for memory 2020-04-06 18:07:45 +00:00
module-instantiate.cc [wasm-gc] Implement array.new 2020-05-08 08:48:08 +00:00
module-instantiate.h
object-access.h [wasm] Determine receiver at runtime to avoid re-creation of wrapper 2019-11-20 12:30:20 +00:00
OWNERS [wasm] Update OWNERS 2020-01-08 14:56:06 +00:00
signature-map.cc
signature-map.h
streaming-decoder.cc [wasm] Introduce the SyncStreamingDecoder 2020-05-25 11:02:42 +00:00
streaming-decoder.h [wasm] Introduce the SyncStreamingDecoder 2020-05-25 11:02:42 +00:00
struct-types.h [wasm-gc] Implement array.new 2020-05-08 08:48:08 +00:00
sync-streaming-decoder.cc [wasm] Introduce the SyncStreamingDecoder 2020-05-25 11:02:42 +00:00
value-type.h [wasm-gc] Implement ref.eq 2020-05-12 15:35:25 +00:00
wasm-arguments.h [wasm] Turn ValueType from an enum to a class 2020-03-12 17:03:16 +00:00
wasm-code-manager.cc [wasm][debug] Avoid repeated recompilation 2020-05-25 13:42:32 +00:00
wasm-code-manager.h [wasm][debug] Avoid repeated recompilation 2020-05-25 13:42:32 +00:00
wasm-constants.h Support .external_debug_info symbol references 2020-05-05 16:45:49 +00:00
wasm-debug-evaluate.cc [wasm][debug] Rename WasmCompiledFrame to WasmFrame 2020-05-11 09:15:53 +00:00
wasm-debug-evaluate.h [wasm-debug-eval] Reland: Implement additional evaluator API 2020-04-16 15:10:07 +00:00
wasm-debug.cc Use WasmValue in inspector 2020-05-19 17:47:40 +00:00
wasm-debug.h [wasm] Print debug side table together with code 2020-05-18 07:33:44 +00:00
wasm-engine.cc [wasm] Introduce the SyncStreamingDecoder 2020-05-25 11:02:42 +00:00
wasm-engine.h [wasm] Store the source URL in CompiledWasmModule 2020-05-04 15:07:21 +00:00
wasm-external-refs.cc [wasm][liftoff][ia32] Add saturated conversion float->int64 2020-05-19 07:53:10 +00:00
wasm-external-refs.h [wasm][liftoff][ia32] Add saturated conversion float->int64 2020-05-19 07:53:10 +00:00
wasm-feature-flags.h [wasm] Implement optional init parameter for Table.grow 2020-05-19 14:09:30 +00:00
wasm-features.cc [wasm-simd] Add use counter for SIMD opcodes 2020-05-08 19:14:00 +00:00
wasm-features.h [wasm] Refactor WasmFeatures 2019-11-26 17:36:11 +00:00
wasm-import-wrapper-cache.cc [wasm][cleanup] Avoid passing non-const FunctionSig* 2020-02-27 09:44:42 +00:00
wasm-import-wrapper-cache.h [wasm][cleanup] Avoid passing non-const FunctionSig* 2020-02-27 09:44:42 +00:00
wasm-interpreter.cc [wasm-simd] Rename anytrue and alltrue to follow proposal 2020-05-21 19:03:52 +00:00
wasm-interpreter.h [wasm] Support stepping into Wasm from Javascript 2019-11-18 19:59:32 +00:00
wasm-js.cc [wasm] Introduce the SyncStreamingDecoder 2020-05-25 11:02:42 +00:00
wasm-js.h
wasm-limits.h [wasm] Fix memory growth to >2GB 2020-02-28 11:48:37 +00:00
wasm-linkage.h [wasm] Fix capitalization of "Wasm" 2020-03-31 06:55:16 +00:00
wasm-module-builder.cc [cleanup] Replace some "default:" with explicit cases 2020-05-18 09:30:00 +00:00
wasm-module-builder.h [wasm-gc] Implement array.new 2020-05-08 08:48:08 +00:00
wasm-module-sourcemap.cc [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
wasm-module-sourcemap.h [wasm] Fix capitalization of "Wasm" 2020-03-31 06:55:16 +00:00
wasm-module.cc [cleanup] Replace some "default:" with explicit cases 2020-05-18 09:30:00 +00:00
wasm-module.h Support .external_debug_info symbol references 2020-05-05 16:45:49 +00:00
wasm-objects-inl.h [wasm-gc] Implement array.new 2020-05-08 08:48:08 +00:00
wasm-objects.cc [wasm-gc] Create struct maps on instantiation 2020-05-06 15:52:27 +00:00
wasm-objects.h [wasm-gc] Implement array.new 2020-05-08 08:48:08 +00:00
wasm-objects.tq [wasm-gc] Implement array.new 2020-05-08 08:48:08 +00:00
wasm-opcodes.cc [wasm-simd] Rename anytrue and alltrue to follow proposal 2020-05-21 19:03:52 +00:00
wasm-opcodes.h [wasm-simd] Fix pmin pmax opcodes 2020-05-21 22:09:21 +00:00
wasm-result.cc [wasm-debug-evaluate] Implement the foundation for wasm debug evaluate 2020-03-19 10:18:23 +00:00
wasm-result.h [wasm-debug-evaluate] Implement the foundation for wasm debug evaluate 2020-03-19 10:18:23 +00:00
wasm-serialization.cc [wasm] Remove interpreter entry frames 2020-05-06 13:27:27 +00:00
wasm-serialization.h [wasm] Fix deserializer test 2020-01-21 16:20:33 +00:00
wasm-tier.h [wasm][debug] Don't publish code compiled for stepping 2020-04-17 13:54:42 +00:00
wasm-value.h [wasm] Move {GetGlobalValue} out of the interpreter 2019-10-24 09:10:55 +00:00