public class com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider extends com.oracle.svm.core.graal.meta.SharedConstantReflectionProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider
super_class: com.oracle.svm.core.graal.meta.SharedConstantReflectionProvider
{
private final com.oracle.graal.pointsto.meta.AnalysisUniverse universe;
descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.ConstantReflectionProvider originalConstantReflection;
descriptor: Ljdk/vm/ci/meta/ConstantReflectionProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.classinitialization.ClassInitializationSupport classInitializationSupport;
descriptor: Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
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.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.graal.pointsto.meta.AnalysisUniverse, jdk.vm.ci.meta.ConstantReflectionProvider, com.oracle.svm.hosted.classinitialization.ClassInitializationSupport);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.oracle.svm.core.graal.meta.SharedConstantReflectionProvider.<init>:()V
1: aload 0
aload 1
putfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
2: aload 0
aload 2
putfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.originalConstantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
3: aload 0
aload 3
putfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 5 1 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
0 5 2 originalConstantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 5 3 classInitializationSupport Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
MethodParameters:
Name Flags
universe
originalConstantReflection
classInitializationSupport
public jdk.vm.ci.meta.MemoryAccessProvider getMemoryAccessProvider();
descriptor: ()Ljdk/vm/ci/meta/MemoryAccessProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.ameta.EmptyMemoryAcessProvider.SINGLETON:Ljdk/vm/ci/meta/MemoryAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
public final jdk.vm.ci.meta.JavaConstant readFieldValue(jdk.vm.ci.meta.ResolvedJavaField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.oracle.graal.pointsto.meta.AnalysisField
ifeq 2
1: aload 0
aload 1
checkcast com.oracle.graal.pointsto.meta.AnalysisField
aload 2
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readValue:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial com.oracle.svm.core.graal.meta.SharedConstantReflectionProvider.readFieldValue:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 3 1 field Ljdk/vm/ci/meta/ResolvedJavaField;
0 3 2 receiver Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
field
receiver
public jdk.vm.ci.meta.JavaConstant readValue(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.shouldInitializeAtRuntime:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 5
1: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isStatic:()Z
ifeq 4
2: aload 1
invokestatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readUninitializedStaticValue:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
start local 3 3: goto 6
end local 3 4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Cannot read instance field of a class that is initialized at run time: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.format:(Ljava/lang/String;)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
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.originalConstantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 1
getfield com.oracle.graal.pointsto.meta.AnalysisField.wrapped:Ljdk/vm/ci/meta/ResolvedJavaField;
aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.toHosted:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
invokestatic com.oracle.svm.core.meta.ReadableJavaField.readFieldValue:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
start local 3 6: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptValue:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 7 1 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 7 2 receiver Ljdk/vm/ci/meta/JavaConstant;
3 4 3 value Ljdk/vm/ci/meta/JavaConstant;
6 7 3 value Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
field
receiver
private static jdk.vm.ci.meta.JavaConstant readUninitializedStaticValue(com.oracle.graal.pointsto.meta.AnalysisField);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 1
start local 1 1: aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
ifne 2
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
iconst_1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toJavaName:(Z)Ljava/lang/String;
ldc "java.lang.String"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
iconst_0
goto 3
StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: iload 2
ifeq 5
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isFinal:()Z
ifne 6
5: StackMap locals: int
StackMap stack:
aload 1
invokestatic jdk.vm.ci.meta.JavaConstant.defaultForKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
areturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
ifne 7
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
astore 3
start local 3 8: aload 0
getfield com.oracle.graal.pointsto.meta.AnalysisField.wrapped:Ljdk/vm/ci/meta/ResolvedJavaField;
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getOffset:()I
i2l
lstore 4
start local 4 9: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getJavaField:()Ljava/lang/reflect/Field;
astore 6
start local 6 10: aload 6
ifnull 17
11: getstatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
ifne 12
aload 1
aload 6
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokestatic jdk.vm.ci.meta.JavaKind.fromJavaClass:(Ljava/lang/Class;)Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: java.lang.Object long java.lang.reflect.Field
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 6
invokevirtual sun.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
astore 7
start local 7 13: invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 6
invokevirtual sun.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
lstore 8
start local 8 14: aload 7
aload 3
if_acmpne 15
lload 8
lload 4
lcmp
ifne 15
iconst_1
goto 16
StackMap locals: java.lang.Object long
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: invokestatic com.oracle.graal.pointsto.util.AnalysisError.guarantee:(Z)V
end local 8 end local 7 17: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 18
2: 19
3: 21
4: 20
5: 22
6: 24
7: 23
8: 25
9: 26
default: 29
}
18: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
19: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
20: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
invokestatic jdk.vm.ci.meta.JavaConstant.forChar:(C)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
21: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
22: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
23: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
24: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
25: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
26: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
aload 3
lload 4
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 7
start local 7 27: getstatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
ifne 28
aload 7
ifnull 28
aload 7
instanceof java.lang.String
ifne 28
new java.lang.AssertionError
dup
ldc "String is currently the only specified object type for the ConstantValue class file attribute"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
28: StackMap locals: java.lang.Object
StackMap stack:
aload 7
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 7 29: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
1 30 1 kind Ljdk/vm/ci/meta/JavaKind;
4 30 2 canHaveConstantValueAttribute Z
8 30 3 base Ljava/lang/Object;
9 30 4 offset J
10 30 6 reflectionField Ljava/lang/reflect/Field;
13 17 7 reflectionFieldBase Ljava/lang/Object;
14 17 8 reflectionFieldOffset J
27 29 7 value Ljava/lang/Object;
MethodParameters:
Name Flags
field
public jdk.vm.ci.meta.JavaConstant interceptValue(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
astore 3
start local 3 1: aload 3
ifnull 6
2: aload 1
aload 3
invokestatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.filterInjectedAccessor:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
3: aload 0
aload 3
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
4: aload 1
aload 3
invokestatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptAssertionStatus:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
5: aload 0
aload 1
aload 3
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptWordType:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 3
6: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 7 1 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 7 2 value Ljdk/vm/ci/meta/JavaConstant;
1 7 3 result Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
field
value
private static jdk.vm.ci.meta.JavaConstant filterInjectedAccessor(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/svm/core/annotate/InjectAccessors;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 3
1: getstatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isAccessed:()Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic jdk.vm.ci.meta.JavaConstant.defaultForKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
areturn
3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 4 1 value Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
field
value
private jdk.vm.ci.meta.JavaConstant replaceObject(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
if_acmpne 2
1: getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 7
3: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljava/lang/Object;
aload 1
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 2
start local 2 4: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 5: aload 3
aload 2
if_acmpeq 7
6: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 3
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 8 1 value Ljdk/vm/ci/meta/JavaConstant;
4 7 2 oldObject Ljava/lang/Object;
5 7 3 newObject Ljava/lang/Object;
MethodParameters:
Name Flags
value
private static jdk.vm.ci.meta.JavaConstant interceptAssertionStatus(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isStatic:()Z
ifeq 6
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isSynthetic:()Z
ifeq 6
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getName:()Ljava/lang/String;
ldc "$assertionsDisabled"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
1: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
astore 2
start local 2 2: invokestatic com.oracle.svm.core.RuntimeAssertionsSupport.singleton:()Lcom/oracle/svm/core/RuntimeAssertionsSupport;
aload 2
invokevirtual com.oracle.svm.core.RuntimeAssertionsSupport.desiredAssertionStatus:(Ljava/lang/Class;)Z
istore 3
start local 3 3: iload 3
ifeq 4
iconst_0
goto 5
StackMap locals: java.lang.Class int
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 7 1 value Ljdk/vm/ci/meta/JavaConstant;
2 6 2 clazz Ljava/lang/Class<*>;
3 6 3 assertionsEnabled Z
MethodParameters:
Name Flags
field
value
private jdk.vm.ci.meta.JavaConstant interceptWordType(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 8
1: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljava/lang/Object;
aload 2
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.hostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
aload 3
invokeinterface com.oracle.graal.pointsto.api.HostVM.isRelocatedPointer:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
4: StackMap locals: java.lang.Object
StackMap stack:
aload 3
instanceof org.graalvm.word.WordBase
ifeq 6
5: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
aload 3
checkcast org.graalvm.word.WordBase
invokeinterface org.graalvm.word.WordBase.rawValue:()J
invokestatic jdk.vm.ci.meta.JavaConstant.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;J)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
6: StackMap locals:
StackMap stack:
aload 3
ifnonnull 8
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isWordType:()Z
ifeq 8
7: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
lconst_0
invokestatic jdk.vm.ci.meta.JavaConstant.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;J)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
end local 3 8: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 9 1 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 9 2 value Ljdk/vm/ci/meta/JavaConstant;
2 8 3 originalObject Ljava/lang/Object;
MethodParameters:
Name Flags
field
value
public jdk.vm.ci.meta.ResolvedJavaType asJavaType(jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.svm.core.meta.SubstrateObjectConstant
ifeq 6
1: aload 1
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
astore 2
start local 2 2: aload 2
instanceof com.oracle.svm.core.hub.DynamicHub
ifeq 4
3: aload 0
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
aload 2
checkcast com.oracle.svm.core.hub.DynamicHub
invokevirtual com.oracle.svm.hosted.SVMHost.lookupType:(Lcom/oracle/svm/core/hub/DynamicHub;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
areturn
4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Class
ifeq 6
5: new java.lang.StringBuilder
dup
ldc "Must not have java.lang.Class object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 7 1 constant Ljdk/vm/ci/meta/Constant;
2 6 2 obj Ljava/lang/Object;
MethodParameters:
Name Flags
constant
public jdk.vm.ci.meta.JavaConstant asJavaClass(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
aload 1
invokevirtual com.oracle.svm.hosted.SVMHost.dynamicHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
aload 2
invokestatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.registerAsReachable:(Lcom/oracle/svm/hosted/SVMHost;Lcom/oracle/svm/core/hub/DynamicHub;)V
2: getstatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
ifne 3
aload 2
ifnonnull 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toClassName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " has a null dynamicHub."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: com.oracle.svm.core.hub.DynamicHub
StackMap stack:
aload 2
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
0 4 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
1 4 2 dynamicHub Lcom/oracle/svm/core/hub/DynamicHub;
MethodParameters:
Name Flags
type
protected static void registerAsReachable(com.oracle.svm.hosted.SVMHost, com.oracle.svm.core.hub.DynamicHub);
descriptor: (Lcom/oracle/svm/hosted/SVMHost;Lcom/oracle/svm/core/hub/DynamicHub;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.SVMHost.lookupType:(Lcom/oracle/svm/core/hub/DynamicHub;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsReachable:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 hostVM Lcom/oracle/svm/hosted/SVMHost;
0 4 1 dynamicHub Lcom/oracle/svm/core/hub/DynamicHub;
2 4 2 valueType Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
hostVM
dynamicHub
private com.oracle.svm.hosted.SVMHost getHostVM();
descriptor: ()Lcom/oracle/svm/hosted/SVMHost;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.hostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
checkcast com.oracle.svm.hosted.SVMHost
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ameta/AnalysisConstantReflectionProvider;
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.ameta.AnalysisConstantReflectionProvider.$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.ameta.AnalysisConstantReflectionProvider.$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: "AnalysisConstantReflectionProvider.java"
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})