RFR: 8361706: Parallel weak klass link cleaning does not clean out previous klasses

Thomas Schatzl tschatzl at openjdk.org
Fri Jul 11 10:46:50 UTC 2025


Hi all,

  please review this fix to parallel weak klass link cleaning.

`KlassCleaningTask::work()` misses cleaning out previous versions of klasses (created by JVMTI class redefinition) as the regular single-threaded variant would do when calling `Klass::clean_weak_klass_links()` with `clean_live_klasses = true`.

The fix moves the cleaning of weak klass links for previous versions of the klass into `InstanceKlass::clean_weak_instanceklass_links()`.

Testing: gha, tier1-5, many runs of `vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/TestDescription.java`(with JDK-8361952 also out for review)

Thanks,
  Thomas

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

Commit messages:
 - * remove patch for JDK-8361952
 - * working version, do not recursively clean out
 - * another attempt
 - 8361706

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

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


More information about the hotspot-gc-dev mailing list