-
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: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79237}
bb9004f3
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
liftoff-assembler-ppc.h |