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

AArch64: Refactor register spilling code in ZGC barriers

    Details

    • Type: Enhancement
    • Status: New
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 16
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • 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:
              1 Start watching this issue

              Dates

              • Created:
                Updated: