RFR: Fix misuse of atomic flag

William Kemper wkemper at openjdk.java.net
Wed Sep 1 21:03:13 UTC 2021


This change fixes an assert that GC isn't cancelled in the middle of a safepoint. The assert was triggered during the tier2 test: `TestJNIGlobalRefs`. The test uses the _aggressive_ heuristic which runs GC's back to back. The atomic `_preemption_allowed` variable was being misused in a non-atomic way which could lead to the regulator thread cancelling GC after the control thread has gone to the final mark safepoint.

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

Commit messages:
 - Merge branch 'shenandoah' into fix-regulator-cancel-gc
 - Fix misuse of atomic variables

Changes: https://git.openjdk.java.net/shenandoah/pull/63/files
 Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=63&range=00
  Stats: 13 lines in 2 files changed: 9 ins; 0 del; 4 mod
  Patch: https://git.openjdk.java.net/shenandoah/pull/63.diff
  Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/63/head:pull/63

PR: https://git.openjdk.java.net/shenandoah/pull/63


More information about the shenandoah-dev mailing list