• Clemens Backes's avatar
    Reland "[wasm][debug] Cache debugging code" · 69d1e2c2
    Clemens Backes authored
    This is a reland of fab754ff.
    The lock-order inversion is fixed by putting the old code into the
    surrounding WasmCodeRefScope such that it gets deleted only after
    releasing the mutex.
    
    Original change's description:
    > [wasm][debug] Cache debugging code
    >
    > This adds a little cache for debugging code, including stepping code.
    > Especially in stepping, we are currently repeatedly recompiling the same
    > function, because whenever we pause (after every step) we clear
    > stepping, only to reinstantiate it if the user continues stepping.
    > Especially in source-level stepping this is wasteful, because stepping
    > over a single line of C++ code can execute hundreds or thousands of
    > steps in wasm.
    >
    > R=thibaudm@chromium.org
    >
    > Bug: chromium:1172299
    > Change-Id: Id59a26cc67a5bf4a2d3cf6b1e8f14a8b1c73712c
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732015
    > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
    > Commit-Queue: Clemens Backes <clemensb@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73162}
    
    Bug: chromium:1172299
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
    Change-Id: Ic2f92e2758e78dc4912021cd17267a4da563c0a1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732675Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73188}
    69d1e2c2
wasm-debug.cc 45.9 KB