public class jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider implements jdk.vm.ci.meta.ConstantReflectionProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider
super_class: java.lang.Object
{
protected final jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime;
descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final jdk.vm.ci.hotspot.HotSpotMethodHandleAccessProvider methodHandleAccess;
descriptor: Ljdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl memoryAccess;
descriptor: Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
2: aload 0
new jdk.vm.ci.hotspot.HotSpotMethodHandleAccessProvider
dup
aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotMethodHandleAccessProvider.<init>:(Ljdk/vm/ci/meta/ConstantReflectionProvider;)V
putfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.methodHandleAccess:Ljdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider;
3: aload 0
new jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl
dup
aload 1
invokespecial jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
putfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.memoryAccess:Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 5 1 runtime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
MethodParameters:
Name Flags
runtime
public jdk.vm.ci.meta.MethodHandleAccessProvider getMethodHandleAccess();
descriptor: ()Ljdk/vm/ci/meta/MethodHandleAccessProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.methodHandleAccess:Ljdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
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: aload 0
getfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.memoryAccess:Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
public java.lang.Boolean constantEquals(jdk.vm.ci.meta.Constant, jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/Constant;)Ljava/lang/Boolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
ifeq 5
3: aload 2
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
ifeq 4
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
aload 2
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
if_acmpne 4
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
4: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
5: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 6 1 x Ljdk/vm/ci/meta/Constant;
0 6 2 y Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
x
y
public java.lang.Integer readArrayLength(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
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 1
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
astore 2
start local 2 3: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 5
4: aconst_null
areturn
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 6 1 array Ljdk/vm/ci/meta/JavaConstant;
3 6 2 arrayObject Ljava/lang/Object;
MethodParameters:
Name Flags
array
public jdk.vm.ci.meta.JavaConstant readArrayElement(jdk.vm.ci.meta.JavaConstant, int);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;I)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
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 1
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 4
iload 2
iflt 4
iload 2
aload 3
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
if_icmplt 5
4: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Object[]
ifeq 8
6: aload 3
checkcast java.lang.Object[]
iload 2
aaload
astore 4
start local 4 7: aload 4
invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 3
iload 2
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
invokestatic jdk.vm.ci.meta.JavaConstant.forBoxedPrimitive:(Ljava/lang/Object;)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 9 1 array Ljdk/vm/ci/meta/JavaConstant;
0 9 2 index I
3 9 3 a Ljava/lang/Object;
7 8 4 element Ljava/lang/Object;
MethodParameters:
Name Flags
array
index
private static boolean isBoxCached(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 1
2: 4
3: 4
4: 2
5: 4
6: 8
7: 6
8: 8
default: 9
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
bipush 127
if_icmpgt 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
bipush -128
if_icmplt 5
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
bipush 127
if_icmpgt 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
ldc -128
lcmp
iflt 7
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
ldc 127
lcmp
ifgt 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unexpected kind "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 source Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
source
public jdk.vm.ci.meta.JavaConstant boxPrimitive(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
ifeq 1
aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.isBoxCached:(Ljdk/vm/ci/meta/JavaConstant;)Z
ifne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.asBoxedPrimitive:()Ljava/lang/Object;
invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 3 1 source Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
source
public jdk.vm.ci.meta.JavaConstant unboxPrimitive(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
invokestatic jdk.vm.ci.meta.JavaConstant.forBoxedPrimitive:(Ljava/lang/Object;)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 5 1 source Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
source
public jdk.vm.ci.meta.JavaConstant forString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 1 1 value Ljava/lang/String;
MethodParameters:
Name Flags
value
public jdk.vm.ci.meta.JavaConstant forObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
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=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
ifeq 4
1: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
astore 2
start local 2 2: aload 2
instanceof java.lang.Class
ifeq 4
3: aload 0
getfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 2
checkcast java.lang.Class
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 8
5: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.getMetaspaceObject:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/hotspot/MetaspaceWrapperObject;
astore 2
start local 2 6: aload 2
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
ifeq 8
7: aload 2
checkcast jdk.vm.ci.meta.ResolvedJavaType
areturn
end local 2 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 9 1 constant Ljdk/vm/ci/meta/Constant;
2 4 2 obj Ljava/lang/Object;
6 8 2 obj Ljdk/vm/ci/hotspot/MetaspaceWrapperObject;
MethodParameters:
Name Flags
constant
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
astore 3
start local 3 1: aload 3
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.isStatic:()Z
ifeq 5
2: aload 3
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 4
start local 4 3: aload 4
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isInitialized:()Z
ifeq 9
4: aload 0
getfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.memoryAccess:Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
aload 3
aload 4
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.mirror:()Ljava/lang/Class;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isVolatile:()Z
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readFieldValue:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Ljava/lang/Object;Z)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 5: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaField
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.isNonNull:()Z
ifeq 9
6: aload 2
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
astore 4
start local 4 7: aload 3
aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.isInObject:(Ljdk/vm/ci/meta/JavaConstant;)Z
ifeq 9
8: aload 0
getfield jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.memoryAccess:Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
aload 3
aload 4
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isVolatile:()Z
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readFieldValue:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Ljava/lang/Object;Z)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 10 1 field Ljdk/vm/ci/meta/ResolvedJavaField;
0 10 2 receiver Ljdk/vm/ci/meta/JavaConstant;
1 10 3 hotspotField Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
3 5 4 holder Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
7 9 4 object Ljava/lang/Object;
MethodParameters:
Name Flags
field
receiver
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=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.mirror:()Ljava/lang/Class;
invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 1 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
type
public jdk.vm.ci.meta.Constant asObjectHub(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectType
ifeq 2
1: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.klass:()Ljdk/vm/ci/meta/Constant;
areturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.common.JVMCIError.unimplemented:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
0 3 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
type
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 jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.$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 jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.$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: "HotSpotConstantReflectionProvider.java"