RFR: 8351444: Shenandoah: Class Unloading may encounter recycled oops

William Kemper wkemper at openjdk.org
Fri Mar 7 21:52:09 UTC 2025


Unloading classes may require a walk of unreachable oops. For this reason, it is not safe to recycle memory before class unloading is complete. This complements existing code to prevent mutators from recycling trash regions while weak roots is in progress.

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

Commit messages:
 - Make concurrent class unloading a little safer
 - Can't recycle during weak roots, but does the LRB really need to return doomed from space objects?
 - What happens if we allow trash regions to be recycled during concurrent weak roots?
 - Trying to find a test that fails because the LRB won't return a doomed from space object

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

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


More information about the shenandoah-dev mailing list