final class jdk.vm.ci.hotspot.HotSpotJDKReflection extends jdk.vm.ci.hotspot.HotSpotJVMCIReflection
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotJDKReflection
super_class: jdk.vm.ci.hotspot.HotSpotJVMCIReflection
{
private long oopSizeOffset;
descriptor: J
flags: (0x0002) ACC_PRIVATE
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 Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
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 jdk.vm.ci.hotspot.HotSpotJDKReflection.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIReflection.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
java.lang.Object resolveObject(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.vm.ci.hotspot.DirectHotSpotObjectConstantImpl
getfield jdk.vm.ci.hotspot.DirectHotSpotObjectConstantImpl.object:Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 3 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
MethodParameters:
Name Flags
object
boolean isInstance(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 4
start local 4 2: aload 3
aload 4
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 3 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
0 3 2 obj Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
1 3 3 javaMirror Ljava/lang/Class<*>;
2 3 4 value Ljava/lang/Object;
MethodParameters:
Name Flags
holder
obj
boolean isAssignableFrom(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
aload 0
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
0 2 2 otherType Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
1 2 3 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
otherType
java.lang.annotation.Annotation[] getAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Class.getAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
1 2 2 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
java.lang.annotation.Annotation[] getDeclaredAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Class.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
1 2 2 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
<T extends java.lang.annotation.Annotation> T getAnnotation(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, java.lang.Class<T>);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
0 2 2 annotationClass Ljava/lang/Class<TT;>;
1 2 3 javaMirror Ljava/lang/Class<*>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
holder
annotationClass
boolean isLocalClass(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Class.isLocalClass:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
1 2 2 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
boolean isMemberClass(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Class.isMemberClass:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
1 2 2 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
jdk.vm.ci.hotspot.HotSpotResolvedObjectType getEnclosingClass(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 2
start local 2 1: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 2
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
1 2 2 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
jdk.vm.ci.meta.JavaConstant readFieldValue(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, jdk.vm.ci.hotspot.HotSpotResolvedJavaField, boolean);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Z)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
astore 4
start local 4 1: aload 0
aload 2
aload 4
iload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.readFieldValue:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Ljava/lang/Object;Z)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
0 2 2 field Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
0 2 3 isVolatile Z
1 2 4 javaMirror Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
field
isVolatile
jdk.vm.ci.meta.JavaConstant readFieldValue(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.hotspot.HotSpotResolvedJavaField, boolean);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Z)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 4
start local 4 1: aload 0
aload 2
aload 4
iload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.readFieldValue:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Ljava/lang/Object;Z)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 2 2 field Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
0 2 3 isVolatile Z
1 2 4 value Ljava/lang/Object;
MethodParameters:
Name Flags
object
field
isVolatile
boolean equals(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
aload 0
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
if_acmpne 1
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.isCompressed:()Z
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.isCompressed:()Z
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 a Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 2 2 b Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
MethodParameters:
Name Flags
a
b
jdk.vm.ci.meta.JavaConstant getJavaMirror(jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType.mirror:Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType;
MethodParameters:
Name Flags
holder
jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] getParameters(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
flags: (0x0000)
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameters:()[Ljava/lang/reflect/Parameter;
astore 2
start local 2 1: aload 2
arraylength
anewarray jdk.vm.ci.meta.ResolvedJavaMethod$Parameter
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 10
4: StackMap locals: java.lang.reflect.Parameter[] jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 5: aload 5
invokevirtual java.lang.reflect.Parameter.isNamePresent:()Z
ifeq 6
aload 5
invokevirtual java.lang.reflect.Parameter.getName:()Ljava/lang/String;
goto 7
StackMap locals: java.lang.reflect.Parameter
StackMap stack:
6: aconst_null
StackMap locals:
StackMap stack: java.lang.String
7: astore 6
start local 6 8: aload 3
iload 4
new jdk.vm.ci.meta.ResolvedJavaMethod$Parameter
dup
aload 6
aload 5
invokevirtual java.lang.reflect.Parameter.getModifiers:()I
aload 1
iload 4
invokespecial jdk.vm.ci.meta.ResolvedJavaMethod$Parameter.<init>:(Ljava/lang/String;ILjdk/vm/ci/meta/ResolvedJavaMethod;I)V
aastore
end local 6 end local 5 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 11: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 12 1 javaMethod Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 12 2 javaParameters [Ljava/lang/reflect/Parameter;
2 12 3 res [Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
3 11 4 i I
5 9 5 src Ljava/lang/reflect/Parameter;
8 9 6 paramName Ljava/lang/String;
MethodParameters:
Name Flags
javaMethod
java.lang.annotation.Annotation[][] getParameterAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaMethod Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
MethodParameters:
Name Flags
javaMethod
java.lang.reflect.Type[] getGenericParameterTypes(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljava/lang/reflect/Type;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaMethod Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
MethodParameters:
Name Flags
javaMethod
java.lang.annotation.Annotation[] getFieldAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getField:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaField Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;
MethodParameters:
Name Flags
javaField
java.lang.annotation.Annotation[] getMethodAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaMethod Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
MethodParameters:
Name Flags
javaMethod
java.lang.annotation.Annotation[] getMethodDeclaredAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaMethod Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
MethodParameters:
Name Flags
javaMethod
java.lang.annotation.Annotation[] getFieldDeclaredAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)[Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getField:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaField Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;
MethodParameters:
Name Flags
javaField
<T extends java.lang.annotation.Annotation> T getMethodAnnotation(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl, java.lang.Class<T>);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
aload 2
invokevirtual java.lang.reflect.Executable.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaMethod Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 1 2 annotationClass Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
javaMethod
annotationClass
<T extends java.lang.annotation.Annotation> T getFieldAnnotation(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl, java.lang.Class<T>);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.getField:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)Ljava/lang/reflect/Field;
aload 2
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 javaField Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;
0 1 2 annotationClass Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
javaField
annotationClass
jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getType(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 3
start local 3 2: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 3 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
1 3 2 value Ljava/lang/Object;
2 3 3 theClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
object
java.lang.String asString(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.String
ifeq 3
2: aload 2
checkcast java.lang.String
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 4 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
object
jdk.vm.ci.meta.ResolvedJavaType asJavaType(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.Class
ifeq 4
2: aload 2
checkcast java.lang.Class
astore 3
start local 3 3: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
areturn
end local 3 4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof jdk.vm.ci.meta.ResolvedJavaType
ifeq 6
5: aload 2
checkcast jdk.vm.ci.meta.ResolvedJavaType
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 7 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
1 7 2 value Ljava/lang/Object;
3 4 3 javaClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
object
<T> T asObject(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, java.lang.Class<T>);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 3
start local 3 1: aload 2
aload 3
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 3
2: aload 3
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 4 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 4 2 type Ljava/lang/Class<TT;>;
1 4 3 value Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
object
type
java.lang.Object asObject(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.hotspot.HotSpotResolvedJavaType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Ljava/lang/Class;
aload 3
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 3
2: aload 3
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 4 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 4 2 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
1 4 3 value Ljava/lang/Object;
MethodParameters:
Name Flags
object
type
java.lang.String formatString(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
invokevirtual jdk.vm.ci.meta.JavaKind.format:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
MethodParameters:
Name Flags
object
java.lang.Integer getLength(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Integer;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 3
2: aload 2
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 4 1 arrayObject Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
1 4 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
arrayObject
jdk.vm.ci.meta.JavaConstant readArrayElement(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;I)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
iload 2
iflt 2
iload 2
aload 3
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
if_icmplt 3
2: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Object[]
ifeq 6
4: aload 3
checkcast java.lang.Object[]
iload 2
aaload
astore 4
start local 4 5: aload 0
aload 4
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 6: StackMap locals:
StackMap stack:
aload 3
instanceof int[]
ifeq 8
7: aload 3
checkcast int[]
iload 2
iaload
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
8: StackMap locals:
StackMap stack:
aload 3
instanceof char[]
ifeq 10
9: aload 3
checkcast char[]
iload 2
caload
invokestatic jdk.vm.ci.meta.JavaConstant.forChar:(C)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
10: StackMap locals:
StackMap stack:
aload 3
instanceof byte[]
ifeq 12
11: aload 3
checkcast byte[]
iload 2
baload
invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
12: StackMap locals:
StackMap stack:
aload 3
instanceof long[]
ifeq 14
13: aload 3
checkcast long[]
iload 2
laload
invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
14: StackMap locals:
StackMap stack:
aload 3
instanceof short[]
ifeq 16
15: aload 3
checkcast short[]
iload 2
saload
invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
16: StackMap locals:
StackMap stack:
aload 3
instanceof float[]
ifeq 18
17: aload 3
checkcast float[]
iload 2
faload
invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
18: StackMap locals:
StackMap stack:
aload 3
instanceof double[]
ifeq 20
19: aload 3
checkcast double[]
iload 2
daload
invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
20: StackMap locals:
StackMap stack:
aload 3
instanceof boolean[]
ifeq 22
21: aload 3
checkcast boolean[]
iload 2
baload
invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
22: StackMap locals:
StackMap stack:
new jdk.vm.ci.common.JVMCIError
dup
ldc "Should not reach here"
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 23 1 arrayObject Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 23 2 index I
1 23 3 a Ljava/lang/Object;
5 6 4 element Ljava/lang/Object;
MethodParameters:
Name Flags
arrayObject
index
jdk.vm.ci.meta.JavaConstant unboxPrimitive(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)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 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 source Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
MethodParameters:
Name Flags
source
jdk.vm.ci.meta.JavaConstant forObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.forNonNullObject:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 3 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
private static jdk.vm.ci.hotspot.HotSpotObjectConstantImpl forNonNullObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic jdk.vm.ci.hotspot.DirectHotSpotObjectConstantImpl.forNonNullObject:(Ljava/lang/Object;Z)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
jdk.vm.ci.meta.JavaConstant boxPrimitive(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.asBoxedPrimitive:()Ljava/lang/Object;
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.forNonNullObject:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 source Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
source
int getInt(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)I
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
lload 2
invokevirtual jdk.internal.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 1 2 displacement J
MethodParameters:
Name Flags
object
displacement
byte getByte(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)B
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
lload 2
invokevirtual jdk.internal.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 1 2 displacement J
MethodParameters:
Name Flags
object
displacement
short getShort(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)S
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
lload 2
invokevirtual jdk.internal.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 1 2 displacement J
MethodParameters:
Name Flags
object
displacement
long getLong(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)J
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
lload 2
invokevirtual jdk.internal.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 object Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 1 2 displacement J
MethodParameters:
Name Flags
object
displacement
void checkRead(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.meta.JavaKind, long, jdk.vm.ci.hotspot.HotSpotResolvedObjectType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/meta/JavaKind;JLjdk/vm/ci/hotspot/HotSpotResolvedObjectType;)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
aload 2
lload 3
aload 5
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.checkRead:(Ljdk/vm/ci/meta/JavaKind;JLjdk/vm/ci/hotspot/HotSpotResolvedObjectType;Ljava/lang/Object;)Z
pop
1: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 2 1 constant Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
0 2 2 kind Ljdk/vm/ci/meta/JavaKind;
0 2 3 displacement J
0 2 5 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
MethodParameters:
Name Flags
constant
kind
displacement
type
private static int computeOopSizeOffset(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 1
start local 1 1: aload 1
ldc Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 2
start local 2 2: aload 2
iconst_0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
ldc "oop_size"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
5: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getOffset:()I
istore 7
start local 7 6: getstatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$assertionsDisabled:Z
ifne 7
iload 7
ifne 7
new java.lang.AssertionError
dup
ldc "not expecting offset of java.lang.Class::oop_size to be 0"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[] int
StackMap stack:
iload 7
ireturn
end local 7 end local 3 8: StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 3
10: new jdk.vm.ci.common.JVMCIError
dup
ldc "Could not find injected java.lang.Class::oop_size field"
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 runtime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
1 11 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
2 11 2 staticType Ljdk/vm/ci/meta/ResolvedJavaType;
4 8 3 f Ljdk/vm/ci/meta/ResolvedJavaField;
6 8 7 offset I
MethodParameters:
Name Flags
runtime
long oopSizeOffset();
descriptor: ()J
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotJDKReflection.oopSizeOffset:J
lconst_0
lcmp
ifne 2
1: aload 0
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.computeOopSizeOffset:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)I
i2l
putfield jdk.vm.ci.hotspot.HotSpotJDKReflection.oopSizeOffset:J
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotJDKReflection.oopSizeOffset:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
private boolean checkRead(jdk.vm.ci.meta.JavaKind, long, jdk.vm.ci.hotspot.HotSpotResolvedObjectType, java.lang.Object);
descriptor: (Ljdk/vm/ci/meta/JavaKind;JLjdk/vm/ci/hotspot/HotSpotResolvedObjectType;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.isArray:()Z
ifeq 16
1: aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 2: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 3: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 7
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 8
start local 8 4: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 7
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
istore 9
start local 9 5: aload 5
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 10
start local 10 6: iload 8
iload 9
iload 10
imul
iadd
i2l
lstore 11
start local 11 7: lload 2
iload 8
i2l
lsub
iload 9
i2l
lrem
lconst_0
lcmp
ifne 8
iconst_1
goto 9
StackMap locals: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.meta.JavaKind long jdk.vm.ci.hotspot.HotSpotResolvedObjectType java.lang.Object jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind int int int long
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 13
start local 13 10: lload 2
lconst_0
lcmp
iflt 11
lload 2
lload 11
iload 9
i2l
lsub
lcmp
ifgt 11
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 43
iload 13
ifne 43
11: StackMap locals: int
StackMap stack:
lload 2
iload 8
i2l
lsub
iload 9
i2l
ldiv
l2i
istore 14
start local 14 12: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsafe array access: reading element of kind "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: ldc " at offset "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " (index ~ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 14
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " object of length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 14 end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 16: StackMap locals: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.meta.JavaKind long jdk.vm.ci.hotspot.HotSpotResolvedObjectType java.lang.Object
StackMap stack:
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 27
17: aload 5
instanceof java.lang.Class
ifeq 21
18: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
istore 8
start local 8 19: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 5
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.oopSizeOffset:()J
invokevirtual jdk.internal.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
iload 8
imul
i2l
lstore 6
end local 8 start local 6 20: goto 22
end local 6 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.instanceSize:()I
invokestatic java.lang.Math.abs:(I)I
i2l
lstore 6
start local 6 22: StackMap locals: long
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
istore 8
start local 8 23: lload 2
iload 8
i2l
ladd
lload 6
lcmp
ifgt 24
lload 2
lconst_0
lcmp
ifge 43
24: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsafe access: reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes at offset "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " object of size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 6 27: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 28: aload 5
instanceof java.lang.Class
ifeq 33
29: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 5
checkcast java.lang.Class
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
astore 7
start local 7 30: aload 7
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
ifeq 33
31: aload 7
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
astore 8
start local 8 32: aload 8
lload 2
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.findStaticFieldWithOffset:(JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 6
end local 8 end local 7 33: StackMap locals: jdk.vm.ci.meta.ResolvedJavaField
StackMap stack:
aload 6
ifnonnull 35
34: aload 4
lload 2
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.findInstanceFieldWithOffset:(JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 6
35: StackMap locals:
StackMap stack:
aload 6
ifnonnull 39
36: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsafe object access: field not found for read of kind Object at offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
37: lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " object"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 43
40: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsafe object access: field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
ldc "%H.%n:%T"
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not of expected kind Object"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: ldc " at offset "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " object"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
42: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 43: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 44 1 kind Ljdk/vm/ci/meta/JavaKind;
0 44 2 displacement J
0 44 4 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
0 44 5 object Ljava/lang/Object;
2 16 6 componentType Ljdk/vm/ci/meta/ResolvedJavaType;
3 16 7 componentKind Ljdk/vm/ci/meta/JavaKind;
4 16 8 headerSize I
5 16 9 sizeOfElement I
6 16 10 length I
7 16 11 arrayEnd J
10 16 13 aligned Z
12 16 14 index I
20 21 6 size J
22 27 6 size J
19 20 8 wordSize I
23 27 8 bytesToRead I
28 43 6 field Ljdk/vm/ci/meta/ResolvedJavaField;
30 33 7 hotSpotResolvedJavaType Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
32 33 8 staticFieldsHolder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
kind
displacement
type
object
jdk.vm.ci.meta.JavaConstant readFieldValue(jdk.vm.ci.hotspot.HotSpotResolvedJavaField, java.lang.Object, boolean);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Ljava/lang/Object;Z)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$assertionsDisabled:Z
ifne 2
aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.isStatic:()Z
ifeq 2
aload 2
instanceof java.lang.Class
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getOffset:()I
i2l
lstore 4
start local 4 3: getstatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$assertionsDisabled:Z
ifne 10
aload 0
aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
lload 4
4: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.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 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.isStatic:()Z
ifeq 5
aload 2
checkcast java.lang.Class
goto 6
StackMap locals: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.hotspot.HotSpotResolvedJavaField java.lang.Object int long
StackMap stack: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.meta.JavaKind long jdk.vm.ci.meta.MetaAccessProvider
5: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
StackMap locals: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.hotspot.HotSpotResolvedJavaField java.lang.Object int long
StackMap stack: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.meta.JavaKind long jdk.vm.ci.meta.MetaAccessProvider java.lang.Class
6: invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
7: aload 2
8: invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.checkRead:(Ljdk/vm/ci/meta/JavaKind;JLjdk/vm/ci/hotspot/HotSpotResolvedObjectType;Ljava/lang/Object;)Z
9: ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 11: invokestatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 6
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 12
2: 15
3: 21
4: 18
5: 24
6: 30
7: 27
8: 33
9: 36
default: 39
}
12: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
iload 3
ifeq 13
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getBooleanVolatile:(Ljava/lang/Object;J)Z
goto 14
StackMap locals:
StackMap stack:
13: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
StackMap locals:
StackMap stack: int
14: invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
15: StackMap locals:
StackMap stack:
iload 3
ifeq 16
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getByteVolatile:(Ljava/lang/Object;J)B
goto 17
StackMap locals:
StackMap stack:
16: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
StackMap locals:
StackMap stack: int
17: invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
18: StackMap locals:
StackMap stack:
iload 3
ifeq 19
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getCharVolatile:(Ljava/lang/Object;J)C
goto 20
StackMap locals:
StackMap stack:
19: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
StackMap locals:
StackMap stack: int
20: invokestatic jdk.vm.ci.meta.JavaConstant.forChar:(C)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
21: StackMap locals:
StackMap stack:
iload 3
ifeq 22
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getShortVolatile:(Ljava/lang/Object;J)S
goto 23
StackMap locals:
StackMap stack:
22: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
StackMap locals:
StackMap stack: int
23: invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
24: StackMap locals:
StackMap stack:
iload 3
ifeq 25
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
goto 26
StackMap locals:
StackMap stack:
25: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
StackMap locals:
StackMap stack: int
26: invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
27: StackMap locals:
StackMap stack:
iload 3
ifeq 28
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getLongVolatile:(Ljava/lang/Object;J)J
goto 29
StackMap locals:
StackMap stack:
28: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
StackMap locals:
StackMap stack: long
29: invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
30: StackMap locals:
StackMap stack:
iload 3
ifeq 31
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getFloatVolatile:(Ljava/lang/Object;J)F
goto 32
StackMap locals:
StackMap stack:
31: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
StackMap locals:
StackMap stack: float
32: invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
33: StackMap locals:
StackMap stack:
iload 3
ifeq 34
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getDoubleVolatile:(Ljava/lang/Object;J)D
goto 35
StackMap locals:
StackMap stack:
34: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
StackMap locals:
StackMap stack: double
35: invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
36: StackMap locals:
StackMap stack:
aload 0
iload 3
ifeq 37
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getReferenceVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
goto 38
StackMap locals:
StackMap stack: jdk.vm.ci.hotspot.HotSpotJDKReflection
37: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
lload 4
invokevirtual jdk.internal.misc.Unsafe.getReference:(Ljava/lang/Object;J)Ljava/lang/Object;
StackMap locals: jdk.vm.ci.hotspot.HotSpotJDKReflection jdk.vm.ci.hotspot.HotSpotResolvedJavaField java.lang.Object int long jdk.vm.ci.meta.JavaKind
StackMap stack: jdk.vm.ci.hotspot.HotSpotJDKReflection java.lang.Object
38: invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
39: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 40 1 field Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
0 40 2 obj Ljava/lang/Object;
0 40 3 isVolatile Z
3 40 4 displacement J
11 40 6 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
field
obj
isVolatile
private static java.lang.reflect.Executable getMethod(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isClassInitializer:()Z
ifeq 1
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
ifnonnull 9
2: aload 0
dup
astore 1
monitorenter
3: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
ifnonnull 5
4: aload 0
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.asReflectionExecutable:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljava/lang/reflect/Executable;
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
5: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 method Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
Exception table:
from to target type
3 6 7 any
7 8 7 any
MethodParameters:
Name Flags
method
private static java.lang.reflect.Field getField(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)Ljava/lang/reflect/Field;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl.getDeclaringClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
astore 1
start local 1 1: aload 1
dup
astore 2
monitorenter
2: aload 1
getfield jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.reflectionFieldCache:Ljava/util/HashMap;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
5: aload 1
aload 3
putfield jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.reflectionFieldCache:Ljava/util/HashMap;
6: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl java.util.HashMap
StackMap stack:
aload 3
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Field
astore 4
start local 4 7: aload 4
ifnonnull 10
8: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl.getDeclaringClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl.getIndex:()I
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.asReflectionField:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;I)Ljava/lang/reflect/Field;
astore 4
9: aload 3
aload 0
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 4
aload 2
monitorexit
11: areturn
end local 4 end local 3 12: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
StackMap stack: java.lang.Throwable
aload 2
monitorexit
13: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 field Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;
1 14 1 declaringClass Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
3 12 3 cache Ljava/util/HashMap<Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;Ljava/lang/reflect/Field;>;
7 12 4 reflect Ljava/lang/reflect/Field;
Exception table:
from to target type
2 11 12 any
12 13 12 any
MethodParameters:
Name Flags
field
java.lang.Class<?> getMirror(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getJavaMirror:()Ljdk/vm/ci/meta/JavaConstant;
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
checkcast java.lang.Class
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 1 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
Signature: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
holder
java.lang.Class<?> getMirror(jdk.vm.ci.hotspot.HotSpotResolvedJavaType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.vm.ci.hotspot.HotSpotJDKReflection.$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 1
instanceof jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType
ifeq 3
2: aload 0
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType
getfield jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType.mirror:Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.resolveObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
checkcast java.lang.Class
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotJDKReflection;
0 4 1 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
Signature: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Ljava/lang/Class<*>;
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.HotSpotJDKReflection.$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.HotSpotJDKReflection.$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: "HotSpotJDKReflection.java"
InnerClasses:
public Parameter = jdk.vm.ci.meta.ResolvedJavaMethod$Parameter of jdk.vm.ci.meta.ResolvedJavaMethod