RFR: 8371783: Refactor GCCause in VM_CollectForMetadataAllocation [v3]

Joel Sikström jsikstro at openjdk.org
Fri Nov 21 09:58:59 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

Joel Sikström has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge branch 'master' into JDK-8371783_refactor_vm_collectformetadataallocation
 - Move heap variable down a bit
 - 8371783: Refactor GCCause in VM_CollectForMetadataAllocation

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28287/files
  - new: https://git.openjdk.org/jdk/pull/28287/files/4355bd66..02e4e3fd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28287&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28287&range=01-02

  Stats: 61493 lines in 856 files changed: 41694 ins; 14059 del; 5740 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