• 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
..
console Loading commit data...
counters Loading commit data...
cpu-profiler Loading commit data...
debugger Loading commit data...
heap-profiler Loading commit data...
regress Loading commit data...
runtime Loading commit data...
runtime-call-stats Loading commit data...
sessions Loading commit data...
type-profiler Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
frontend-channel.h Loading commit data...
inspector-test.cc Loading commit data...
inspector.status Loading commit data...
isolate-data.cc Loading commit data...
isolate-data.h Loading commit data...
json-parse-expected.txt Loading commit data...
json-parse.js Loading commit data...
print-method-not-found-expected.txt Loading commit data...
print-method-not-found.js Loading commit data...
protocol-test.js Loading commit data...
task-runner.cc Loading commit data...
task-runner.h Loading commit data...
tasks.cc Loading commit data...
tasks.h Loading commit data...
testcfg.py Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...
wasm-inspector-test.js Loading commit data...