The AOT cache contains main generated classes:
- The four Holder classes re-generated by LambdaFormInvokers:
https://github.com/openjdk/jdk/blob/bdc39818ce7b3c3bad10f4682a2a52fbb696f247/src/hotspot/share/cds/lambdaFormInvokers.cpp#L58-L62
java.lang.invoke.Invokers$Holder
java.lang.invoke.DirectMethodHandle$Holder
java.lang.invoke.DelegatingMethodHandle$Holder
java.lang.invoke.LambdaForm$Holder
- LambdaForm and Lambda proxy classes
- Other hidden classes (?)
It will be useful if the contents of these classes can be displayed in a format similar to javap
Perhaps we can extract these generated classes as a classfile from the InstanceKlass stored in the AOT cache. Then the user can use existing tools such as javap to examine their contents.
- The four Holder classes re-generated by LambdaFormInvokers:
https://github.com/openjdk/jdk/blob/bdc39818ce7b3c3bad10f4682a2a52fbb696f247/src/hotspot/share/cds/lambdaFormInvokers.cpp#L58-L62
java.lang.invoke.Invokers$Holder
java.lang.invoke.DirectMethodHandle$Holder
java.lang.invoke.DelegatingMethodHandle$Holder
java.lang.invoke.LambdaForm$Holder
- LambdaForm and Lambda proxy classes
- Other hidden classes (?)
It will be useful if the contents of these classes can be displayed in a format similar to javap
Perhaps we can extract these generated classes as a classfile from the InstanceKlass stored in the AOT cache. Then the user can use existing tools such as javap to examine their contents.