Clean up SuspendibleThreadSet::_suspend_all

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 21
    • Affects Version/s: 21
    • Component/s: hotspot
    • gc
    • b08

      The SuspendibleThreadSet::_suspend_all variable is read and set concurrently, yet relies only on volatiles in accessors. They should use Atomic instead. Also, the _suspend_all getter is called suspend_all(), but since this function doesn't suspend anything, the name looks really confusing where it is, and there is an alias should_yield() that just calls suspend_all(), and better explains what the code does. This CR aims to remove suspend_all() and have a single getter, being should_yield (which reads better everywhere it is used), and make sure the accessors do use Atomic.

            Assignee:
            Erik Ă–sterlund
            Reporter:
            Erik Ă–sterlund
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: