• Clemens Backes's avatar
    [wasm] Fix registers spilled in DebugBreak frame · e47f9a9d
    Clemens Backes authored
    The set of registers to spill was wrong. Instead of spilling wasm
    parameter registers (like the WasmCompileLazy builtin), we should spill
    all registers that are being used as Liftoff cache registers.
    This CL defines platform-specific WasmDebugBreakFrameConstants which
    hold the set of registers to spill. This set is used in the builtin, and
    will later be used for inspecting the spilled registers.
    
    In order to iterate bit sets more easily in both direction (MSB to LSB
    or LSB to MSB), we add a base::bits::IterateBits{,Backwards} method
    which provides the respective iterators.
    
    R=jkummerow@chromium.org
    CC=thibaudm@chromium.org
    
    Bug: v8:10222
    Change-Id: I73ecbdff9b29e244c478b404063c0c9ee25bc821
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102570Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66715}
    e47f9a9d
builtins-arm.cc 115 KB