• Clemens Backes's avatar
    [wasm] Send a single scriptParsed event per script · b471bc93
    Clemens Backes authored
    If a script was shared between multiple modules (because they used the
    same wire bytes) it could happen that we still triggered multiple
    "scriptParsed" events via CDP. This was because
    {WasmEngine::GetOrCreateScript} did not communicate back whether it
    used a cached script or whether it created a new one.
    
    This CL moves the call to {Debug::OnAfterCompile} (which triggers the
    "scriptParsed" event) to the {WasmEngine::GetOrCreateScript} method,
    such that we only call it once per script.
    Since the engine only holds a weak reference to the script, we would
    still trigger multiple events if the script is garbage-collected in the
    meantime. In this case there is no way around this, as the new script
    would have a new ID, hence we need to emit a new event to make it
    public to the debugger.
    
    R=thibaudm@chromium.org
    CC=bmeurer@chromium.org
    
    Bug: chromium:1151211
    Change-Id: I1a7986514fd708680541a0e5dc24e60f01f42c28
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_mac64_gc_stress_dbg_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2687755Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72648}
    b471bc93
Name
Last commit
Last update
..
baseline Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
c-api.cc Loading commit data...
c-api.h Loading commit data...
code-space-access.h Loading commit data...
compilation-environment.h Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
function-compiler.cc Loading commit data...
function-compiler.h Loading commit data...
graph-builder-interface.cc Loading commit data...
graph-builder-interface.h Loading commit data...
jump-table-assembler.cc Loading commit data...
jump-table-assembler.h Loading commit data...
leb-helper.h Loading commit data...
local-decl-encoder.cc Loading commit data...
local-decl-encoder.h Loading commit data...
memory-tracing.cc Loading commit data...
memory-tracing.h Loading commit data...
module-compiler.cc Loading commit data...
module-compiler.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
module-instantiate.cc Loading commit data...
module-instantiate.h Loading commit data...
object-access.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
simd-shuffle.cc Loading commit data...
simd-shuffle.h Loading commit data...
streaming-decoder.cc Loading commit data...
streaming-decoder.h Loading commit data...
struct-types.h Loading commit data...
sync-streaming-decoder.cc Loading commit data...
value-type.cc Loading commit data...
value-type.h Loading commit data...
wasm-arguments.h Loading commit data...
wasm-code-manager.cc Loading commit data...
wasm-code-manager.h Loading commit data...
wasm-constants.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-debug.h Loading commit data...
wasm-engine.cc Loading commit data...
wasm-engine.h Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-feature-flags.h Loading commit data...
wasm-features.cc Loading commit data...
wasm-features.h Loading commit data...
wasm-import-wrapper-cache.cc Loading commit data...
wasm-import-wrapper-cache.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-linkage.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module-sourcemap.cc Loading commit data...
wasm-module-sourcemap.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects-inl.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-objects.tq Loading commit data...
wasm-opcodes-inl.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-serialization.cc Loading commit data...
wasm-serialization.h Loading commit data...
wasm-subtyping.cc Loading commit data...
wasm-subtyping.h Loading commit data...
wasm-tier.h Loading commit data...
wasm-value.h Loading commit data...