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

correctness fixes motivated by contended locking work (6607129)

XMLWordPrintable

    • b17
    • generic
    • generic

        Work on contended locking via 6607129 has uncovered several correctness fixes:

        1a) Add missing fence() to end of os::PlatformEvent::park() on both
            Linux and Solaris
        1b) Add missing barrier to Parker::park() by using Atomic::xchg()
            to query _counter field (barrier is now on both code paths)
            on Linux only.
        1c) Remove assert in java_lang_Thread::set_thread_status()
        1d) Add missing fence() in ObjectMonitor::EnterI() (all platforms)
        1e) Remove set of "_count = 0" in ObjectMonitor::set_owner() to
            avoid race with setting of _count during inflation.

        Update: forgot to include the notes section:

        Notes:
        1c) The java_lang_Thread::set_thread_status() change is needed for
            the pending quick monitor operations. This means the change is
            potentially needed for several other buckets so I put it in the
            bug_fix bucket as a "common" place.

              dcubed Daniel Daugherty
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: