RFR: 8371783: Refactor GCCause in VM_CollectForMetadataAllocation

Joel Sikström jsikstro at openjdk.org
Thu Nov 13 10:14:36 UTC 2025


Hello,

We should improve how we use and set GCCause in VM_CollectForMetadataAllocation to make it more clear when reading the code what is going on.

When constructing a VM_CollectForMetadataAllocation operation, we pass in a GCCause, which is not always the cause that is used, since we might also have to clear soft references as a last resort if earlier collection attemps is not enough to free up memory.

The GCCauseSetter at the start of this operation is also redundant as subsequent calls to initiate a GC set the cause themselves.

Testing:
* Oracle's tier1-3

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

Commit messages:
 - 8371783: Refactor GCCause in VM_CollectForMetadataAllocation

Changes: https://git.openjdk.org/jdk/pull/28287/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28287&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8371783
  Stats: 14 lines in 3 files changed: 5 ins; 3 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/28287.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28287/head:pull/28287

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


More information about the hotspot-gc-dev mailing list