[turbofan][cleanup] Fix LinkageLocation equality
The LinkageLocation currently consists of two fields, a bit_field and a machine_type. The existing equality check only checked the equality of the bit_field, which meant that a FP register location and a GP register location could alias. I added a static {IsSameLocation} function which checks that not just the bit_field but also if one of the two locations at least has a subtype of the other. Note that we do not check for type-equality because {CanTailCall} checks, which are the main user of the LinkageLocation equality check, should pass even if the result types are in a sub-typing relationship. R=mstarzinger@chromium.org Bug: v8:9396 Change-Id: Iaa2d11311d0c18e8ffc1dd934e369106ab2456a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763533 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63319}
Showing
Please
register
or
sign in
to comment