Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8348752

Enable -XX:+AOTClassLinking by default when -XX:AOTMode is specified

XMLWordPrintable

    • b08

        According to the CSR JDK-8339506 (for https://openjdk.org/jeps/483)

        "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

              iklam Ioi Lam
              iklam Ioi Lam
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: