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

Resolved Class/Field/Method CP entries missing from AOT Configuration

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 25
    • 25
    • hotspot
    • b19

      Since JDK-8348426, the AOTConfiguration file format is changed from a text file into a binary file. The resolved Class/Field/Method constant pool entries are missing from the config file.

      In the follow example, you can see the number of resolved classes and methods are significantly lower in the "AOT workflow vs the classical "CDS" workflow:

      AOT
      Class CP entries = 35502, archived = 5974 ( 16.8%), reverted = 0
      Method CP entries = 6650, archived = 6632 ( 99.7%), reverted = 18

      CDS
      Class CP entries = 35102, archived = 10392 ( 29.6%), reverted = 0
      Method CP entries = 10551, archived = 10527 ( 99.8%), reverted = 24

      ============

      $ java -XX:AOTMode=record -XX:AOTConfiguration=jc.aotconfig com.sun.tools.javac.Main -d . HelloWorld.java
      AOTConfiguration recorded: jc.aotconfig
      $ java -XX:AOTMode=create -Xlog:cds -XX:AOTCache=jc.aot -XX:AOTConfiguration=jc.aotconfig com.sun.tools.javac.Main -d . HelloWorld.java
      [...]
      [0.964s][info][cds] Class CP entries = 35502, archived = 5974 ( 16.8%), reverted = 0
      [0.964s][info][cds] Field CP entries = 20197, archived = 4078 ( 20.2%), reverted = 0
      [0.964s][info][cds] Method CP entries = 6650, archived = 6632 ( 99.7%), reverted = 18
      [0.964s][info][cds] Indy CP entries = 212, archived = 212 (100.0%), reverted = 0
      [0.964s][info][cds] Platform loader initiated classes = 654
      [0.964s][info][cds] App loader initiated classes = 710


      ====================
      $ java -Xshare:off -XX:DumpLoadedClassList=jc.classlist com.sun.tools.javac.Main -d . HelloWorld.java
      $ java -XX:+AOTClassLinking -Xshare:dump -Xlog:cds -XX:SharedArchiveFile=jc.jsa -XX:SharedClassListFile=jc.classlist com.sun.tools.javac.Main -d . HelloWorld.java
      [0.493s][info][cds] Class CP entries = 35102, archived = 10392 ( 29.6%), reverted = 0
      [0.493s][info][cds] Field CP entries = 20061, archived = 5706 ( 28.4%), reverted = 0
      [0.493s][info][cds] Method CP entries = 10551, archived = 10527 ( 99.8%), reverted = 24
      [0.493s][info][cds] Indy CP entries = 207, archived = 207 (100.0%), reverted = 0
      [0.493s][info][cds] Platform loader initiated classes = 647
      [0.493s][info][cds] App loader initiated classes = 703

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

              Created:
              Updated:
              Resolved: