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

[lworld] Avoid saving all registers before slow call in G1 barrier

XMLWordPrintable

      Because GC barriers are used in method entry points for the scalarized calling convention, we have to save all registers before calling into the runtime (see JDK-8242210 and JDK-8251398):
      https://github.com/openjdk/valhalla/blob/8efeb68ef0594c2c7c20bc2e45c112d6ef623b2b/src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp#L206
      https://github.com/openjdk/valhalla/blob/8efeb68ef0594c2c7c20bc2e45c112d6ef623b2b/src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp#L332

      We should investigate if it is sufficient to only save the caller-save argument registers and only do so if the barrier is used in an entry point.

      We should also check if increasing the buffer size (JDK-8271324) is still required.

      See also JDK-8232094.

            Unassigned Unassigned
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: