public final class com.oracle.svm.jni.access.JNIAccessibleField extends com.oracle.svm.jni.access.JNIAccessibleMember
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.jni.access.JNIAccessibleField
super_class: com.oracle.svm.jni.access.JNIAccessibleMember
{
private static final org.graalvm.word.UnsignedWord ID_STATIC_FLAG;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord ID_OBJECT_FLAG;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord ID_OFFSET_MASK;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.word.UnsignedWord flags;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
private org.graalvm.word.UnsignedWord id;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x0002) ACC_PRIVATE
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=2, locals=0, args_size=0
0: ldc Lcom/oracle/svm/jni/access/JNIAccessibleField;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.jni.access.JNIAccessibleField.$assertionsDisabled:Z
3: ldc -1
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.unsignedShiftRight:(I)Lorg/graalvm/word/UnsignedWord;
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_STATIC_FLAG:Lorg/graalvm/word/UnsignedWord;
4: getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_STATIC_FLAG:Lorg/graalvm/word/UnsignedWord;
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.unsignedShiftRight:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_OBJECT_FLAG:Lorg/graalvm/word/UnsignedWord;
5: getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_OBJECT_FLAG:Lorg/graalvm/word/UnsignedWord;
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.subtract:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_OFFSET_MASK:Lorg/graalvm/word/UnsignedWord;
return
LocalVariableTable:
Start End Slot Name Signature
public static org.graalvm.word.WordBase getOffsetFromId(com.oracle.svm.jni.nativeapi.JNIFieldId);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIFieldId;)Lorg/graalvm/word/WordBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
checkcast org.graalvm.word.UnsignedWord
getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_OFFSET_MASK:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: getstatic com.oracle.svm.jni.access.JNIAccessibleField.$assertionsDisabled:Z
ifne 2
aload 1
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 id Lcom/oracle/svm/jni/nativeapi/JNIFieldId;
1 3 1 result Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
id
void <init>(com.oracle.svm.jni.access.JNIAccessibleClass, java.lang.String, jdk.vm.ci.meta.JavaKind, int);
descriptor: (Lcom/oracle/svm/jni/access/JNIAccessibleClass;Ljava/lang/String;Ljdk/vm/ci/meta/JavaKind;I)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial com.oracle.svm.jni.access.JNIAccessibleMember.<init>:(Lcom/oracle/svm/jni/access/JNIAccessibleClass;)V
1: aload 0
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
putfield com.oracle.svm.jni.access.JNIAccessibleField.id:Lorg/graalvm/word/UnsignedWord;
2: aload 0
aload 2
putfield com.oracle.svm.jni.access.JNIAccessibleField.name:Ljava/lang/String;
3: iload 4
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 4
getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_STATIC_FLAG:Lorg/graalvm/word/UnsignedWord;
goto 5
StackMap locals: com.oracle.svm.jni.access.JNIAccessibleField com.oracle.svm.jni.access.JNIAccessibleClass java.lang.String jdk.vm.ci.meta.JavaKind int
StackMap stack:
4: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
StackMap locals:
StackMap stack: org.graalvm.word.UnsignedWord
5: astore 5
start local 5 6: aload 5
aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
ifeq 7
getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_OBJECT_FLAG:Lorg/graalvm/word/UnsignedWord;
goto 8
StackMap locals: com.oracle.svm.jni.access.JNIAccessibleField com.oracle.svm.jni.access.JNIAccessibleClass java.lang.String jdk.vm.ci.meta.JavaKind int org.graalvm.word.UnsignedWord
StackMap stack: org.graalvm.word.UnsignedWord
7: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
StackMap locals: com.oracle.svm.jni.access.JNIAccessibleField com.oracle.svm.jni.access.JNIAccessibleClass java.lang.String jdk.vm.ci.meta.JavaKind int org.graalvm.word.UnsignedWord
StackMap stack: org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
8: invokeinterface org.graalvm.word.UnsignedWord.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 5
9: aload 0
aload 5
putfield com.oracle.svm.jni.access.JNIAccessibleField.flags:Lorg/graalvm/word/UnsignedWord;
10: 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 11 0 this Lcom/oracle/svm/jni/access/JNIAccessibleField;
0 11 1 declaringClass Lcom/oracle/svm/jni/access/JNIAccessibleClass;
0 11 2 name Ljava/lang/String;
0 11 3 kind Ljdk/vm/ci/meta/JavaKind;
0 11 4 modifiers I
6 11 5 bits Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
declaringClass
name
kind
modifiers
public com.oracle.svm.jni.nativeapi.JNIFieldId getId();
descriptor: ()Lcom/oracle/svm/jni/nativeapi/JNIFieldId;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.id:Lorg/graalvm/word/UnsignedWord;
checkcast com.oracle.svm.jni.nativeapi.JNIFieldId
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/jni/access/JNIAccessibleField;
public boolean isStatic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.jni.access.JNIAccessibleField.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.id:Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.id:Lorg/graalvm/word/UnsignedWord;
getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_STATIC_FLAG:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/jni/access/JNIAccessibleField;
void finishBeforeCompilation(com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.jni.access.JNIAccessibleField.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.id:Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.jni.access.JNIAccessibleField.getDeclaringClass:()Lcom/oracle/svm/jni/access/JNIAccessibleClass;
invokevirtual com.oracle.svm.jni.access.JNIAccessibleClass.getClassObject:()Ljava/lang/Class;
aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.name:Ljava/lang/String;
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 2: aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaField:(Ljava/lang/reflect/Field;)Lcom/oracle/svm/hosted/meta/HostedField;
astore 3
start local 3 3: getstatic com.oracle.svm.jni.access.JNIAccessibleField.$assertionsDisabled:Z
ifne 4
aload 3
invokevirtual com.oracle.svm.hosted.meta.HostedField.hasLocation:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: java.lang.reflect.Field com.oracle.svm.hosted.meta.HostedField
StackMap stack:
aload 3
invokevirtual com.oracle.svm.hosted.meta.HostedField.getLocation:()I
istore 4
start local 4 5: getstatic com.oracle.svm.jni.access.JNIAccessibleField.$assertionsDisabled:Z
ifne 6
getstatic com.oracle.svm.jni.access.JNIAccessibleField.ID_OFFSET_MASK:Lorg/graalvm/word/UnsignedWord;
iload 4
invokeinterface org.graalvm.word.UnsignedWord.and:(I)Lorg/graalvm/word/UnsignedWord;
iload 4
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.flags:Lorg/graalvm/word/UnsignedWord;
iload 4
invokeinterface org.graalvm.word.UnsignedWord.or:(I)Lorg/graalvm/word/UnsignedWord;
putfield com.oracle.svm.jni.access.JNIAccessibleField.id:Lorg/graalvm/word/UnsignedWord;
end local 4 end local 3 end local 2 7: goto 10
StackMap locals: com.oracle.svm.jni.access.JNIAccessibleField com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl
StackMap stack: java.lang.NoSuchFieldException
8: astore 2
start local 2 9: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 0
invokedynamic test(Lcom/oracle/svm/jni/access/JNIAccessibleField;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/svm/jni/access/JNIAccessibleField.lambda$0(Ljdk/vm/ci/meta/ResolvedJavaType;)Z (7)
(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
invokevirtual com.oracle.svm.jni.access.JNIAccessibleField.setHidingSubclasses:(Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Ljava/util/function/Predicate;)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/jni/access/JNIAccessibleField;
0 12 1 access Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
2 7 2 reflField Ljava/lang/reflect/Field;
3 7 3 field Lcom/oracle/svm/hosted/meta/HostedField;
5 7 4 offset I
9 10 2 e Ljava/lang/NoSuchFieldException;
Exception table:
from to target type
1 7 8 Class java.lang.NoSuchFieldException
MethodParameters:
Name Flags
access
private boolean anyMatchName(jdk.vm.ci.meta.ResolvedJavaField[]);
descriptor: ([Ljdk/vm/ci/meta/ResolvedJavaField;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: com.oracle.svm.jni.access.JNIAccessibleField jdk.vm.ci.meta.ResolvedJavaField[] top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
aload 0
getfield com.oracle.svm.jni.access.JNIAccessibleField.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/jni/access/JNIAccessibleField;
0 7 1 fields [Ljdk/vm/ci/meta/ResolvedJavaField;
2 4 2 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
fields
public com.oracle.svm.jni.access.JNIAccessibleClass getDeclaringClass();
descriptor: ()Lcom/oracle/svm/jni/access/JNIAccessibleClass;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.oracle.svm.jni.access.JNIAccessibleMember.getDeclaringClass:()Lcom/oracle/svm/jni/access/JNIAccessibleClass;
areturn
LocalVariableTable:
Start End Slot Name Signature
private boolean lambda$0(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual com.oracle.svm.jni.access.JNIAccessibleField.anyMatchName:([Ljdk/vm/ci/meta/ResolvedJavaField;)Z
ifne 1
aload 0
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual com.oracle.svm.jni.access.JNIAccessibleField.anyMatchName:([Ljdk/vm/ci/meta/ResolvedJavaField;)Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/jni/access/JNIAccessibleField;
0 3 1 sub Ljdk/vm/ci/meta/ResolvedJavaType;
}
SourceFile: "JNIAccessibleField.java"
InnerClasses:
public CompilationAccessImpl = com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl of com.oracle.svm.hosted.FeatureImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles