RFR: 8301229: Clean up SuspendibleThreadSet::_suspend_all

Erik Österlund eosterlund at openjdk.org
Fri Jan 27 14:28:53 UTC 2023


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.

-------------

Commit messages:
 - 8301229: Clean up SuspendibleThreadSet::_suspend_all

Changes: https://git.openjdk.org/jdk/pull/12256/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12256&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8301229
  Stats: 26 lines in 2 files changed: 7 ins; 3 del; 16 mod
  Patch: https://git.openjdk.org/jdk/pull/12256.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12256/head:pull/12256

PR: https://git.openjdk.org/jdk/pull/12256


More information about the hotspot-gc-dev mailing list