Some JVMCI/Graal questions related to AOT

Doug Simon 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.

-Doug


More information about the hotspot-compiler-dev mailing list