• Milad Fa's avatar
    PPC/s390: [safepoints] Various refactors · bb9004f3
    Milad Fa authored
    Port c7e47c30
    
    Original Commit Message:
    
        A collection of smallish cleanups and improvements for safepoints.
    
        Maintainability:
        - The class names were not very clear; move Safepoint inside
          SafepointTableBuilder to clarify that this wrapper class is used
          during codegen.
        - Rename DefinePointerSlot/DefineRegister to
          DefineTaggedStackSlot/DefineTaggedRegister for clarity.
        - Use named constants instead of -1.
        - DefineTaggedRegister has no connection to kNoDeoptIndex, remove
          the DCHECK and comment.
        - Remove the unused kNumSafepointRegisters constant + other dead code.
        - Small clarifications in CommonFrame::IterateCompiledFrame.
        - Rename has_safepoint_info to uses_safepoint_table and refactor s.t.
          `stack_slots` can be used when `uses_safepoint_table == false`. In
          this case it just returns 0.
    
        Perf:
        - During codegen, represent stack slots as a growable bit vector
          instead of a list of int indices. Extend GrowableBitVector
          functionality to support the above.
        - Track the minimum index instead of iterating all stack slots in
          all safepoints before encoding.
    
    R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
    BUG=
    LOG=N
    
    Change-Id: Ifef2d95f1e4a064d85d4ce437b1d12ae9796336f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3484701Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/main@{#79237}
    bb9004f3
liftoff-assembler-s390.h 108 KB