RFR: 8276126: Dump time class transformation causes heap objects of non-boot classes to be archived [v3]

Calvin Cheung ccheung at openjdk.java.net
Tue Nov 30 00:10:47 UTC 2021


> During CDS static dump, if a class loaded by a boot class loader is transformed by a java agent, the transformed class is mistakenly identified as a class loaded by a custom loader. This would cause archiving of the heap objects to fail.
> 
> The proposed patch corrects the identification of the transformed class and will not include it in the archive.
> Also, if a transformed class is detected during dump time, the archiving of the heap objects will be disabled.
> 
> Testing: Oracle CI tiers 1-3, tier4 in progress.

Calvin Cheung has updated the pull request incrementally with one additional commit since the last revision:

  Simplify the fix by passing a 'redefined' flag from KlassFactory::create_from_stream() to ClassLoader::record_result()

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6484/files
  - new: https://git.openjdk.java.net/jdk/pull/6484/files/58b1d9fa..381f26d6

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6484&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6484&range=01-02

  Stats: 22 lines in 5 files changed: 3 ins; 11 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6484.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6484/head:pull/6484

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


More information about the hotspot-runtime-dev mailing list