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

AArch64: Refactor register spilling code in ZGC barriers

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 16
    • Fix Version/s: 16
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b08
    • CPU:
      aarch64
    • OS:
      generic

      Description

      In ZBarrierSetAssembler::load_at we save all GPRs and FPRs. We only need to save the registers clobbered by the C runtime.

      Likewise ZBarrierSetAssembler::arraycopy_prologue saves all GPRs and no FPRs,

      Also, ZBarrierSetAssembler::generate_c1_load_barrier_runtime_stub suffers in the same way.

      MacroAssembler::(pop|push)_call_clobbered_registers() is modified to take a RegSet of registers not to save and restore.

      This will save the correct registers and no more when calling out.

        Attachments

          Activity

            People

            Assignee:
            smonteith Stuart Monteith
            Reporter:
            smonteith Stuart Monteith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: