8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack #2787
StubAssembler::call_RT() has some code to shuffle arguments using the
I think this was exposed by JDK-8259619 which fixed the conflict check
I would rather replace this code with an assert that the conflict never
StubAssembler::call_RT() has some code to shuffle arguments using the stack as temporary storage. But there's a typo: the first pre(sp, 2 * wordSize) should be pre(sp, -2 * wordSize) otherwise the pushes and pops are unbalanced. I think this was exposed by JDK-8259619 which fixed the conflict check but AFAIK it only causes a problem on the Valhalla lworld branch and is not used otherwise. I would rather replace this code with an assert that the conflict never occurs as we are in full control of the argument registers passed to call_RT (the PPC port does this, for example).
@nick-arm This change now passes all automated pre-integration checks.
After integration, the commit message for the final commit will be:
At the time when this comment was updated there had been 2 new commits pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the
@nick-arm Since your change was applied there have been 3 commits pushed to the
Your commit was automatically rebased without conflicts.
Pushed as commit be67aaa.