• Leszek Swirski's avatar
    [maglev] Fix dead bytecode visit (again) · c2ede7ac
    Leszek Swirski authored
    A few more fixes for visiting bytecodes that are known to be dead:
    
      * Change JumpLoop dead frame merging to remove the loop predecessor,
        by moving the loop predecessor to be the last in the list and
        allowing it to be dropped the same way as other predecessors.
      * Remove the bytecode walk in EmitUnconditionalDeopt, opting instead
        to check for null current_block in the real bytecode visitor. This
        allows us to handle the case where the start of a basic block is
        dead, but there's no fallthrough into it, so it wouldn't be visited
        by the loop in EmitUnconditionalDeopt.
    
    Bug: v8:7700
    Change-Id: I7cf1a54c49a2affc0363c1a0919bb3d427f83f5c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3700070
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81109}
    c2ede7ac
maglev-interpreter-frame-state.h 21 KB