public final class com.oracle.svm.hosted.c.CConstantValueSupportImpl implements org.graalvm.nativeimage.impl.CConstantValueSupport
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.hosted.c.CConstantValueSupportImpl
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
private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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.CConstantValueSupportImpl.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
2: aload 0
aload 2
putfield com.oracle.svm.hosted.c.CConstantValueSupportImpl.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/CConstantValueSupportImpl;
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 <T> T getCConstantValue(java.lang.Class<?>, java.lang.String, java.lang.Class<T>);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.c.CConstantValueSupportImpl.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
aload 2
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 1: goto 4
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: new java.lang.StringBuilder
dup
ldc "Method not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
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
start local 4 4: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 4
ldc Lorg/graalvm/nativeimage/c/constant/CConstant;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 6
5: new java.lang.StringBuilder
dup
ldc "Method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not annotated with @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/nativeimage/c/constant/CConstant;
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;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.c.CConstantValueSupportImpl.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 4
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.ConstantInfo
astore 5
start local 5 7: aload 5
invokevirtual com.oracle.svm.hosted.c.info.ConstantInfo.getValueInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
astore 6
start local 6 8: invokestatic com.oracle.svm.hosted.c.CConstantValueSupportImpl.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:()[I
aload 5
invokevirtual com.oracle.svm.hosted.c.info.ConstantInfo.getKind:()Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 9
2: 9
3: 18
4: 20
5: 22
default: 24
}
9: StackMap locals: com.oracle.svm.hosted.c.info.ConstantInfo java.lang.Object
StackMap stack:
aload 6
checkcast java.lang.Long
astore 7
start local 7 10: aload 3
ldc Ljava/lang/Boolean;
if_acmpne 14
11: aload 3
aload 7
invokevirtual java.lang.Long.longValue:()J
lconst_0
lcmp
ifeq 12
iconst_1
goto 13
StackMap locals: com.oracle.svm.hosted.c.CConstantValueSupportImpl java.lang.Class java.lang.String java.lang.Class jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.ConstantInfo java.lang.Object java.lang.Long
StackMap stack: java.lang.Class
12: iconst_0
StackMap locals: com.oracle.svm.hosted.c.CConstantValueSupportImpl java.lang.Class java.lang.String java.lang.Class jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.ConstantInfo java.lang.Object java.lang.Long
StackMap stack: java.lang.Class int
13: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
14: StackMap locals:
StackMap stack:
aload 3
ldc Ljava/lang/Integer;
if_acmpne 16
15: aload 3
aload 7
invokevirtual java.lang.Long.longValue:()J
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
16: StackMap locals:
StackMap stack:
aload 3
ldc Ljava/lang/Long;
if_acmpne 24
17: aload 3
aload 6
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 7 18: StackMap locals:
StackMap stack:
aload 3
ldc Ljava/lang/Double;
if_acmpne 24
19: aload 3
aload 6
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
20: StackMap locals:
StackMap stack:
aload 3
ldc Ljava/lang/String;
if_acmpne 24
21: aload 3
aload 6
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
22: StackMap locals:
StackMap stack:
aload 3
ldc [B
if_acmpne 24
23: aload 3
aload 6
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
24: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unexpected returnType: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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 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 25 0 this Lcom/oracle/svm/hosted/c/CConstantValueSupportImpl;
0 25 1 declaringClass Ljava/lang/Class<*>;
0 25 2 methodName Ljava/lang/String;
0 25 3 returnType Ljava/lang/Class<TT;>;
1 2 4 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
4 25 4 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
7 25 5 constantInfo Lcom/oracle/svm/hosted/c/info/ConstantInfo;
8 25 6 value Ljava/lang/Object;
10 18 7 longValue Ljava/lang/Long;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
0 1 2 Class java.lang.SecurityException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
declaringClass
methodName
returnType
static int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.c.CConstantValueSupportImpl.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.values:()[Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.BYTEARRAY:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.FLOAT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.OBJECT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.POINTER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.STRING:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic com.oracle.svm.hosted.c.CConstantValueSupportImpl.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "CConstantValueSupportImpl.java"
InnerClasses:
public final ElementKind = com.oracle.svm.hosted.c.info.SizableInfo$ElementKind of com.oracle.svm.hosted.c.info.SizableInfo