public class com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod extends com.oracle.svm.hosted.annotation.CustomSubstitutionMethod
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod
super_class: com.oracle.svm.hosted.annotation.CustomSubstitutionMethod
{
private final com.oracle.svm.hosted.c.NativeLibraries nativeLibraries;
descriptor: Lcom/oracle/svm/hosted/c/NativeLibraries;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.svm.hosted.c.NativeLibraries, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lcom/oracle/svm/hosted/c/NativeLibraries;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial com.oracle.svm.hosted.annotation.CustomSubstitutionMethod.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
1: aload 0
aload 1
putfield com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/cenum/CEnumCallWrapperMethod;
0 3 1 nativeLibraries Lcom/oracle/svm/hosted/c/NativeLibraries;
0 3 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
nativeLibraries
method
public int getModifiers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod.original:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
sipush -257
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/cenum/CEnumCallWrapperMethod;
public boolean isSynthetic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/cenum/CEnumCallWrapperMethod;
public org.graalvm.compiler.nodes.StructuredGraph buildGraph(org.graalvm.compiler.debug.DebugContext, jdk.vm.ci.meta.ResolvedJavaMethod, com.oracle.graal.pointsto.meta.HostedProviders, com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/graal/pointsto/meta/HostedProviders;Lcom/oracle/graal/pointsto/infrastructure/GraphProvider$Purpose;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.svm.hosted.phases.HostedGraphKit
dup
aload 1
aload 3
aload 2
invokespecial com.oracle.svm.hosted.phases.HostedGraphKit.<init>:(Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
astore 5
start local 5 1: aload 5
invokevirtual com.oracle.svm.hosted.phases.HostedGraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 2: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
aconst_null
invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 7
start local 7 3: aload 5
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.toParameterTypes:()[Ljdk/vm/ci/meta/JavaType;
invokevirtual com.oracle.svm.hosted.phases.HostedGraphKit.loadArguments:([Ljdk/vm/ci/meta/JavaType;)Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 4: new com.oracle.svm.hosted.phases.CInterfaceEnumTool
dup
aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
invokespecial com.oracle.svm.hosted.phases.CInterfaceEnumTool.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
astore 9
start local 9 5: aload 2
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
astore 10
start local 10 6: aload 2
ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 11
7: aload 0
getfield com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 7
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.EnumInfo
astore 12
start local 12 8: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
astore 13
start local 13 9: aload 9
aload 5
aload 7
aload 12
aload 13
aload 8
invokevirtual com.oracle.svm.hosted.phases.CInterfaceEnumTool.createEnumLookupInvoke:(Lcom/oracle/svm/hosted/phases/HostedGraphKit;Ljdk/vm/ci/meta/ResolvedJavaType;Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
end local 13 end local 12 start local 11 10: goto 20
end local 11 StackMap locals: com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.graal.pointsto.meta.HostedProviders com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose com.oracle.svm.hosted.phases.HostedGraphKit org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.ValueNode com.oracle.svm.hosted.phases.CInterfaceEnumTool jdk.vm.ci.meta.JavaKind
StackMap stack:
11: aload 2
ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 19
12: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 12
start local 12 13: aload 0
getfield com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 12
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.EnumInfo
astore 13
start local 13 14: aload 9
aload 5
aload 13
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 8
invokevirtual com.oracle.svm.hosted.phases.CInterfaceEnumTool.createEnumValueInvoke:(Lcom/oracle/svm/hosted/phases/HostedGraphKit;Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 14
start local 14 15: aload 6
aload 14
aload 14
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
iconst_0
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 15
start local 15 16: aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 16
start local 16 17: aload 6
aload 15
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 16
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
iconst_0
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
end local 16 end local 15 end local 14 end local 13 end local 12 start local 11 18: goto 20
end local 11 19: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 11 20: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
invokevirtual com.oracle.svm.hosted.phases.HostedGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
aload 10
aload 11
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
21: aload 5
aload 11
aload 10
invokevirtual com.oracle.svm.hosted.phases.HostedGraphKit.createReturn:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
22: aload 5
invokevirtual com.oracle.svm.hosted.phases.HostedGraphKit.finalizeGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/svm/hosted/cenum/CEnumCallWrapperMethod;
0 23 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 23 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 23 3 providers Lcom/oracle/graal/pointsto/meta/HostedProviders;
0 23 4 purpose Lcom/oracle/graal/pointsto/infrastructure/GraphProvider$Purpose;
1 23 5 kit Lcom/oracle/svm/hosted/phases/HostedGraphKit;
2 23 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 23 7 returnType Ljdk/vm/ci/meta/ResolvedJavaType;
4 23 8 arg Lorg/graalvm/compiler/nodes/ValueNode;
5 23 9 tool Lcom/oracle/svm/hosted/phases/CInterfaceEnumTool;
6 23 10 pushKind Ljdk/vm/ci/meta/JavaKind;
10 11 11 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
18 19 11 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
20 23 11 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
8 10 12 enumInfo Lcom/oracle/svm/hosted/c/info/EnumInfo;
9 10 13 parameterKind Ljdk/vm/ci/meta/JavaKind;
13 18 12 declaringType Ljdk/vm/ci/meta/ResolvedJavaType;
14 18 13 enumInfo Lcom/oracle/svm/hosted/c/info/EnumInfo;
15 18 14 invoke Lorg/graalvm/compiler/nodes/ValueNode;
16 18 15 adapted Lorg/graalvm/compiler/nodes/ValueNode;
17 18 16 originalStamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
debug
method
providers
purpose
}
SourceFile: "CEnumCallWrapperMethod.java"
InnerClasses:
public final Purpose = com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose of com.oracle.graal.pointsto.infrastructure.GraphProvider