Some JVMCI/Graal questions related to AOT
doug.simon at oracle.com
Tue May 23 07:29:30 UTC 2017
> On 23 May 2017, at 00:41, dean.long at oracle.com wrote:
> 1) I'm working on "8132547: [AOT] support invokedynamic instructions" and I've hacked up jdk.vm.ci.hotspot.HotSpotConstantPool.java to handle things like the invokedynamic appendix differently. However, since this will only be used by AOT, I'm thinking I need to put my changes in an AOTHotSpotConstantPool subclass. My question is, where is a good place to put such as class (which hopefully won't require messing with modules)?
Depending on the nature of the changes, I suspect they can simply be added to HotSpotConstantPool, guarded by a VM flag exposed by HotSpotVMConfig if necessary. HotSpotConstantPool is currently final and I don't see a natural place for an AOT specific subclass
> 2) How can I tell if a ResolvedJavaType corresponds to a VM anonymous class (Klass::is_anonymous())? I can't rely on getFingerprint() returning 0, because I want fingerprints for anonymous classes. Is there something existing, or do I need to add something to JVMCI?
You'd need to add something to JVMCI by exposing the required flags and fields in HotSpotVMConfig.
More information about the hotspot-compiler-dev