public final class com.oracle.svm.hosted.c.OffsetOfSupportImpl implements com.oracle.svm.core.c.struct.OffsetOf$Support
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.hosted.c.OffsetOfSupportImpl
super_class: java.lang.Object
{
private final com.oracle.svm.hosted.c.NativeLibraries nativeLibraries;
descriptor: Lcom/oracle/svm/hosted/c/NativeLibraries;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.MetaAccessProvider metaAccess;
descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.svm.hosted.c.NativeLibraries, jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Lcom/oracle/svm/hosted/c/NativeLibraries;Ljdk/vm/ci/meta/MetaAccessProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, 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.OffsetOfSupportImpl.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
2: aload 0
aload 2
putfield com.oracle.svm.hosted.c.OffsetOfSupportImpl.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/c/OffsetOfSupportImpl;
0 4 1 nativeLibraries Lcom/oracle/svm/hosted/c/NativeLibraries;
0 4 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
MethodParameters:
Name Flags
nativeLibraries
metaAccess
public int offsetOf(java.lang.Class<? extends org.graalvm.word.PointerBase>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.hosted.c.OffsetOfSupportImpl.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 1: aload 0
getfield com.oracle.svm.hosted.c.OffsetOfSupportImpl.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 3
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
astore 4
start local 4 2: aload 4
instanceof com.oracle.svm.hosted.c.info.StructInfo
new java.lang.StringBuilder
dup
ldc "Class parameter "
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;
ldc " of call to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/struct/SizeOf;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not an annotated C struct"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
3: aload 4
checkcast com.oracle.svm.hosted.c.info.StructInfo
astore 5
start local 5 4: aload 5
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.getChildren:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: com.oracle.svm.hosted.c.OffsetOfSupportImpl java.lang.Class java.lang.String jdk.vm.ci.meta.ResolvedJavaType com.oracle.svm.hosted.c.info.ElementInfo com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.c.info.ElementInfo
astore 6
start local 6 6: aload 6
instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
ifeq 10
7: aload 6
checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
astore 8
start local 8 8: aload 8
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 8
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 8 end local 6 10: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: new java.lang.StringBuilder
dup
ldc "Field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " of C struct "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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;
ldc " was not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/hosted/c/OffsetOfSupportImpl;
0 12 1 clazz Ljava/lang/Class<+Lorg/graalvm/word/PointerBase;>;
0 12 2 fieldName Ljava/lang/String;
1 12 3 type Ljdk/vm/ci/meta/ResolvedJavaType;
2 12 4 typeInfo Lcom/oracle/svm/hosted/c/info/ElementInfo;
4 12 5 structInfo Lcom/oracle/svm/hosted/c/info/StructInfo;
6 10 6 element Lcom/oracle/svm/hosted/c/info/ElementInfo;
8 10 8 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
Signature: (Ljava/lang/Class<+Lorg/graalvm/word/PointerBase;>;Ljava/lang/String;)I
MethodParameters:
Name Flags
clazz
fieldName
}
SourceFile: "OffsetOfSupportImpl.java"
InnerClasses:
public abstract Support = com.oracle.svm.core.c.struct.OffsetOf$Support of com.oracle.svm.core.c.struct.OffsetOf