• Clemens Backes's avatar
    [wasm][debug] Only inspect code generated for debugging · cfe1b64b
    Clemens Backes authored
    Liftoff code generated for debugging has an extended function prologue
    which checks the "hook on function entry" flag on the isolate. Because
    of this, code positions between standard Liftoff code and Liftoff code
    for debugging do not match up. When (lazily) generating debug side
    tables, we always generate them for debugging-flavored Liftoff code.
    
    The issue that this CL fixes happened when we tried to inspect non-debug
    Liftoff code, and lazily generated the debug side table for that code.
    As noted above, source positions would not match up in that case, and we
    get DCHECK failures (or crashes in release builds) when inspecting the
    code.
    
    This issue was uncovered as part of the multi-threaded debugging effort,
    but because of the similarity in the stack trace, it might also fix the
    other issues linked below. We will get test coverage as soon as we add
    multi-threaded debugging tests (which are in development, but are still
    hitting other issues).
    
    R=thibaudm@chromium.org
    
    Bug: v8:10359, chromium:1071757, chromium:1079328, chromium:1072839
    Change-Id: Ic0c14e635dc2a0b84ac86ceb6650288202dafedc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196349
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67756}
    cfe1b64b
wasm-debug.cc 51.3 KB