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

SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 11
    • 11
    • hotspot
    • None
    • b21

        SafepointSynchronize::begin() and end() were changed for JEP 312: Thread-Local Handshakes. They iterate over all JavaThreads and call SafepointMechanism::arm_local_poll or disarm_local_poll.

        Unfortunetly, the release barrier is inside the latter functions.
        Assume we have several 1000 JavaThreads. This means the code executes several 1000 release barriers on weak memory model platforms (PPC64 and ARM/aarch64). Only one is needed.

        A goal of JEP 312 was to minimize latency of safepoints which gets defeated by this issue to some extend on these platforms.

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

                Created:
                Updated:
                Resolved: