class com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod extends com.oracle.svm.hosted.annotation.CustomSubstitutionMethod
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod
super_class: com.oracle.svm.hosted.annotation.CustomSubstitutionMethod
{
private final com.oracle.svm.jni.access.JNINativeLinkage linkage;
descriptor: Lcom/oracle/svm/jni/access/JNINativeLinkage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/jni/hosted/JNINativeCallWrapperMethod;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.svm.hosted.annotation.CustomSubstitutionMethod.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
1: aload 0
aload 1
invokestatic com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.createLinkage:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/jni/access/JNINativeLinkage;
putfield com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.linkage:Lcom/oracle/svm/jni/access/JNINativeLinkage;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/jni/hosted/JNINativeCallWrapperMethod;
0 3 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
private static com.oracle.svm.jni.access.JNINativeLinkage createLinkage(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/jni/access/JNINativeLinkage;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 3
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 1
checkcast com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod
invokeinterface com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod
ifne 2
4: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
astore 2
start local 2 5: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.toMethodDescriptor:()Ljava/lang/String;
astore 3
start local 3 6: invokestatic com.oracle.svm.jni.access.JNIAccessFeature.singleton:()Lcom/oracle/svm/jni/access/JNIAccessFeature;
aload 2
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 3
invokevirtual com.oracle.svm.jni.access.JNIAccessFeature.makeLinkage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/svm/jni/access/JNINativeLinkage;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 7 1 unwrapped Ljdk/vm/ci/meta/ResolvedJavaMethod;
5 7 2 className Ljava/lang/String;
6 7 3 descriptor Ljava/lang/String;
MethodParameters:
Name Flags
method
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/jni/hosted/JNINativeCallWrapperMethod;
public int getModifiers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.getOriginal:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
sipush 4096
ior
sipush -289
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/jni/hosted/JNINativeCallWrapperMethod;
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=23, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.svm.jni.hosted.JNIGraphKit
dup
aload 1
aload 3
aload 2
invokespecial com.oracle.svm.jni.hosted.JNIGraphKit.<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.jni.hosted.JNIGraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 2: aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.nativeCallPrologue:()Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
astore 7
start local 7 3: aload 0
getfield com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.linkage:Lcom/oracle/svm/jni/access/JNINativeLinkage;
invokevirtual com.oracle.svm.jni.access.JNINativeLinkage.isBuiltInFunction:()Z
ifeq 6
4: aload 5
new com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode
dup
aload 0
getfield com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.linkage:Lcom/oracle/svm/jni/access/JNINativeLinkage;
invokevirtual com.oracle.svm.jni.access.JNINativeLinkage.getBuiltInAddress:()Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
invokespecial com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode.<init>:(Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;)V
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
astore 8
start local 8 5: goto 7
end local 8 6: StackMap locals: com.oracle.svm.jni.hosted.JNIGraphKit org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.InvokeWithExceptionNode
StackMap stack:
aload 5
aload 5
aload 0
getfield com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.linkage:Lcom/oracle/svm/jni/access/JNINativeLinkage;
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createObject:(Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.nativeCallAddress:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
astore 8
start local 8 7: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.environment:()Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
astore 9
start local 9 8: 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;
astore 10
start local 10 9: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.toParameterTypes:()[Ljdk/vm/ci/meta/JavaType;
astore 11
start local 11 10: aload 5
aload 11
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.loadArguments:([Ljdk/vm/ci/meta/JavaType;)Ljava/util/List;
astore 12
start local 12 11: new java.util.ArrayList
dup
iconst_2
aload 12
invokeinterface java.util.List.size:()I
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 13
start local 13 12: new java.util.ArrayList
dup
aload 13
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 14
start local 14 13: aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 15
start local 15 14: aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 16
start local 16 15: aload 13
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 14
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 23
18: aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaClass:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaConstant;
astore 17
start local 17 19: aload 17
aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 6
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 18
start local 18 20: aload 5
aload 18
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.boxObjectInLocalHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
astore 19
start local 19 21: aload 13
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 14
aload 16
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 19 end local 18 end local 17 23: StackMap locals: com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod 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.jni.hosted.JNIGraphKit org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.InvokeWithExceptionNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] java.util.List java.util.List java.util.List jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType
StackMap stack:
iconst_0
istore 17
start local 17 24: goto 34
25: StackMap locals: int
StackMap stack:
aload 12
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 18
start local 18 26: aload 11
iload 17
aaload
astore 19
start local 19 27: aload 11
iload 17
aaload
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
ifeq 31
28: aload 12
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 20
start local 20 29: aload 5
aload 20
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.boxObjectInLocalHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
astore 18
30: aload 16
astore 19
end local 20 31: StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaType
StackMap stack:
aload 13
aload 18
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: aload 14
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 19 end local 18 33: iinc 17 1
StackMap locals:
StackMap stack:
34: iload 17
aload 12
invokeinterface java.util.List.size:()I
if_icmplt 25
end local 17 35: getstatic com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.$assertionsDisabled:Z
ifne 36
aload 13
invokeinterface java.util.List.size:()I
aload 14
invokeinterface java.util.List.size:()I
if_icmpeq 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aload 10
astore 17
start local 17 37: aload 17
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
ifeq 39
38: aload 16
astore 17
39: StackMap locals: jdk.vm.ci.meta.JavaType
StackMap stack:
aload 0
invokevirtual com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.getOriginal:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isSynchronized:()Z
ifeq 50
40: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 45
41: aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asObjectHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
astore 19
start local 19 42: aload 19
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
checkcast com.oracle.svm.core.hub.DynamicHub
astore 20
start local 20 43: aload 20
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
aload 3
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 6
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 18
end local 20 end local 19 start local 18 44: goto 46
end local 18 45: StackMap locals:
StackMap stack:
aload 12
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 18
start local 18 46: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 6
new org.graalvm.compiler.nodes.java.MonitorIdNode
dup
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
iconst_0
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.lockDepth:(Z)I
invokespecial org.graalvm.compiler.nodes.java.MonitorIdNode.<init>:(I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 19
start local 19 47: aload 5
new org.graalvm.compiler.nodes.java.MonitorEnterNode
dup
aload 18
aload 19
invokespecial org.graalvm.compiler.nodes.java.MonitorEnterNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
astore 20
start local 20 48: aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
aload 20
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 20
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.getMonitorId:()Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.pushLock:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
49: aload 20
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.bci:()I
aload 20
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 20 end local 19 end local 18 50: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.clearLocals:()V
51: new com.oracle.svm.hosted.code.SimpleSignature
dup
aload 14
aload 17
invokespecial com.oracle.svm.hosted.code.SimpleSignature.<init>:(Ljava/util/List;Ljdk/vm/ci/meta/JavaType;)V
astore 18
start local 18 52: aload 5
aload 8
aload 13
aload 18
iconst_3
iconst_0
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createCFunctionCall:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/List;Ljdk/vm/ci/meta/Signature;IZ)Lorg/graalvm/compiler/nodes/ValueNode;
astore 19
start local 19 53: aload 0
invokevirtual com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.getOriginal:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isSynchronized:()Z
ifeq 58
54: aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.peekMonitorId:()Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
astore 20
start local 20 55: aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.popLock:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 21
start local 21 56: aload 5
new org.graalvm.compiler.nodes.java.MonitorExitNode
dup
aload 21
aload 20
aconst_null
invokespecial org.graalvm.compiler.nodes.java.MonitorExitNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.java.MonitorExitNode
astore 22
start local 22 57: aload 22
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.bci:()I
aload 22
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.MonitorExitNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 22 end local 21 end local 20 58: StackMap locals: jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 10
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
ifeq 60
59: aload 5
aload 19
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unboxHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
astore 19
60: StackMap locals:
StackMap stack:
aload 5
aload 7
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.nativeCallEpilogue:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
pop
61: aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.rethrowPendingException:()Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
pop
62: aload 10
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
ifeq 64
63: aload 5
aload 19
aload 10
checkcast jdk.vm.ci.meta.ResolvedJavaType
invokestatic com.oracle.svm.jni.hosted.JNINativeCallWrapperMethod.castObject:(Lcom/oracle/svm/jni/hosted/JNIGraphKit;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 19
64: StackMap locals:
StackMap stack:
aload 5
aload 19
aload 10
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createReturn:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
65: aload 5
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.finalizeGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 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 66 0 this Lcom/oracle/svm/jni/hosted/JNINativeCallWrapperMethod;
0 66 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 66 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 66 3 providers Lcom/oracle/graal/pointsto/meta/HostedProviders;
0 66 4 purpose Lcom/oracle/graal/pointsto/infrastructure/GraphProvider$Purpose;
1 66 5 kit Lcom/oracle/svm/jni/hosted/JNIGraphKit;
2 66 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 66 7 handleFrame Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
5 6 8 callAddress Lorg/graalvm/compiler/nodes/ValueNode;
7 66 8 callAddress Lorg/graalvm/compiler/nodes/ValueNode;
8 66 9 environment Lorg/graalvm/compiler/nodes/ValueNode;
9 66 10 javaReturnType Ljdk/vm/ci/meta/JavaType;
10 66 11 javaArgumentTypes [Ljdk/vm/ci/meta/JavaType;
11 66 12 javaArguments Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
12 66 13 jniArguments Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
13 66 14 jniArgumentTypes Ljava/util/List<Ljdk/vm/ci/meta/JavaType;>;
14 66 15 environmentType Ljdk/vm/ci/meta/JavaType;
15 66 16 objectHandleType Ljdk/vm/ci/meta/JavaType;
19 23 17 clazz Ljdk/vm/ci/meta/JavaConstant;
20 23 18 clazzNode Lorg/graalvm/compiler/nodes/ConstantNode;
21 23 19 box Lorg/graalvm/compiler/nodes/ValueNode;
24 35 17 i I
26 33 18 arg Lorg/graalvm/compiler/nodes/ValueNode;
27 33 19 argType Ljdk/vm/ci/meta/JavaType;
29 31 20 obj Lorg/graalvm/compiler/nodes/ValueNode;
37 66 17 jniReturnType Ljdk/vm/ci/meta/JavaType;
44 45 18 monitorObject Lorg/graalvm/compiler/nodes/ValueNode;
46 50 18 monitorObject Lorg/graalvm/compiler/nodes/ValueNode;
42 44 19 hubConstant Ljdk/vm/ci/meta/Constant;
43 44 20 hub Lcom/oracle/svm/core/hub/DynamicHub;
47 50 19 monitorId Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
48 50 20 monitorEnter Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
52 66 18 jniSignature Ljdk/vm/ci/meta/Signature;
53 66 19 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
55 58 20 monitorId Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
56 58 21 monitorObject Lorg/graalvm/compiler/nodes/ValueNode;
57 58 22 monitorExit Lorg/graalvm/compiler/nodes/java/MonitorExitNode;
MethodParameters:
Name Flags
debug
method
providers
purpose
private static org.graalvm.compiler.nodes.ValueNode castObject(com.oracle.svm.jni.hosted.JNIGraphKit, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Lcom/oracle/svm/jni/hosted/JNIGraphKit;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 8
2: aload 0
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 2
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 4
start local 4 3: aload 0
aload 4
aload 1
aconst_null
aconst_null
invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.createAllowNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 5
start local 5 4: aload 5
invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
ifne 8
5: aload 4
iconst_0
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;Z)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 6
start local 6 6: aload 0
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 5
getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
iconst_0
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.FixedGuardNode
astore 7
start local 7 7: aload 0
aload 1
aload 6
aload 7
invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
end local 7 end local 6 end local 5 end local 4 8: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 kit Lcom/oracle/svm/jni/hosted/JNIGraphKit;
0 9 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 9 2 type Ljdk/vm/ci/meta/ResolvedJavaType;
1 9 3 casted Lorg/graalvm/compiler/nodes/ValueNode;
3 8 4 typeRef Lorg/graalvm/compiler/core/common/type/TypeReference;
4 8 5 condition Lorg/graalvm/compiler/nodes/LogicNode;
6 8 6 stamp Lorg/graalvm/compiler/core/common/type/ObjectStamp;
7 8 7 fixedGuard Lorg/graalvm/compiler/nodes/FixedGuardNode;
MethodParameters:
Name Flags
kit
object
type
}
SourceFile: "JNINativeCallWrapperMethod.java"
InnerClasses:
public final Purpose = com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose of com.oracle.graal.pointsto.infrastructure.GraphProvider
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node