- 
    Bug 
- 
    Resolution: Fixed
- 
     P2 P2
- 
    24
- 
        b08
- 
        Verified
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8349248 | 24.0.1 | Ioi Lam | P2 | Resolved | Fixed | b06 | 
| JDK-8348979 | 24 | Ioi Lam | P2 | Closed | Fixed | b35 | 
"When an AOT cache is created with the new -XX:AOTMode=create flag, we assume that the application is aware of AOT class linking and does not depend of the class loading order. In this case, AOTClassLinking has a default value of true. The user can disable it by explicitly passing -XX:-AOTClassLinking in the JVM command line."
However, this is not true:
$ java -XX:AOTMode=record -XX:AOTConfiguration=test.aotconfig --version
java 24-ea 2025-03-18
Java(TM) SE Runtime Environment (build 24-ea+30-3590)
Java HotSpot(TM) 64-Bit Server VM (build 24-ea+30-3590, mixed mode, sharing)
$ java -XX:AOTMode=create -XX:AOTConfiguration=test.aotconfig -XX:AOTCache=test.aot -XX:+PrintFlagsFinal | grep AOTClassLinking
bool AOTClassLinking = false {product} {default}
$ java -XX:AOTMode=auto -Xlog:cds -XX:AOTCache=test.aot --version | grep Using.AOT
[0.006s][info][cds] Using AOT-linked classes: false (static archive: no aot-linked classes)
======================
Work around: explicitly specify -XX:+AOTClassLinking when using -XX:AOTMode=create
- backported by
- 
                    JDK-8349248 Enable -XX:+AOTClassLinking by default when -XX:AOTMode is specified -           
- Resolved
 
-         
- 
                    JDK-8348979 Enable -XX:+AOTClassLinking by default when -XX:AOTMode is specified -           
- Closed
 
-         
- causes
- 
                    JDK-8349888 AOTMode=create crashes with EpsilonGC -           
- Resolved
 
-         
- is blocked by
- 
                    JDK-8349122 -XX:+AOTClassLinking is not compatible with jdwp -           
- Closed
 
-         
- relates to
- 
                    JDK-8349009 JVM fails to start when AOTClassLinking is used with unverifiable old classes -           
- Closed
 
-         
- 
                    JDK-8315737 JEP 483: Ahead-of-Time Class Loading & Linking -           
- Closed
 
-         
- links to
- 
                     Commit(jdk24)
        openjdk/jdk/b1b55f71 Commit(jdk24)
        openjdk/jdk/b1b55f71
- 
                     Commit(master)
        openjdk/jdk/d266ca96 Commit(master)
        openjdk/jdk/d266ca96
- 
                     Review(jdk24)
        openjdk/jdk/23354 Review(jdk24)
        openjdk/jdk/23354
- 
                     Review(master)
        openjdk/jdk/23341 Review(master)
        openjdk/jdk/23341