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

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

    XMLWordPrintable

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

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

            Dates

              Created:
              Updated: