With the upcoming 2nd JEP of the Leyden project, JDK-8325147 (Ahead-of-Time Method Profiling), the AOT config file needs to record complex data structures that are difficult to represent in text (we would need code for serializing hierarchical data structures to/from text). Also, a next step after JDK-8325147 would be to support hidden classes that have no predictable names. Representing such classes with textual names would become another challenge.
To prepare for JDK-8325147, this RFE writes the AOT configuration file in a binary format (essentially the same format as a CDS archive file). This allows arbitrary data associated with the cached classes to be processed and stored using the existing MetaspaceClosure API (which can recursively copy C++ objects). Such a change in the file format is allowed by JEP 483:
> the format of the configuration and cache files is not specified and is subject to change without notice.
- blocks
-
JDK-8350209 Preserve adapters in AOT cache
-
- Open
-
- causes
-
JDK-8351313 Crashes in case AOT config/cache files are not properly specified
-
- Open
-
-
JDK-8351319 AOT cache support for custom class loaders broken since JDK-8348426
-
- Open
-
-
JDK-8351327 -XX:AOTMode=record interferes with application execution
-
- Open
-
-
JDK-8351778 JIT compiler fails when running -XX:AOTMode=create
-
- Open
-
-
JDK-8351100 [leyden] -XX:AOTEndTrainingOnMethodEntry crashes with large count
-
- Resolved
-
- duplicates
-
JDK-8340482 [premain] Support profiling data and compiled code with -XX:AOTCache
-
- Closed
-
- relates to
-
JDK-8343023 [premain] AOT cache cleanup umbrella/wishlist
-
- Open
-
- links to
-
Commit(master) openjdk/jdk/86024ebd
-
Review(master) openjdk/jdk/23484