public class com.oracle.svm.hosted.c.info.InfoTreeBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.c.info.InfoTreeBuilder
super_class: java.lang.Object
{
private final org.graalvm.compiler.phases.util.Providers originalProviders;
descriptor: Lorg/graalvm/compiler/phases/util/Providers;
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 com.oracle.svm.hosted.c.NativeCodeContext codeCtx;
descriptor: Lcom/oracle/svm/hosted/c/NativeCodeContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.c.info.NativeCodeInfo nativeCodeInfo;
descriptor: Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
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.c.info.InfoTreeBuilder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.svm.hosted.c.NativeLibraries, com.oracle.svm.hosted.c.NativeCodeContext);
descriptor: (Lcom/oracle/svm/hosted/c/NativeLibraries;Lcom/oracle/svm/hosted/c/NativeCodeContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
2: aload 0
aload 2
putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
3: aload 2
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
instanceof com.oracle.svm.hosted.c.BuiltinDirectives
istore 3
start local 3 4: aload 2
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
ifnull 7
5: aload 2
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 4
start local 4 6: goto 15
end local 4 7: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.c.NativeCodeContext int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 8: ldc ""
astore 6
start local 6 9: aload 2
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
invokeinterface org.graalvm.nativeimage.c.CContext$Directives.getHeaderFiles:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 13
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.c.NativeCodeContext int top java.lang.StringBuilder java.lang.String top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 11: aload 5
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: ldc "_"
astore 6
end local 7 13: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
14: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 6 end local 5 start local 4 15: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.c.NativeCodeContext int java.lang.String
StackMap stack:
aload 0
new com.oracle.svm.hosted.c.info.NativeCodeInfo
dup
aload 4
aload 2
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
iload 3
invokespecial com.oracle.svm.hosted.c.info.NativeCodeInfo.<init>:(Ljava/lang/String;Lorg/graalvm/nativeimage/c/CContext$Directives;Z)V
putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
16: aload 0
invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalProviders:()Lorg/graalvm/compiler/phases/util/Providers;
putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
17: return
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/c/info/InfoTreeBuilder;
0 18 1 nativeLibs Lcom/oracle/svm/hosted/c/NativeLibraries;
0 18 2 codeCtx Lcom/oracle/svm/hosted/c/NativeCodeContext;
4 18 3 isBuiltin Z
6 7 4 name Ljava/lang/String;
15 18 4 name Ljava/lang/String;
8 15 5 nameBuilder Ljava/lang/StringBuilder;
9 15 6 sep Ljava/lang/String;
11 13 7 headerFile Ljava/lang/String;
MethodParameters:
Name Flags
nativeLibs
codeCtx
public com.oracle.svm.hosted.c.info.NativeCodeInfo construct();
descriptor: ()Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getConstantAccessors:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
astore 1
start local 1 2: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createConstantInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getStructTypes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals:
StackMap stack:
5: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 1
start local 1 6: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createStructInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
end local 1 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getRawStructTypes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 11
StackMap locals:
StackMap stack:
9: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 1
start local 1 10: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createRawStructInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
end local 1 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getPointerToTypes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 15
StackMap locals:
StackMap stack:
13: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 1
start local 1 14: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createPointerToInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
end local 1 15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getEnumTypes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 19
StackMap locals:
StackMap stack:
17: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 1
start local 1 18: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
end local 1 19: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
2 3 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
6 7 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
10 11 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
14 15 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
18 19 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
private jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
protected void createConstantInfo(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
istore 2
start local 2 1: iload 2
ifeq 4
2: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong number of parameters: expected 0; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
3: return
4: StackMap locals: int
StackMap stack:
aload 1
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 5: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 7
6: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 9
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 3
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isString:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 9
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 3
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isByteArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 9
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 3
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isWordBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 9
7: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong return type: expected a primitive type, String, or a Word type; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)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 1
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
8: return
9: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getConstantName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
astore 4
start local 4 10: aload 0
aload 3
iconst_0
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
astore 5
start local 5 11: new com.oracle.svm.hosted.c.info.ConstantInfo
dup
aload 4
aload 5
aload 1
invokespecial com.oracle.svm.hosted.c.info.ConstantInfo.<init>:(Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
astore 6
start local 6 12: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
aload 6
invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
13: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
aload 6
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
14: return
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 15 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 15 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 15 2 actualParamCount I
5 15 3 returnType Ljdk/vm/ci/meta/ResolvedJavaType;
10 15 4 constantName Ljava/lang/String;
11 15 5 elementKind Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
12 15 6 constantInfo Lcom/oracle/svm/hosted/c/info/ConstantInfo;
MethodParameters:
Name Flags
method
private void createPointerToInfo(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.validInterfaceDefinition:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 18
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 6
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
goto 7
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
6: aload 3
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
StackMap locals:
StackMap stack: com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
7: astore 7
start local 7 8: aload 3
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
aload 7
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
if_acmpne 9
iconst_1
goto 10
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
StackMap stack: int
9: iconst_0
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
StackMap stack: int int
10: if_icmple 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 8
start local 8 13: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 3
aload 7
iload 8
iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 9
start local 9 14: aload 0
aload 9
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.accessorValid:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
ifeq 17
15: aload 2
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 3
aload 9
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
end local 9 end local 8 end local 7 end local 3 17: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
iload 5
if_icmplt 4
19: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getPointerToTypeName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
astore 3
start local 3 20: aload 1
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getTypedefName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
astore 4
start local 4 21: new com.oracle.svm.hosted.c.info.PointerToInfo
dup
aload 3
aload 4
aload 0
aload 2
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
aload 1
invokespecial com.oracle.svm.hosted.c.info.PointerToInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;Ljdk/vm/ci/meta/ResolvedJavaType;)V
astore 5
start local 5 22: aload 5
aload 2
invokevirtual com.oracle.svm.hosted.c.info.PointerToInfo.adoptChildren:(Ljava/util/Collection;)V
23: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
aload 5
invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
24: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
25: return
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 26 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 26 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
3 26 2 accessorInfos Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
5 17 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
8 17 7 accessorKind Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
13 17 8 isIndexed Z
14 17 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
20 26 3 typeName Ljava/lang/String;
21 26 4 typedefName Ljava/lang/String;
22 26 5 pointerToInfo Lcom/oracle/svm/hosted/c/info/PointerToInfo;
MethodParameters:
Name Flags
type
private static int getParameterCount(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
private static boolean returnsDeclaringClass(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessor Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
accessor
private static com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind getAccessorKind(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, 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;
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
goto 2
StackMap locals:
StackMap stack:
1: getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.GETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
StackMap locals:
StackMap stack: com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 accessor Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
accessor
public static java.lang.String getTypedefName(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/c/CTypedef;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.svm.core.c.CTypedef
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokeinterface com.oracle.svm.core.c.CTypedef.name:()Ljava/lang/String;
goto 3
StackMap locals: com.oracle.svm.core.c.CTypedef
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
1 4 1 typedefAnnotation Lcom/oracle/svm/core/c/CTypedef;
MethodParameters:
Name Flags
type
private void createStructInfo(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=17, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.validInterfaceDefinition:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 2
start local 2 3: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 49
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
6: aload 8
iload 6
aaload
astore 5
start local 5 7: aload 5
ldc Lorg/graalvm/nativeimage/c/struct/CField;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CField
astore 11
start local 11 8: aload 5
ldc Lorg/graalvm/nativeimage/c/struct/CFieldAddress;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CFieldAddress
astore 12
start local 12 9: aload 5
ldc Lorg/graalvm/nativeimage/c/struct/CFieldOffset;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CFieldOffset
astore 13
start local 13 10: aload 5
ldc Lorg/graalvm/nativeimage/c/struct/CBitfield;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CBitfield
astore 14
start local 14 11: aload 11
ifnull 15
12: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 5
aload 5
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
aload 0
aload 5
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasLocationIdentityParameter:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
aload 5
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasUniqueLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 9
start local 9 13: aload 9
aload 11
invokeinterface org.graalvm.nativeimage.c.struct.CField.value:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 14: goto 35
end local 10 end local 9 StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
StackMap stack:
15: aload 14
ifnull 19
16: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 5
aload 5
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
aload 0
aload 5
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasLocationIdentityParameter:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 9
start local 9 17: aload 9
aload 14
invokeinterface org.graalvm.nativeimage.c.struct.CBitfield.value:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 18: goto 35
end local 10 end local 9 StackMap locals:
StackMap stack:
19: aload 12
ifnull 23
20: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 5
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 9
start local 9 21: aload 9
aload 12
invokeinterface org.graalvm.nativeimage.c.struct.CFieldAddress.value:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 22: goto 35
end local 10 end local 9 StackMap locals:
StackMap stack:
23: aload 13
ifnull 27
24: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 5
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 9
start local 9 25: aload 9
aload 13
invokeinterface org.graalvm.nativeimage.c.struct.CFieldOffset.value:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 26: goto 35
end local 10 end local 9 StackMap locals:
StackMap stack:
27: aload 5
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 33
28: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 5
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
aload 5
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
ifle 29
iconst_1
goto 30
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
StackMap stack: new 28 new 28 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
29: iconst_0
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
StackMap stack: new 28 new 28 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind int
30: iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 9
start local 9 31: aconst_null
astore 10
start local 10 32: goto 35
end local 10 end local 9 33: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
ldc "Unexpected method without annotation"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
34: goto 48
start local 9 start local 10 35: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo java.lang.String org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
StackMap stack:
aload 0
aload 9
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.accessorValid:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
ifeq 48
36: aload 10
ifnonnull 39
37: aload 4
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
38: goto 47
39: StackMap locals:
StackMap stack:
aload 14
ifnull 40
aload 3
goto 41
StackMap locals:
StackMap stack:
40: aload 2
StackMap locals:
StackMap stack: java.util.Map
41: astore 15
start local 15 42: aload 15
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 16
start local 16 43: aload 16
ifnonnull 46
44: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 16
45: aload 15
aload 10
aload 16
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
46: StackMap locals: java.util.Map java.util.List
StackMap stack:
aload 16
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 15 47: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5
aload 9
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 5 48: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
49: iload 6
iload 7
if_icmplt 6
50: aload 1
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
aload 1
invokestatic com.oracle.svm.hosted.c.info.StructInfo.create:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/c/info/StructInfo;
astore 5
start local 5 51: aload 5
aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChildren:(Ljava/util/Collection;)V
52: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 57
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
StackMap stack:
53: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 54: new com.oracle.svm.hosted.c.info.StructFieldInfo
dup
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokespecial com.oracle.svm.hosted.c.info.StructFieldInfo.<init>:(Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;)V
astore 8
start local 8 55: aload 8
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.adoptChildren:(Ljava/util/Collection;)V
56: aload 5
aload 8
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
end local 8 end local 6 57: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
58: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 68
StackMap locals:
StackMap stack:
59: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 60: aload 2
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 63
61: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
ldc "Bitfield and regular field accessor methods cannot be mixed"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
dup
iconst_1
aload 2
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
62: goto 65
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo java.util.Map$Entry java.util.Iterator
StackMap stack:
63: aload 0
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
if_acmpeq 65
64: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
ldc "Bitfield accessor method must have integer kind"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
65: StackMap locals:
StackMap stack:
new com.oracle.svm.hosted.c.info.StructBitfieldInfo
dup
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial com.oracle.svm.hosted.c.info.StructBitfieldInfo.<init>:(Ljava/lang/String;)V
astore 8
start local 8 66: aload 8
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.adoptChildren:(Ljava/util/Collection;)V
67: aload 5
aload 8
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
end local 8 end local 6 68: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 59
69: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
aload 5
invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
70: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
71: return
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 72 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 72 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
3 72 2 fieldAccessorInfos Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
4 72 3 bitfieldAccessorInfos Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
5 72 4 structAccessorInfos Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
7 48 5 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
13 15 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
17 19 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
21 23 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
25 27 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
31 33 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
35 48 9 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
14 15 10 fieldName Ljava/lang/String;
18 19 10 fieldName Ljava/lang/String;
22 23 10 fieldName Ljava/lang/String;
26 27 10 fieldName Ljava/lang/String;
32 33 10 fieldName Ljava/lang/String;
35 48 10 fieldName Ljava/lang/String;
8 48 11 fieldAnnotation Lorg/graalvm/nativeimage/c/struct/CField;
9 48 12 fieldAddressAnnotation Lorg/graalvm/nativeimage/c/struct/CFieldAddress;
10 48 13 fieldOffsetAnnotation Lorg/graalvm/nativeimage/c/struct/CFieldOffset;
11 48 14 bitfieldAnnotation Lorg/graalvm/nativeimage/c/struct/CBitfield;
42 47 15 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
43 47 16 accessorInfos Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
51 72 5 structInfo Lcom/oracle/svm/hosted/c/info/StructInfo;
54 57 6 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
55 57 8 fieldInfo Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
60 68 6 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
66 68 8 bitfieldInfo Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;
MethodParameters:
Name Flags
type
private void createRawStructInfo(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=15, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.validInterfaceDefinition:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 2
start local 2 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 4: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 41
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 4
ldc Lorg/graalvm/nativeimage/c/struct/RawField;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.RawField
astore 10
start local 10 7: aload 4
ldc Lorg/graalvm/nativeimage/c/struct/RawFieldAddress;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.RawFieldAddress
astore 11
start local 11 8: aload 4
ldc Lorg/graalvm/nativeimage/c/struct/RawFieldOffset;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.RawFieldOffset
astore 12
start local 12 9: aload 10
ifnull 13
10: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 4
aload 4
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
aload 0
aload 4
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasLocationIdentityParameter:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
aload 4
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasUniqueLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 8
start local 8 11: aload 8
ldc ""
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 12: goto 29
end local 9 end local 8 StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
StackMap stack:
13: aload 11
ifnull 17
14: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 4
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 8
start local 8 15: aload 8
ldc ""
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 16: goto 29
end local 9 end local 8 StackMap locals:
StackMap stack:
17: aload 12
ifnull 21
18: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 4
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
iconst_0
iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 8
start local 8 19: aload 8
ldc ""
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 20: goto 29
end local 9 end local 8 StackMap locals:
StackMap stack:
21: aload 4
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 27
22: new com.oracle.svm.hosted.c.info.AccessorInfo
dup
aload 4
getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
aload 4
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
ifle 23
iconst_1
goto 24
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
StackMap stack: new 22 new 22 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
23: iconst_0
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
StackMap stack: new 22 new 22 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind int
24: iconst_0
iconst_0
invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
astore 8
start local 8 25: aconst_null
astore 9
start local 9 26: goto 29
end local 9 end local 8 27: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
ldc "Unexpected method without annotation"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
28: goto 40
start local 8 start local 9 29: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo java.lang.String org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
StackMap stack:
aload 0
aload 8
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.accessorValid:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
ifeq 40
30: aload 9
ifnonnull 33
31: aload 3
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: goto 39
33: StackMap locals:
StackMap stack:
aload 2
astore 13
start local 13 34: aload 13
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 14
start local 14 35: aload 14
ifnonnull 38
36: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
37: aload 13
aload 9
aload 14
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: StackMap locals: java.util.Map java.util.List
StackMap stack:
aload 14
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 end local 13 39: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 4
aload 8
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 4 40: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
41: iload 5
iload 6
if_icmplt 5
42: aload 1
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
aload 1
invokestatic com.oracle.svm.hosted.c.info.StructInfo.create:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/c/info/StructInfo;
astore 4
start local 4 43: aload 4
aload 3
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChildren:(Ljava/util/Collection;)V
44: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 49
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
StackMap stack:
45: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 46: new com.oracle.svm.hosted.c.info.StructFieldInfo
dup
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokespecial com.oracle.svm.hosted.c.info.StructFieldInfo.<init>:(Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;)V
astore 7
start local 7 47: aload 7
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.adoptChildren:(Ljava/util/Collection;)V
48: aload 4
aload 7
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
end local 7 end local 5 49: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
50: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
aload 4
invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
51: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
aload 4
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
52: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 53 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
3 53 2 fieldAccessorInfos Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
4 53 3 structAccessorInfos Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
6 40 4 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
11 13 8 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
15 17 8 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
19 21 8 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
25 27 8 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
29 40 8 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
12 13 9 fieldName Ljava/lang/String;
16 17 9 fieldName Ljava/lang/String;
20 21 9 fieldName Ljava/lang/String;
26 27 9 fieldName Ljava/lang/String;
29 40 9 fieldName Ljava/lang/String;
7 40 10 fieldAnnotation Lorg/graalvm/nativeimage/c/struct/RawField;
8 40 11 fieldAddressAnnotation Lorg/graalvm/nativeimage/c/struct/RawFieldAddress;
9 40 12 fieldOffsetAnnotation Lorg/graalvm/nativeimage/c/struct/RawFieldOffset;
34 39 13 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
35 39 14 accessorInfos Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
43 53 4 structInfo Lcom/oracle/svm/hosted/c/info/StructInfo;
46 49 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
47 49 7 fieldInfo Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
MethodParameters:
Name Flags
type
private boolean hasLocationIdentityParameter(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
istore 2
start local 2 1: iload 2
ifne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 1
iload 2
iconst_1
isub
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 4: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLocationIdentityType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
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/c/info/InfoTreeBuilder;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 5 2 parameterCount I
4 5 3 lastParam Ljdk/vm/ci/meta/JavaType;
MethodParameters:
Name Flags
method
private static boolean hasUniqueLocationIdentity(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/nativeimage/c/struct/UniqueLocationIdentity;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
private com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind(java.util.Collection<com.oracle.svm.hosted.c.info.AccessorInfo>);
descriptor: (Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder java.util.Collection com.oracle.svm.hosted.c.info.SizableInfo$ElementKind com.oracle.svm.hosted.c.info.AccessorInfo top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.c.info.AccessorInfo
astore 4
start local 4 4: invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$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 - 2
1: 5
2: 7
default: 9
}
5: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder java.util.Collection com.oracle.svm.hosted.c.info.SizableInfo$ElementKind com.oracle.svm.hosted.c.info.AccessorInfo com.oracle.svm.hosted.c.info.AccessorInfo java.util.Iterator
StackMap stack:
aload 4
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 6: goto 10
end local 6 7: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getValueParameterType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 8: goto 10
end local 6 9: StackMap locals:
StackMap stack:
goto 18
start local 6 10: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 4
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 7
start local 7 11: aload 0
aload 6
aload 7
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.isPinnedObjectFieldAccessor:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
astore 8
start local 8 12: aload 2
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
if_acmpne 16
13: aload 8
astore 2
14: aload 4
astore 3
15: goto 18
StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.SizableInfo$ElementKind
StackMap stack:
16: aload 2
aload 8
if_acmpeq 18
17: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
ldc "Accessor methods mix integer, floating point, and pointer kinds"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
dup
iconst_1
aload 7
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 8 end local 7 end local 6 end local 4 18: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder java.util.Collection com.oracle.svm.hosted.c.info.SizableInfo$ElementKind com.oracle.svm.hosted.c.info.AccessorInfo top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
19: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 20 1 accessorInfos Ljava/util/Collection<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
1 20 2 overallKind Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
2 20 3 overallKindAccessor Lcom/oracle/svm/hosted/c/info/AccessorInfo;
4 18 4 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
6 7 6 type Ljdk/vm/ci/meta/ResolvedJavaType;
8 9 6 type Ljdk/vm/ci/meta/ResolvedJavaType;
10 18 6 type Ljdk/vm/ci/meta/ResolvedJavaType;
11 18 7 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
12 18 8 newKind Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
Signature: (Ljava/util/Collection<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
MethodParameters:
Name Flags
accessorInfos
private com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind(jdk.vm.ci.meta.ResolvedJavaType, boolean);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 1
2: 1
3: 1
4: 1
5: 1
6: 2
7: 1
8: 2
9: 3
default: 12
}
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.FLOAT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isSigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 4
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isUnsigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 5
4: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
5: StackMap locals:
StackMap stack:
iload 2
ifeq 7
6: getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.OBJECT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isString:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 9
8: getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.STRING:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isByteArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 11
10: getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.BYTEARRAY:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.POINTER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
12: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 13 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
0 13 2 isPinnedObject Z
MethodParameters:
Name Flags
type
isPinnedObject
private static boolean isPinnedObjectFieldAccessor(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/c/struct/PinnedObjectField;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
private boolean accessorValid(com.oracle.svm.hosted.c.info.AccessorInfo);
descriptor: (Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 2
start local 2 1: aload 1
iconst_0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
istore 3
start local 3 2: aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
istore 4
start local 4 3: iload 4
iload 3
if_icmpeq 6
4: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong number of parameters: expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
5: iconst_0
ireturn
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod int int
StackMap stack:
aload 1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.isIndexed:()Z
ifeq 11
7: aload 1
aload 1
iconst_0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.indexParameterNumber:(Z)I
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(I)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 8: aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 11
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 11
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isSigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 11
9: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong type of index parameter 0: expected int, long, or Signed; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
10: iconst_0
ireturn
end local 5 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasLocationIdentityParameter:()Z
ifeq 14
aload 1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasUniqueLocationIdentity:()Z
ifeq 14
12: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Method cannot have annotation @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/struct/UniqueLocationIdentity;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " and a LocationIdentity parameter"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasLocationIdentityParameter:()Z
ifeq 19
15: aload 1
aload 1
iconst_0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.locationIdentityParameterNumber:(Z)I
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(I)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 16: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLocationIdentityType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 19
17: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong type of locationIdentity parameter: expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLocationIdentityType:()Ljdk/vm/ci/meta/ResolvedJavaType;
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
18: iconst_0
ireturn
end local 5 19: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 20: aload 0
aload 5
aload 2
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.checkObjectType:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 22
21: iconst_0
ireturn
22: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
aload 1
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 { // 2 - 4
2: 29
3: 26
4: 23
default: 31
}
23: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isPointerBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 24
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isSigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 24
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isUnsigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 31
24: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong return type: expected a pointer type; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
25: iconst_0
ireturn
26: StackMap locals:
StackMap stack:
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 31
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isUnsigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 31
27: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong return type: expected an integer numeric type or Unsigned; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
28: iconst_0
ireturn
29: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getValueParameterType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.checkObjectType:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 31
30: iconst_0
ireturn
31: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 32 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 32 1 accessorInfo Lcom/oracle/svm/hosted/c/info/AccessorInfo;
1 32 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 32 3 expectedParamCount I
3 32 4 actualParamCount I
8 11 5 paramType Ljdk/vm/ci/meta/ResolvedJavaType;
16 19 5 paramType Ljdk/vm/ci/meta/ResolvedJavaType;
20 32 5 returnType Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
accessorInfo
private boolean checkObjectType(jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 5
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isWordBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 5
aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.isPinnedObjectFieldAccessor:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 5
1: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Wrong type: expected a primitive type or a Word type; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ". Use the annotation @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lcom/oracle/svm/core/c/struct/PinnedObjectField;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " if you know what you are doing."
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
aastore
3: invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 6 1 returnType Ljdk/vm/ci/meta/ResolvedJavaType;
0 6 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
returnType
method
private boolean validInterfaceDefinition(jdk.vm.ci.meta.ResolvedJavaType, java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 1
aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifeq 2
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isPointerBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 4
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Annotation @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " can only be used on an interface that extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/word/PointerBase;
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 1
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 5 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
0 5 2 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
MethodParameters:
Name Flags
type
annotationClass
private static java.lang.String removePrefix(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual java.lang.String.length:()I
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 2: aload 2
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
3: aload 2
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
4: aload 2
ldc "_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
5: aload 2
ldc "_"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
6: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 name Ljava/lang/String;
0 7 1 prefix Ljava/lang/String;
2 7 2 result Ljava/lang/String;
MethodParameters:
Name Flags
name
prefix
private static java.lang.String getConstantName(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/nativeimage/c/constant/CConstant;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.constant.CConstant
astore 1
start local 1 1: aload 1
invokeinterface org.graalvm.nativeimage.c.constant.CConstant.value:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
invokevirtual java.lang.String.length:()I
ifne 5
3: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
astore 2
4: aload 2
ldc "get"
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.removePrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
5: StackMap locals: org.graalvm.nativeimage.c.constant.CConstant java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 6 1 constantAnnotation Lorg/graalvm/nativeimage/c/constant/CConstant;
2 6 2 name Ljava/lang/String;
MethodParameters:
Name Flags
method
private java.lang.String getPointerToTypeName(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CPointerTo
astore 2
start local 2 1: aload 2
invokeinterface org.graalvm.nativeimage.c.struct.CPointerTo.nameOfCType:()Ljava/lang/String;
astore 3
start local 3 2: aload 2
invokeinterface org.graalvm.nativeimage.c.struct.CPointerTo.value:()Ljava/lang/Class;
astore 4
start local 4 3: StackMap locals: org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class
StackMap stack:
aload 4
ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CStruct
astore 5
start local 5 4: aload 4
ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.RawStructure
astore 6
start local 6 5: aload 4
ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CPointerTo
astore 7
start local 7 6: aload 5
ifnonnull 12
aload 6
ifnonnull 12
aload 7
ifnull 8
7: goto 12
8: StackMap locals: org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
StackMap stack:
aload 4
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
arraylength
iconst_1
if_icmpne 9
aload 4
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
iconst_0
aaload
goto 10
StackMap locals:
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: java.lang.Class
10: astore 4
11: aload 4
ifnonnull 3
12: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.String.length:()I
ifle 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: aload 5
ifnull 15
iconst_1
goto 16
StackMap locals:
StackMap stack: int
15: iconst_0
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
StackMap stack: int int
16: iadd
aload 6
ifnull 17
iconst_1
goto 18
StackMap locals:
StackMap stack: int
17: iconst_0
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
StackMap stack: int int
18: iadd
aload 7
ifnull 19
iconst_1
goto 20
StackMap locals:
StackMap stack: int
19: iconst_0
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
StackMap stack: int int
20: iadd
istore 8
start local 8 21: iload 8
iconst_1
if_icmpeq 28
22: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Exactly one of 1) literal C type name, 2) class annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "3) class annotated with @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "4) class annotated with @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must be specified in @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " annotation"
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 1
aastore
26: invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
27: ldc "__error"
areturn
28: StackMap locals: int
StackMap stack:
aload 5
ifnonnull 29
aload 6
ifnull 30
29: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructName:(Ljdk/vm/ci/meta/ResolvedJavaType;)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
30: StackMap locals:
StackMap stack:
aload 7
ifnull 32
31: new java.lang.StringBuilder
dup
aload 0
aload 0
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getPointerToTypeName:(Ljdk/vm/ci/meta/ResolvedJavaType;)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
32: StackMap locals:
StackMap stack:
aload 3
areturn
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 33 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 33 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
1 33 2 pointerToAnnotation Lorg/graalvm/nativeimage/c/struct/CPointerTo;
2 33 3 nameOfCType Ljava/lang/String;
3 33 4 pointerToType Ljava/lang/Class<*>;
4 33 5 pointerToCStructAnnotation Lorg/graalvm/nativeimage/c/struct/CStruct;
5 33 6 pointerToRawStructAnnotation Lorg/graalvm/nativeimage/c/struct/RawStructure;
6 33 7 pointerToPointerAnnotation Lorg/graalvm/nativeimage/c/struct/CPointerTo;
21 33 8 n I
MethodParameters:
Name Flags
type
private static java.lang.String getStructName(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.CStruct
astore 1
start local 1 1: aload 1
ifnonnull 5
2: aload 0
ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.struct.RawStructure
astore 2
start local 2 3: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 4
aload 2
ifnonnull 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unexpected struct type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure
StackMap stack:
aload 0
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getSimpleJavaName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.nativeimage.c.struct.CStruct.value:()Ljava/lang/String;
astore 2
start local 2 6: aload 2
invokevirtual java.lang.String.length:()I
ifne 8
7: aload 0
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getSimpleJavaName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
astore 2
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokeinterface org.graalvm.nativeimage.c.struct.CStruct.addStructKeyword:()Z
ifeq 10
9: new java.lang.StringBuilder
dup
ldc "struct "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
1 11 1 structAnnotation Lorg/graalvm/nativeimage/c/struct/CStruct;
3 5 2 rsanno Lorg/graalvm/nativeimage/c/struct/RawStructure;
6 11 2 name Ljava/lang/String;
MethodParameters:
Name Flags
type
private static java.lang.String getSimpleJavaName(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
iconst_0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
astore 1
start local 1 1: aload 1
bipush 36
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 2: iload 2
iflt 4
3: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
4: StackMap locals: java.lang.String int
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
1 5 1 name Ljava/lang/String;
2 5 2 innerClassSeparator I
MethodParameters:
Name Flags
type
private static java.lang.String getStructFieldName(com.oracle.svm.hosted.c.info.AccessorInfo, java.lang.String);
descriptor: (Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 0
invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorPrefix:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.removePrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 info Lcom/oracle/svm/hosted/c/info/AccessorInfo;
0 3 1 annotationValue Ljava/lang/String;
MethodParameters:
Name Flags
info
annotationValue
private void createEnumInfo(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isEnum:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 3
1: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Annotation @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnum;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " can only be used on an Java enumeration"
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 1
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/graalvm/nativeimage/c/constant/CEnum;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.constant.CEnum
astore 2
start local 2 4: aload 2
invokeinterface org.graalvm.nativeimage.c.constant.CEnum.value:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 9
6: aload 2
invokeinterface org.graalvm.nativeimage.c.constant.CEnum.addEnumKeyword:()Z
ifeq 10
7: new java.lang.StringBuilder
dup
ldc "enum "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
8: goto 10
9: StackMap locals: org.graalvm.nativeimage.c.constant.CEnum java.lang.String
StackMap stack:
ldc "int"
astore 3
10: StackMap locals:
StackMap stack:
new com.oracle.svm.hosted.c.info.EnumInfo
dup
aload 3
aload 1
invokespecial com.oracle.svm.hosted.c.info.EnumInfo.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaType;)V
astore 4
start local 4 11: aload 1
checkcast com.oracle.graal.pointsto.infrastructure.WrappedJavaType
invokeinterface com.oracle.graal.pointsto.infrastructure.WrappedJavaType.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 12: aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 18
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
13: aload 9
iload 7
aaload
astore 6
start local 6 14: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 15
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 17
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 17
16: aload 0
aload 4
aload 6
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumConstantInfo:(Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaField;)V
end local 6 17: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
iload 8
if_icmplt 13
19: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 26
StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
20: aload 9
iload 7
aaload
astore 6
start local 6 21: aload 6
ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 23
22: aload 0
aload 4
aload 6
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumValueInfo:(Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
23: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
aload 6
ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 25
24: aload 0
aload 4
aload 6
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumLookupInfo:(Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
end local 6 25: StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 7
iload 8
if_icmplt 20
27: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
aload 4
invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
28: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 1
aload 4
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
29: return
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 30 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 30 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
4 30 2 annotation Lorg/graalvm/nativeimage/c/constant/CEnum;
5 30 3 name Ljava/lang/String;
11 30 4 enumInfo Lcom/oracle/svm/hosted/c/info/EnumInfo;
12 30 5 wrappedType Ljdk/vm/ci/meta/ResolvedJavaType;
14 17 6 field Ljdk/vm/ci/meta/ResolvedJavaField;
21 25 6 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
type
private void createEnumConstantInfo(com.oracle.svm.hosted.c.info.EnumInfo, jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaField;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 2
aconst_null
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.readFieldValue:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
start local 3 1: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 2: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 4
aload 3
invokeinterface jdk.vm.ci.meta.JavaConstant.isNonNull:()Z
ifeq 3
aload 4
aload 1
invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast com.oracle.graal.pointsto.infrastructure.WrappedElement
invokeinterface com.oracle.graal.pointsto.infrastructure.WrappedElement.getWrapped:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
StackMap locals: jdk.vm.ci.meta.JavaConstant jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 2
ldc Lorg/graalvm/nativeimage/c/constant/CEnumConstant;
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.constant.CEnumConstant
astore 5
start local 5 5: ldc ""
astore 6
start local 6 6: iconst_1
istore 7
start local 7 7: aload 5
ifnull 10
8: aload 5
invokeinterface org.graalvm.nativeimage.c.constant.CEnumConstant.value:()Ljava/lang/String;
astore 6
9: aload 5
invokeinterface org.graalvm.nativeimage.c.constant.CEnumConstant.includeInLookup:()Z
istore 7
10: StackMap locals: org.graalvm.nativeimage.c.constant.CEnumConstant java.lang.String int
StackMap stack:
aload 6
invokevirtual java.lang.String.length:()I
ifne 12
11: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
astore 6
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljava/lang/Enum;
aload 3
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
checkcast java.lang.Enum
astore 8
start local 8 13: new com.oracle.svm.hosted.c.info.EnumConstantInfo
dup
aload 6
aload 2
iload 7
aload 8
invokespecial com.oracle.svm.hosted.c.info.EnumConstantInfo.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaField;ZLjava/lang/Enum;)V
astore 9
start local 9 14: aload 1
aload 9
invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
15: return
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 16 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 16 1 enumInfo Lcom/oracle/svm/hosted/c/info/EnumInfo;
0 16 2 field Ljdk/vm/ci/meta/ResolvedJavaField;
1 16 3 enumValue Ljdk/vm/ci/meta/JavaConstant;
2 16 4 originalType Ljdk/vm/ci/meta/ResolvedJavaType;
5 16 5 fieldAnnotation Lorg/graalvm/nativeimage/c/constant/CEnumConstant;
6 16 6 name Ljava/lang/String;
7 16 7 includeInLookup Z
13 16 8 value Ljava/lang/Enum<*>;
14 16 9 constantInfo Lcom/oracle/svm/hosted/c/info/EnumConstantInfo;
MethodParameters:
Name Flags
enumInfo
field
private static jdk.vm.ci.meta.ResolvedJavaMethod originalMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 1
aload 0
instanceof com.oracle.graal.pointsto.meta.AnalysisMethod
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 1
start local 1 2: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
instanceof com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod.getOriginal:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 5 1 analysisMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
4 5 2 wrapperMethod Lcom/oracle/svm/hosted/cenum/CEnumCallWrapperMethod;
MethodParameters:
Name Flags
method
private void createEnumValueInfo(com.oracle.svm.hosted.c.info.EnumInfo, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 1: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isNative:(I)Z
ifeq 2
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 4
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Method annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must be a non-static native method"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
3: return
4: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
ifeq 7
5: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Method annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " cannot have parameters"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
6: return
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
iconst_0
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
astore 4
start local 4 8: aload 4
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
if_acmpeq 11
9: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Method annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must have an integer return type"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
10: return
11: StackMap locals: com.oracle.svm.hosted.c.info.SizableInfo$ElementKind
StackMap stack:
new com.oracle.svm.hosted.c.info.EnumValueInfo
dup
aload 2
invokespecial com.oracle.svm.hosted.c.info.EnumValueInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
astore 5
start local 5 12: aload 1
aload 5
invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
13: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 2
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
14: return
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 15 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 15 1 enumInfo Lcom/oracle/svm/hosted/c/info/EnumInfo;
0 15 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 15 3 originalMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
8 15 4 elementKind Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
12 15 5 valueInfo Lcom/oracle/svm/hosted/c/info/EnumValueInfo;
MethodParameters:
Name Flags
enumInfo
method
private void createEnumLookupInfo(com.oracle.svm.hosted.c.info.EnumInfo, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 1: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isNative:(I)Z
ifeq 2
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 4
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Method annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must be a static native method"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
3: return
4: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
iconst_1
if_icmpne 5
aload 0
aload 2
iconst_0
invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/ResolvedJavaType;
iconst_0
invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
if_acmpeq 7
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Method annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must have exactly one integer parameter"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
6: return
7: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 10
8: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
new java.lang.StringBuilder
dup
ldc "Return type of method annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must be the annotation type"
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
aastore
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
9: return
10: StackMap locals:
StackMap stack:
aload 1
iconst_1
putfield com.oracle.svm.hosted.c.info.EnumInfo.needsLookup:Z
11: new com.oracle.svm.hosted.c.info.EnumLookupInfo
dup
aload 2
invokespecial com.oracle.svm.hosted.c.info.EnumLookupInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
astore 4
start local 4 12: aload 1
aload 4
invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
pop
13: aload 0
getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 2
aload 4
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
0 15 1 enumInfo Lcom/oracle/svm/hosted/c/info/EnumInfo;
0 15 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 15 3 originalMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
12 15 4 lookupInfo Lcom/oracle/svm/hosted/c/info/EnumLookupInfo;
MethodParameters:
Name Flags
enumInfo
method
private static <T extends java.lang.annotation.Annotation> T getMethodAnnotation(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Class<T>);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic org.graalvm.compiler.bytecode.BridgeMethodUtils.getAnnotation:(Ljava/lang/Class;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 1 annotationClass Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
method
annotationClass
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.c.info.InfoTreeBuilder.$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.c.info.InfoTreeBuilder.$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$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[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
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "InfoTreeBuilder.java"
InnerClasses:
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 Entry = java.util.Map$Entry of java.util.Map
public abstract Directives = org.graalvm.nativeimage.c.CContext$Directives of org.graalvm.nativeimage.c.CContext