RFR: 8268470: CDS dynamic dump asserts with JFR RecordingStream

Calvin Cheung ccheung at openjdk.java.net
Thu Jun 10 16:35:25 UTC 2021


During JFR startup, it redefines some of the builtin classes like java/lang/Throwable. Later, when a subclass of Throwable is loaded, it will inherit the redefined version of Throwable which will not be inside the buffer space or mapped static archive.

To fix this bug, in `SystemDictionaryShared::check_for_exclusion_impl()`, instead of only checking if the class has been redefined, it also checks if any of its super types has been redefined. If so, exclude the class from the archive.

- [x] mach5 tier1, tier2 (including the new test)

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

Commit messages:
 - fix trailing whitespace
 - 8268470: CDS dynamic dump asserts with JFR RecordingStream

Changes: https://git.openjdk.java.net/jdk/pull/4467/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4467&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268470
  Stats: 193 lines in 4 files changed: 192 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4467.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4467/head:pull/4467

PR: https://git.openjdk.java.net/jdk/pull/4467


More information about the hotspot-runtime-dev mailing list