public class com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin implements org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin
super_class: java.lang.Object
{
private final org.graalvm.compiler.word.WordTypes wordTypes;
descriptor: Lorg/graalvm/compiler/word/WordTypes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.c.NativeLibraries nativeLibs;
descriptor: Lcom/oracle/svm/hosted/c/NativeLibraries;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.ResolvedJavaType functionPointerType;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
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.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.word.WordTypes, com.oracle.svm.hosted.c.NativeLibraries);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/word/WordTypes;Lcom/oracle/svm/hosted/c/NativeLibraries;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
2: aload 0
aload 3
putfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
3: aload 0
aload 1
ldc Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
putfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.functionPointerType:Ljdk/vm/ci/meta/ResolvedJavaType;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 5 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 2 wordTypes Lorg/graalvm/compiler/word/WordTypes;
0 5 3 nativeLibs Lcom/oracle/svm/hosted/c/NativeLibraries;
MethodParameters:
Name Flags
metaAccess
wordTypes
nativeLibs
public boolean handleInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 2
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
astore 4
start local 4 1: aload 4
instanceof com.oracle.svm.hosted.c.info.AccessorInfo
ifeq 13
2: aload 4
invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
astore 5
start local 5 3: aload 5
instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
ifeq 8
4: aload 5
checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 5: aload 4
checkcast com.oracle.svm.hosted.c.info.AccessorInfo
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
if_acmpne 7
6: aload 0
aload 1
aload 2
aload 3
aload 4
checkcast com.oracle.svm.hosted.c.info.AccessorInfo
iload 6
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceOffsetOf:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
ireturn
7: StackMap locals: com.oracle.svm.hosted.c.info.ElementInfo com.oracle.svm.hosted.c.info.ElementInfo int
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
checkcast com.oracle.svm.hosted.c.info.AccessorInfo
iload 6
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceAccessor:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
ireturn
end local 6 8: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.svm.hosted.c.info.StructBitfieldInfo
ifeq 10
9: aload 0
aload 1
aload 2
aload 3
aload 5
checkcast com.oracle.svm.hosted.c.info.StructBitfieldInfo
aload 4
checkcast com.oracle.svm.hosted.c.info.AccessorInfo
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceBitfieldAccessor:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
ireturn
10: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.svm.hosted.c.info.StructInfo
ifne 11
aload 5
instanceof com.oracle.svm.hosted.c.info.PointerToInfo
ifeq 12
11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
checkcast com.oracle.svm.hosted.c.info.AccessorInfo
iconst_0
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceAccessor:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
ireturn
12: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 5 13: StackMap locals:
StackMap stack:
aload 4
instanceof com.oracle.svm.hosted.c.info.ConstantInfo
ifeq 15
14: aload 0
aload 1
aload 2
aload 4
checkcast com.oracle.svm.hosted.c.info.ConstantInfo
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceConstant:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/ConstantInfo;)Z
ireturn
15: StackMap locals:
StackMap stack:
aload 2
ldc Lorg/graalvm/nativeimage/c/function/InvokeCFunctionPointer;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 17
16: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceCFunctionPointerInvoke:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
ireturn
17: StackMap locals:
StackMap stack:
aload 2
ldc Lcom/oracle/svm/core/annotate/InvokeJavaFunctionPointer;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 19
18: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceJavaFunctionPointerInvoke:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
ireturn
19: StackMap locals:
StackMap stack:
aload 2
ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 31
20: aload 2
instanceof com.oracle.svm.hosted.meta.HostedMethod
ifeq 21
aload 2
checkcast com.oracle.svm.hosted.meta.HostedMethod
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
goto 22
StackMap locals:
StackMap stack:
21: aload 2
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaMethod
22: checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 5
start local 5 23: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 24
aload 5
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
instanceof com.oracle.svm.hosted.code.CEntryPointJavaCallStubMethod
ifeq 24
new java.lang.AssertionError
dup
ldc "Call stub should never have a @CEntryPoint annotation"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
24: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack:
invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 5
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.registerJavaStubForMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 6
start local 6 25: aload 2
instanceof com.oracle.svm.hosted.meta.HostedMethod
ifeq 28
26: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
checkcast com.oracle.svm.hosted.meta.HostedMetaAccess
astore 7
start local 7 27: aload 7
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.getUniverse:()Lcom/oracle/graal/pointsto/infrastructure/Universe;
aload 6
invokeinterface com.oracle.graal.pointsto.infrastructure.Universe.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 6
end local 7 28: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 29
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 29
new java.lang.AssertionError
dup
ldc "Plugin should not be called for the invoke in the stub itself"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
29: StackMap locals:
StackMap stack:
aload 1
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
aload 6
aload 3
iconst_0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
pop
30: iconst_1
ireturn
end local 6 end local 5 31: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 32 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 32 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 32 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
1 32 4 methodInfo Lcom/oracle/svm/hosted/c/info/ElementInfo;
3 13 5 parentInfo Lcom/oracle/svm/hosted/c/info/ElementInfo;
5 8 6 offset I
23 31 5 aMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
25 31 6 stub Ljdk/vm/ci/meta/ResolvedJavaMethod;
27 28 7 hMetaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
MethodParameters:
Name Flags
b
method
args
private boolean replaceOffsetOf(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, int);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 3
aload 3
arraylength
aload 4
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 1
iconst_0
goto 2
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int
StackMap stack: int com.oracle.svm.hosted.c.info.AccessorInfo
1: iconst_1
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int
StackMap stack: int com.oracle.svm.hosted.c.info.AccessorInfo int
2: invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 4: aload 1
aload 2
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
aload 6
iload 5
i2l
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
5: iconst_1
ireturn
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 6 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 6 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 6 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 6 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 6 4 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
0 6 5 displacement I
4 6 6 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
b
method
args
accessorInfo
displacement
private boolean replaceAccessor(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, int);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 1: aload 4
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.SizableInfo
astore 7
start local 7 2: aload 7
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.getSizeInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 8
start local 8 3: aload 7
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.isUnsigned:()Z
istore 9
start local 9 4: aload 7
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.isObject:()Z
istore 10
start local 10 5: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 6
aload 3
arraylength
aload 4
iconst_1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int
StackMap stack:
aload 3
iconst_1
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.baseParameterNumber:(Z)I
aaload
astore 11
start local 11 7: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 8
aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
aload 4
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 12
2: 36
3: 47
4: 9
default: 47
}
9: StackMap locals:
StackMap stack:
aload 6
new org.graalvm.compiler.nodes.calc.AddNode
dup
aload 11
aload 6
aload 3
aload 4
iload 5
iload 8
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffset:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;II)Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 12
start local 12 10: aload 1
aload 2
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
aload 12
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
11: iconst_1
ireturn
end local 12 12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
astore 12
start local 12 13: iload 8
aload 12
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.kindFromSize:(ILjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaKind;
astore 13
start local 13 14: aload 13
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 16
15: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 18
aload 12
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 13
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
aload 12
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
if_icmple 18
aload 13
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifne 18
aload 12
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 18
17: aload 12
astore 13
18: StackMap locals:
StackMap stack:
aload 6
aload 3
aload 4
aload 11
iload 5
iload 8
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 14
start local 14 19: aload 1
aload 2
aload 3
aload 4
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeLocationIdentity:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
astore 15
start local 15 20: aload 13
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 23
21: aload 1
aconst_null
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnStamp:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/core/common/type/StampPair;
invokevirtual org.graalvm.compiler.core.common.type.StampPair.getTrustedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 16
start local 16 22: goto 27
end local 16 StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity
StackMap stack:
23: aload 13
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 24
aload 13
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 26
24: StackMap locals:
StackMap stack:
aload 13
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 25: goto 27
end local 16 26: StackMap locals:
StackMap stack:
aload 13
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(I)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
astore 16
start local 16 27: StackMap locals: org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
iload 10
ifeq 30
28: aload 1
new org.graalvm.compiler.nodes.extended.JavaReadNode
dup
aload 16
aload 13
aload 14
aload 15
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
iconst_1
invokespecial org.graalvm.compiler.nodes.extended.JavaReadNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Z)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 17
start local 17 29: goto 34
end local 17 30: StackMap locals:
StackMap stack:
aload 1
aload 14
aload 15
aload 16
aload 4
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.readPrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 18
start local 18 31: aload 6
aload 18
aload 13
aload 12
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 32
aload 12
goto 33
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp top org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
32: aload 12
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp top org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
33: iload 9
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 17
end local 18 start local 17 34: StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
aload 2
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
aload 17
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
35: iconst_1
ireturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 36: StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
aload 4
iconst_1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.valueParameterNumber:(Z)I
aaload
astore 12
start local 12 37: aload 12
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 13
start local 13 38: iload 8
aload 13
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.kindFromSize:(ILjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaKind;
astore 14
start local 14 39: aload 6
aload 3
aload 4
aload 11
iload 5
iload 8
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 15
start local 15 40: aload 1
aload 2
aload 3
aload 4
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeLocationIdentity:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
astore 16
start local 16 41: iload 10
ifeq 44
42: aload 1
new org.graalvm.compiler.nodes.extended.JavaWriteNode
dup
aload 14
aload 15
aload 16
aload 12
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
iconst_1
invokespecial org.graalvm.compiler.nodes.extended.JavaWriteNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Z)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
43: goto 46
44: StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity
StackMap stack:
aload 6
aload 12
aload 13
aload 14
iload 9
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 17
start local 17 45: aload 1
aload 15
aload 16
aload 17
aload 4
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.writePrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)V
end local 17 46: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 16 end local 15 end local 14 end local 13 end local 12 47: StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
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 48 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 48 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 48 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 48 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 48 4 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
0 48 5 displacement I
1 48 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 48 7 sizableInfo Lcom/oracle/svm/hosted/c/info/SizableInfo;
3 48 8 elementSize I
4 48 9 isUnsigned Z
5 48 10 isPinnedObject Z
7 48 11 base Lorg/graalvm/compiler/nodes/ValueNode;
10 12 12 address Lorg/graalvm/compiler/nodes/ValueNode;
13 36 12 resultKind Ljdk/vm/ci/meta/JavaKind;
14 36 13 readKind Ljdk/vm/ci/meta/JavaKind;
19 36 14 offsetAddress Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
20 36 15 locationIdentity Lorg/graalvm/word/LocationIdentity;
22 23 16 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
25 26 16 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
27 36 16 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
29 30 17 node Lorg/graalvm/compiler/nodes/ValueNode;
34 36 17 node Lorg/graalvm/compiler/nodes/ValueNode;
31 34 18 read Lorg/graalvm/compiler/nodes/ValueNode;
37 47 12 value Lorg/graalvm/compiler/nodes/ValueNode;
38 47 13 valueKind Ljdk/vm/ci/meta/JavaKind;
39 47 14 writeKind Ljdk/vm/ci/meta/JavaKind;
40 47 15 offsetAddress Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
41 47 16 locationIdentity Lorg/graalvm/word/LocationIdentity;
45 46 17 adaptedValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
method
args
accessorInfo
displacement
private boolean replaceBitfieldAccessor(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.StructBitfieldInfo, com.oracle.svm.hosted.c.info.AccessorInfo);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=26, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getByteOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 1: aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getStartBitInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 2: aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getEndBitInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 8
start local 8 3: aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.isUnsigned:()Z
istore 9
start local 9 4: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 6
iload 6
iflt 5
iload 6
aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.SizableInfo
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.getSizeInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmplt 6
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int
StackMap stack:
5: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 8
iload 7
iflt 7
iload 7
bipush 8
if_icmplt 8
StackMap locals:
StackMap stack:
7: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 10
iload 8
iload 7
if_icmplt 9
iload 8
bipush 64
if_icmplt 10
StackMap locals:
StackMap stack:
9: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
iload 8
bipush 8
if_icmpge 13
11: getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
astore 10
start local 10 12: goto 20
end local 10 StackMap locals:
StackMap stack:
13: iload 8
bipush 16
if_icmpge 16
14: getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
astore 10
start local 10 15: goto 20
end local 10 StackMap locals:
StackMap stack:
16: iload 8
bipush 32
if_icmpge 19
17: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
astore 10
start local 10 18: goto 20
end local 10 19: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
astore 10
start local 10 20: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 10
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
istore 11
start local 11 21: iload 6
iload 11
irem
istore 12
start local 12 22: iload 12
ifle 26
iload 8
iload 12
bipush 8
imul
iadd
iload 11
bipush 8
imul
if_icmpge 26
23: iload 6
iload 12
isub
istore 6
24: iload 7
iload 12
bipush 8
imul
iadd
istore 7
25: iload 8
iload 12
bipush 8
imul
iadd
istore 8
26: StackMap locals: int int
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 28
iload 6
iflt 27
iload 6
aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.SizableInfo
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.getSizeInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmplt 28
StackMap locals:
StackMap stack:
27: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 30
iload 7
iflt 29
iload 7
iload 11
bipush 8
imul
if_icmplt 30
StackMap locals:
StackMap stack:
29: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 32
iload 8
iload 7
if_icmplt 31
iload 8
iload 11
bipush 8
imul
if_icmplt 32
StackMap locals:
StackMap stack:
31: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
iload 8
iload 7
isub
iconst_1
iadd
istore 13
start local 13 33: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 35
iload 13
ifle 34
iload 13
iload 11
bipush 8
imul
if_icmple 35
StackMap locals: int
StackMap stack:
34: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
aload 10
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 14
start local 14 36: aload 14
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 15
start local 15 37: aload 14
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
istore 16
start local 16 38: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 40
iload 7
iflt 39
iload 7
iload 16
if_icmplt 40
StackMap locals: jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int
StackMap stack:
39: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
40: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 42
iload 8
iload 7
if_icmplt 41
iload 8
iload 16
if_icmplt 42
StackMap locals:
StackMap stack:
41: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 43
iload 16
iload 13
if_icmpge 43
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 44
aload 3
arraylength
aload 5
iconst_1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
if_icmpeq 44
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
44: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.baseParameterNumber:(Z)I
aaload
astore 17
start local 17 45: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 18
start local 18 46: aload 18
aload 3
aload 5
aload 17
iload 6
iconst_m1
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 19
start local 19 47: aload 1
aload 2
aload 3
aload 5
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeLocationIdentity:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
astore 20
start local 20 48: aload 10
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(I)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
astore 21
start local 21 49: aload 1
aload 19
aload 20
aload 21
aload 5
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.readPrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 22
start local 22 50: aload 18
aload 22
aload 10
aload 14
iconst_1
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 22
51: invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
aload 5
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 52
2: 63
default: 73
}
52: StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int jdk.vm.ci.meta.JavaKind int int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
StackMap stack:
iload 9
ifeq 56
53: aload 18
new org.graalvm.compiler.nodes.calc.RightShiftNode
dup
aload 22
iload 7
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.RightShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 22
54: aload 18
new org.graalvm.compiler.nodes.calc.AndNode
dup
aload 22
aload 15
lconst_1
iload 13
lshl
lconst_1
lsub
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 22
55: goto 58
56: StackMap locals:
StackMap stack:
aload 18
new org.graalvm.compiler.nodes.calc.LeftShiftNode
dup
aload 22
iload 16
iload 8
isub
iconst_1
isub
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.LeftShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 22
57: aload 18
new org.graalvm.compiler.nodes.calc.RightShiftNode
dup
aload 22
iload 16
iload 13
isub
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.RightShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 22
58: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
astore 23
start local 23 59: aload 1
aload 2
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
aload 18
aload 22
aload 14
aload 23
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 60
aload 23
goto 61
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int jdk.vm.ci.meta.JavaKind int int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
60: aload 23
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int jdk.vm.ci.meta.JavaKind int int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
61: iload 9
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;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
62: iconst_1
ireturn
end local 23 63: StackMap locals:
StackMap stack:
lconst_1
iload 13
lshl
lconst_1
lsub
iload 7
lshl
ldc -1
lxor
lstore 23
start local 23 64: aload 18
new org.graalvm.compiler.nodes.calc.AndNode
dup
aload 22
aload 15
lload 23
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 22
65: aload 3
aload 5
iconst_1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.valueParameterNumber:(Z)I
aaload
astore 25
start local 25 66: aload 18
aload 25
aload 25
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 14
iload 9
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 25
67: aload 18
new org.graalvm.compiler.nodes.calc.AndNode
dup
aload 25
aload 15
lconst_1
iload 13
lshl
lconst_1
lsub
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 25
68: aload 18
new org.graalvm.compiler.nodes.calc.LeftShiftNode
dup
aload 25
iload 7
aload 18
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.LeftShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 25
69: aload 18
new org.graalvm.compiler.nodes.calc.OrNode
dup
aload 22
aload 25
invokespecial org.graalvm.compiler.nodes.calc.OrNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 22
70: aload 18
aload 22
aload 14
aload 10
iconst_1
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 22
71: aload 1
aload 19
aload 20
aload 22
aload 5
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.writePrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)V
72: iconst_1
ireturn
end local 25 end local 23 73: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 22 end local 21 end local 20 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 74 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 74 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 74 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 74 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 74 4 bitfieldInfo Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;
0 74 5 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
1 74 6 byteOffset I
2 74 7 startBit I
3 74 8 endBit I
4 74 9 isUnsigned Z
12 13 10 memoryKind Ljdk/vm/ci/meta/JavaKind;
15 16 10 memoryKind Ljdk/vm/ci/meta/JavaKind;
18 19 10 memoryKind Ljdk/vm/ci/meta/JavaKind;
20 74 10 memoryKind Ljdk/vm/ci/meta/JavaKind;
21 74 11 numBytes I
22 74 12 alignmentCorrection I
33 74 13 numBits I
36 74 14 computeKind Ljdk/vm/ci/meta/JavaKind;
37 74 15 computeStamp Lorg/graalvm/compiler/core/common/type/Stamp;
38 74 16 computeBits I
45 74 17 base Lorg/graalvm/compiler/nodes/ValueNode;
46 74 18 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
47 74 19 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
48 74 20 locationIdentity Lorg/graalvm/word/LocationIdentity;
49 74 21 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
50 74 22 cur Lorg/graalvm/compiler/nodes/ValueNode;
59 63 23 resultKind Ljdk/vm/ci/meta/JavaKind;
64 73 23 mask J
66 73 25 value Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
method
args
bitfieldInfo
accessorInfo
private static org.graalvm.compiler.nodes.ValueNode readPrimitive(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.core.common.type.Stamp, com.oracle.svm.hosted.c.info.AccessorInfo);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new com.oracle.svm.core.graal.nodes.CInterfaceReadNode
dup
aload 1
aload 2
aload 3
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
aload 4
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.accessName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Ljava/lang/String;
invokespecial com.oracle.svm.core.graal.nodes.CInterfaceReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Ljava/lang/String;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast com.oracle.svm.core.graal.nodes.CInterfaceReadNode
astore 5
start local 5 1: aload 5
iconst_1
invokevirtual com.oracle.svm.core.graal.nodes.CInterfaceReadNode.setForceFixed:(Z)V
2: aload 5
areturn
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 3 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 3 1 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
0 3 2 locationIdentity Lorg/graalvm/word/LocationIdentity;
0 3 3 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 3 4 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
1 3 5 read Lcom/oracle/svm/core/graal/nodes/CInterfaceReadNode;
MethodParameters:
Name Flags
b
address
locationIdentity
stamp
accessorInfo
private static void writePrimitive(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.ValueNode, com.oracle.svm.hosted.c.info.AccessorInfo);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new com.oracle.svm.core.graal.nodes.CInterfaceWriteNode
dup
aload 1
aload 2
aload 3
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
aload 4
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.accessName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Ljava/lang/String;
invokespecial com.oracle.svm.core.graal.nodes.CInterfaceWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Ljava/lang/String;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 2 1 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
0 2 2 locationIdentity Lorg/graalvm/word/LocationIdentity;
0 2 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
MethodParameters:
Name Flags
b
address
locationIdentity
value
accessorInfo
private static java.lang.String accessName(com.oracle.svm.hosted.c.info.AccessorInfo);
descriptor: (Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
ifeq 2
1: new java.lang.StringBuilder
dup
aload 0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
MethodParameters:
Name Flags
accessorInfo
private static org.graalvm.compiler.nodes.ValueNode makeOffset(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, int, int);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;II)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
iload 3
i2l
aload 0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 5
start local 5 1: aload 2
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.isIndexed:()Z
ifeq 7
2: aload 1
aload 2
iconst_1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.indexParameterNumber:(Z)I
aaload
astore 6
start local 6 3: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 4
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 6
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()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 7
start local 7 5: aload 0
new org.graalvm.compiler.nodes.calc.MulNode
dup
aload 7
invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
iload 4
i2l
aload 0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.MulNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 6: aload 0
new org.graalvm.compiler.nodes.calc.AddNode
dup
aload 8
aload 5
invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
end local 8 end local 7 end local 6 7: StackMap locals:
StackMap stack:
aload 5
areturn
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 8 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 8 1 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 8 2 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
0 8 3 displacement I
0 8 4 indexScaling I
1 8 5 offset Lorg/graalvm/compiler/nodes/ValueNode;
3 7 6 index Lorg/graalvm/compiler/nodes/ValueNode;
5 7 7 wordIndex Lorg/graalvm/compiler/nodes/ValueNode;
6 7 8 scaledIndex Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
args
accessorInfo
displacement
indexScaling
private static org.graalvm.compiler.nodes.memory.address.AddressNode makeOffsetAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, org.graalvm.compiler.nodes.ValueNode, int, int);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 3
aload 0
aload 1
aload 2
iload 4
iload 5
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffset:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;II)Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
areturn
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 1 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 1 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
0 1 3 base Lorg/graalvm/compiler/nodes/ValueNode;
0 1 4 displacement I
0 1 5 indexScaling I
MethodParameters:
Name Flags
graph
args
accessorInfo
base
displacement
indexScaling
private static org.graalvm.word.LocationIdentity makeLocationIdentity(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasLocationIdentityParameter:()Z
ifeq 11
1: aload 2
aload 3
iconst_1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.locationIdentityParameterNumber:(Z)I
aaload
astore 5
start local 5 2: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 9
3: new com.oracle.svm.hosted.c.CInterfaceError
dup
4: new java.lang.StringBuilder
dup
ldc "locationIdentity is not a compile time constant for call to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
5: aload 1
6: aastore
invokespecial com.oracle.svm.hosted.c.CInterfaceError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
7: invokevirtual com.oracle.svm.hosted.c.CInterfaceError.getMessage:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
8: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
9: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo top org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
checkcast org.graalvm.word.LocationIdentity
astore 4
end local 5 start local 4 10: goto 17
end local 4 StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo
StackMap stack:
11: aload 3
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasUniqueLocationIdentity:()Z
ifeq 16
12: aload 3
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
astore 5
start local 5 13: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 14
aload 5
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
ifnonnull 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo top com.oracle.svm.hosted.c.info.StructFieldInfo
StackMap stack:
aload 5
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 4
end local 5 start local 4 15: goto 17
end local 4 16: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo
StackMap stack:
getstatic com.oracle.svm.core.c.struct.CInterfaceLocationIdentity.DEFAULT_LOCATION_IDENTITY:Lorg/graalvm/word/LocationIdentity;
astore 4
start local 4 17: StackMap locals: org.graalvm.word.LocationIdentity
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 18 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 18 2 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 18 3 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
10 11 4 locationIdentity Lorg/graalvm/word/LocationIdentity;
15 16 4 locationIdentity Lorg/graalvm/word/LocationIdentity;
17 18 4 locationIdentity Lorg/graalvm/word/LocationIdentity;
2 10 5 locationIdentityNode Lorg/graalvm/compiler/nodes/ValueNode;
13 15 5 fieldInfo Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
MethodParameters:
Name Flags
b
method
args
accessorInfo
public static org.graalvm.compiler.nodes.ValueNode adaptPrimitiveType(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, boolean);
descriptor: (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;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 3
if_acmpne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 3
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
istore 5
start local 5 4: aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
istore 6
start local 6 5: iload 5
iload 6
if_icmpne 7
6: aload 1
areturn
7: StackMap locals: int int
StackMap stack:
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifeq 16
8: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 11
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 11
9: getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
astore 7
start local 7 10: goto 15
end local 7 StackMap locals:
StackMap stack:
11: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 14
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 14
12: getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
astore 7
start local 7 13: goto 15
end local 7 14: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 7 15: StackMap locals: org.graalvm.compiler.core.common.calc.FloatConvert
StackMap stack:
aload 0
new org.graalvm.compiler.nodes.calc.FloatConvertNode
dup
aload 7
aload 1
invokespecial org.graalvm.compiler.nodes.calc.FloatConvertNode.<init>:(Lorg/graalvm/compiler/core/common/calc/FloatConvert;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 7 16: StackMap locals:
StackMap stack:
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 22
17: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 18
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
goto 19
StackMap locals:
StackMap stack:
18: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
19: astore 7
start local 7 20: aload 0
new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
dup
aload 0
aload 1
aload 2
aload 7
iconst_1
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;
aload 7
lconst_0
aload 0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 8
start local 8 21: aload 0
new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 8
iconst_0
aload 0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
iconst_1
aload 0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 8 end local 7 22: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmple 24
23: aload 0
new org.graalvm.compiler.nodes.calc.NarrowNode
dup
aload 1
iload 6
invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
24: StackMap locals:
StackMap stack:
iload 4
ifeq 26
25: aload 0
new org.graalvm.compiler.nodes.calc.ZeroExtendNode
dup
aload 1
iload 6
invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
26: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.nodes.calc.SignExtendNode
dup
aload 1
iload 6
invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
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 27 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 27 1 value Lorg/graalvm/compiler/nodes/ValueNode;
0 27 2 fromKind Ljdk/vm/ci/meta/JavaKind;
0 27 3 toKind Ljdk/vm/ci/meta/JavaKind;
0 27 4 isUnsigned Z
4 27 5 fromBits I
5 27 6 toBits I
10 11 7 op Lorg/graalvm/compiler/core/common/calc/FloatConvert;
13 14 7 op Lorg/graalvm/compiler/core/common/calc/FloatConvert;
15 16 7 op Lorg/graalvm/compiler/core/common/calc/FloatConvert;
20 22 7 computeKind Ljdk/vm/ci/meta/JavaKind;
21 22 8 comparison Lorg/graalvm/compiler/nodes/LogicNode;
MethodParameters:
Name Flags
graph
value
fromKind
toKind
isUnsigned
private static jdk.vm.ci.meta.JavaKind kindFromSize(int, jdk.vm.ci.meta.JavaKind);
descriptor: (ILjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaKind;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 1
iload 0
bipush 8
imul
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
if_icmpne 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 3
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 7
3: StackMap locals:
StackMap stack:
iload 0
tableswitch { // 4 - 8
4: 4
5: 6
6: 6
7: 6
8: 5
default: 6
}
4: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
areturn
5: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
areturn
6: StackMap locals:
StackMap stack:
goto 12
7: StackMap locals:
StackMap stack:
iload 0
tableswitch { // 1 - 8
1: 8
2: 9
3: 12
4: 10
5: 12
6: 12
7: 12
8: 11
default: 12
}
8: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
areturn
9: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
areturn
10: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
areturn
11: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
areturn
12: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unsupported size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 sizeInBytes I
0 13 1 matchingKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
sizeInBytes
matchingKind
private boolean replaceConstant(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, com.oracle.svm.hosted.c.info.ConstantInfo);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/ConstantInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual com.oracle.svm.hosted.c.info.ConstantInfo.getValueInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
astore 4
start local 4 1: aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 2: invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:()[I
aload 3
invokevirtual com.oracle.svm.hosted.c.info.ConstantInfo.getKind:()Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 3
2: 3
3: 10
4: 12
5: 12
default: 14
}
3: StackMap locals: java.lang.Object jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 8
4: aload 4
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lconst_0
lcmp
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 6
start local 6 7: goto 15
end local 6 8: StackMap locals:
StackMap stack:
aload 5
aload 4
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 6
start local 6 9: goto 15
end local 6 10: StackMap locals:
StackMap stack:
aload 5
aload 4
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forFloatingKind:(Ljdk/vm/ci/meta/JavaKind;DLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 6
start local 6 11: goto 15
end local 6 12: StackMap locals:
StackMap stack:
aload 4
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
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 6
start local 6 13: goto 15
end local 6 14: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unexpected constant kind "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
start local 6 15: StackMap locals: org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
aload 1
aload 2
invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
aload 6
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
16: iconst_1
ireturn
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 17 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 17 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 17 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 17 3 constantInfo Lcom/oracle/svm/hosted/c/info/ConstantInfo;
1 17 4 value Ljava/lang/Object;
2 17 5 kind Ljdk/vm/ci/meta/JavaKind;
7 8 6 valueNode Lorg/graalvm/compiler/nodes/ConstantNode;
9 10 6 valueNode Lorg/graalvm/compiler/nodes/ConstantNode;
11 12 6 valueNode Lorg/graalvm/compiler/nodes/ConstantNode;
13 14 6 valueNode Lorg/graalvm/compiler/nodes/ConstantNode;
15 17 6 valueNode Lorg/graalvm/compiler/nodes/ConstantNode;
MethodParameters:
Name Flags
b
method
constantInfo
private boolean replaceCFunctionPointerInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof com.oracle.svm.hosted.meta.HostedMethod
istore 4
start local 4 1: iload 4
ifeq 2
aload 2
checkcast com.oracle.svm.hosted.meta.HostedMethod
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
goto 3
StackMap locals: int
StackMap stack:
2: aload 2
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaMethod
3: checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 5
start local 5 4: invokestatic com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CFunctionPointerCallStubSupport;
aload 5
invokevirtual com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.isStub:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.functionPointerType:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 12
7: new com.oracle.svm.hosted.c.CInterfaceError
dup
new java.lang.StringBuilder
dup
ldc "Function pointer invocation method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " must be in a type that extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
9: aastore
invokespecial com.oracle.svm.hosted.c.CInterfaceError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
10: invokevirtual com.oracle.svm.hosted.c.CInterfaceError.getMessage:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
11: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
12: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 13
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Interface:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CFunctionPointerCallStubSupport;
aload 5
invokevirtual com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.getOrCreateStubForMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 6
start local 6 14: iload 4
ifeq 16
15: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
checkcast com.oracle.svm.hosted.meta.HostedMetaAccess
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.getUniverse:()Lcom/oracle/graal/pointsto/infrastructure/Universe;
aload 6
invokeinterface com.oracle.graal.pointsto.infrastructure.Universe.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 6
16: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 1
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
aload 6
aload 3
iconst_0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
pop
17: iconst_1
ireturn
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 18 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 18 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 18 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 18 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
1 18 4 hosted Z
4 18 5 aMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
14 18 6 stub Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
b
method
args
private boolean replaceJavaFunctionPointerInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.functionPointerType:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 6
1: new com.oracle.svm.hosted.c.CInterfaceError
dup
new java.lang.StringBuilder
dup
ldc "Function pointer invocation method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " must be in a type that extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
3: aastore
invokespecial com.oracle.svm.hosted.c.CInterfaceError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
4: invokevirtual com.oracle.svm.hosted.c.CInterfaceError.getMessage:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
5: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
6: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 7
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Interface:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
aconst_null
invokeinterface jdk.vm.ci.meta.Signature.toParameterTypes:(Ljdk/vm/ci/meta/JavaType;)[Ljdk/vm/ci/meta/JavaType;
astore 4
start local 4 8: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 9
aload 3
arraylength
iconst_1
if_icmpge 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: jdk.vm.ci.meta.JavaType[]
StackMap stack:
aload 3
iconst_0
aaload
astore 5
start local 5 10: aload 3
iconst_1
aload 3
arraylength
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode[]
astore 6
start local 6 11: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
ifne 12
aload 6
arraylength
aload 4
arraylength
if_icmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode[]
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
ifeq 15
13: aload 0
getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 14: goto 16
end local 7 15: StackMap locals:
StackMap stack:
aload 1
aconst_null
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnStamp:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/core/common/type/StampPair;
invokevirtual org.graalvm.compiler.core.common.type.StampPair.getTrustedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 16: StackMap locals: org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 1
new org.graalvm.compiler.nodes.IndirectCallTargetNode
dup
aload 5
aload 6
17: aload 7
invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
aload 4
aconst_null
getstatic com.oracle.svm.core.graal.code.SubstrateCallingConventionType.JavaCall:Lcom/oracle/svm/core/graal/code/SubstrateCallingConventionType;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokespecial org.graalvm.compiler.nodes.IndirectCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
18: invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.CallTargetNode
astore 8
start local 8 19: aload 1
aload 8
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode;Ljdk/vm/ci/meta/JavaKind;)V
20: iconst_1
ireturn
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 21 0 this Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
0 21 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 21 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 21 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
8 21 4 parameterTypes [Ljdk/vm/ci/meta/JavaType;
10 21 5 methodAddress Lorg/graalvm/compiler/nodes/ValueNode;
11 21 6 argsWithoutReceiver [Lorg/graalvm/compiler/nodes/ValueNode;
14 15 7 returnStamp Lorg/graalvm/compiler/core/common/type/Stamp;
16 21 7 returnStamp Lorg/graalvm/compiler/core/common/type/Stamp;
19 21 8 indirectCallTargetNode Lorg/graalvm/compiler/nodes/CallTargetNode;
MethodParameters:
Name Flags
b
method
args
public static jdk.vm.ci.meta.JavaKind pushKind(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
static int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.values:()[Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.GETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.values:()[Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.BYTEARRAY:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.FLOAT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.OBJECT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.POINTER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.STRING:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "CInterfaceInvocationPlugin.java"
InnerClasses:
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public final AccessorKind = com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind of com.oracle.svm.hosted.c.info.AccessorInfo
public final ElementKind = com.oracle.svm.hosted.c.info.SizableInfo$ElementKind of com.oracle.svm.hosted.c.info.SizableInfo
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess