Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8171237

AArch64: MacroAssembler::zero_words uses fixed registers and trashes LR

    Details

      Description

      MacroAssembler::zero_words() calls block_zero(). Unfortunately block_zero() is fixed to use only r10 and r11 as its arguments because it calls out to zero_longs, and the call also trashes LR. zero_words() should be fixed so that it saves all registers that are not passed as arguments and accepts arbitrary arguments.

      At the present time this is not a bug because zero_words() is only called from C2, so LR is not live and r10 and r11 are always used. However, if this was fixed zero_words() could be used in other code.

        Attachments

          Activity

            People

            • Assignee:
              dsamersoff Dmitriy Samersoff
              Reporter:
              aph Andrew Haley
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: