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.

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

Commit messages:
 - 8352001: AOT cache should not contain classes injected into built-in class 
loaders

Changes: https://git.openjdk.org/jdk/pull/24046/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24046&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352001
  Stats: 238 lines in 10 files changed: 233 ins; 0 del; 5 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

Reply via email to