RFR: 8352001: AOT cache should not contain classes injected into built-in class loaders [v2]

Ioi Lam iklam at openjdk.org
Sat Apr 12 18:37:18 UTC 2025


> During an application's training run, it's possible to inject classes into the built-in platform/app class loaders with reflection calls. 
> 
> - Before [JDK-8348426](https://bugs.openjdk.org/browse/JDK-8348426), only the names of these classes were recorded in the AOT config file. When the AOT cache is generated, these classes are automatically filtered out.
> - Since [JDK-8348426](https://bugs.openjdk.org/browse/JDK-8348426), these classes are stored as parsed InstanceKlasses in the AOT config file, and will be transferred into the AOT cache. This new behavior may cause some applications to fail, as they may inject bytecodes that have environment dependencies.
> 
> For safety, this PR filters out such injected classes from the AOT config file.

Ioi Lam 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 two additional commits since the last revision:

 - Merge branch 'master' into 8352001-exclude-injected-classes-from-builtin-loaders
 - 8352001: AOT cache should not contain classes injected into built-in class loaders

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24046/files
  - new: https://git.openjdk.org/jdk/pull/24046/files/b5c177ee..23327c27

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

  Stats: 140748 lines in 3209 files changed: 61368 ins; 65475 del; 13905 mod
  Patch: https://git.openjdk.org/jdk/pull/24046.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24046/head:pull/24046

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


More information about the hotspot-dev mailing list