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

[PPC64] ZGC C2 load barrier stub needs to preserve vector registers

    XMLWordPrintable

Details

    • b06
    • ppc

    Backports

      Description

        JDK-8289856 has uncovered a PPC64 bug which affects ZGC C2 load barriers:
        # Internal Error (src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp:485), pid=3200250, tid=3200674
        # fatal error: Register type is not known

        V [libjvm.so+0x1bf4944] ZSaveLiveRegisters::iterate_over_register_mask(ZSaveLiveRegisters::IterationAction)+0x5b4
        V [libjvm.so+0x1bf1f54] ZBarrierSetAssembler::generate_c2_load_barrier_stub(MacroAssembler*, ZLoadBarrierStubC2*) const+0xf4
        V [libjvm.so+0x1bf8b98] ZBarrierSetC2::emit_stubs(CodeBuffer&) const+0x128

        Vector registers may be live and get killed by ZGC load barrier stub.
        Workaround: Use -XX:-SuperwordUseVSX when enabling ZGC.

        Attachments

          Issue Links

            Activity

              People

                mdoerr Martin Doerr
                mdoerr Martin Doerr
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: