The AOT configuration file is currently implemented as a special AOT cache that doesn't have archived heap objects.
In Valhalla, some information related to the class metadata is stored as an injected field in the Java mirror. For example, some Valhalla-specific acmp operations requires each class to have a property called ".acmp_maps" which is represented as an integer array. Because the acmp operation is implemented in Java code, this array needs to be a regular Java array (not the usual C++ type of Array<int> traditionally used by HotSpot).
As we expect more VM operations to be implemented in Java code in future evolution of HotSpot, we should extend the AOT configuration file to be able to store Java mirrors, so that it can correctly save all relevant "metadata" related to a Java class.
In Valhalla, some information related to the class metadata is stored as an injected field in the Java mirror. For example, some Valhalla-specific acmp operations requires each class to have a property called ".acmp_maps" which is represented as an integer array. Because the acmp operation is implemented in Java code, this array needs to be a regular Java array (not the usual C++ type of Array<int> traditionally used by HotSpot).
As we expect more VM operations to be implemented in Java code in future evolution of HotSpot, we should extend the AOT configuration file to be able to store Java mirrors, so that it can correctly save all relevant "metadata" related to a Java class.
- relates to
-
JDK-8374729 [lworld] Enabling CDS crash with UseAltSubstitutabilityMethod
-
- Open
-