RFR: 8313574: GenShen: Completing a global mark should also complete an old mark

William Kemper wkemper at openjdk.org
Fri Aug 4 18:25:21 UTC 2023


The mark context is shared, but each generation maintains a separate flag (`ShenandoahGeneration::_is_marking_complete`) to record the status of the mark. The remembered set scan will use the mark bitmap only if the old generation mark is complete. Otherwise, it walks the old regions and requires them to be parseable.

Presently, we make the heap parseable after global marking finishes, but this work can be deferred to the start of an old mark if we had global mark record completion of old marking.

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

Commit messages:
 - Merge branch upstream into global-completes-old-mark
 - Have global mark also complete young and old marks

Changes: https://git.openjdk.org/shenandoah/pull/304/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=304&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8313574
  Stats: 90 lines in 9 files changed: 18 ins; 59 del; 13 mod
  Patch: https://git.openjdk.org/shenandoah/pull/304.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/304/head:pull/304

PR: https://git.openjdk.org/shenandoah/pull/304


More information about the shenandoah-dev mailing list