RFR: 8376839: GenShen: Improve performance of evacuations into the old generation

William Kemper wkemper at openjdk.org
Sat Jan 31 00:18:29 UTC 2026


When GenShen evacuates an object into the old generation, it also dirties the card for that object and updates the offsets of the first and last object in the card. In many cases, the same card may dirtied repeatedly and the object starts updated unnecessarily. We can reduce the total amount of work by moving these operations into a separate phase of the cycle which allows them to be batched.

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

Commit messages:
 - Remove now unused method
 - Fix narrowing type conversion
 - Add comment
 - Remove TODO
 - Fix formatting, tighten things up
 - Remove instrumentation and unused methods, add documentation
 - Fix algorithm for registering object starts
 - Fix bugs
 - Avoid unnecessary updates to object starts
 - Dirty only cards for objects with pointers to young
 - ... and 13 more: https://git.openjdk.org/jdk/compare/c62c82d5...d1456700

Changes: https://git.openjdk.org/jdk/pull/29511/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29511&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8376839
  Stats: 202 lines in 12 files changed: 142 ins; 49 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/29511.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29511/head:pull/29511

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


More information about the hotspot-gc-dev mailing list