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

AArch64: Refactor register spilling code in ZGC barriers

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 16
    • 16
    • hotspot
    • b08
    • aarch64
    • generic

      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.

            smonteith Stuart Monteith
            smonteith Stuart Monteith
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: