• Clemens Backes's avatar
    [wasm] Extend debug side table for registers · 75931f18
    Clemens Backes authored
    This extends the debug side table to also store register locations in
    addition to constants and stack values.
    Previously, every value that was not constant was assumed to be spilled
    to the stack. This made sense, because without breakpoints we would only
    emit debug side table entries at call sites, where all registers are
    spilled.
    With breakpoints, this changes. At break locations, values might be live
    in registers.
    
    The logic to decide whether a value will live in the register or on the
    stack is extended, because we sometimes generate the debug side table
    entry at a point where the registers are not spilled yet. The debug side
    table entry creation needs to account for that, and assume that these
    registers will still be spilled.
    
    R=thibaudm@chromium.org
    
    Bug: v8:10147, v8:10222
    Change-Id: I3b020dfaa29fc007047663706ee286180a996bfd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066960
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66407}
    75931f18
wasm-debug.cc 55.6 KB