public class jdk.vm.ci.hotspot.HotSpotMetaAccessProvider implements jdk.vm.ci.meta.MetaAccessProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider
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
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason;
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/HotSpotMetaAccessProvider;
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.HotSpotMetaAccessProvider.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 3 1 runtime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
MethodParameters:
Name Flags
runtime
public jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Class parameter was null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 3 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
clazz
public jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ifne 1
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
ifne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 3 1 constant Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
constant
public jdk.vm.ci.meta.Signature parseMethodDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/Signature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new jdk.vm.ci.hotspot.HotSpotSignature
dup
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 1
invokespecial jdk.vm.ci.hotspot.HotSpotSignature.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 1 1 signature Ljava/lang/String;
MethodParameters:
Name Flags
signature
public jdk.vm.ci.meta.ResolvedJavaMethod lookupJavaMethod(java.lang.reflect.Executable);
descriptor: (Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Executable
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.asResolvedJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 1 1 reflectionMethod Ljava/lang/reflect/Executable;
MethodParameters:
Name Flags
reflectionMethod
public jdk.vm.ci.meta.ResolvedJavaField lookupJavaField(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
astore 2
start local 2 1: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
astore 3
start local 3 2: getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
ifne 3
aload 3
ifnonnull 3
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 6
4: aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
astore 4
start local 4 5: goto 7
end local 4 6: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
astore 4
start local 4 7: StackMap locals: jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 8: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 14
StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
9: aload 9
iload 7
aaload
astore 6
start local 6 10: aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
11: getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
ifne 12
aload 1
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
if_icmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
aload 6
areturn
end local 6 13: StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 8
if_icmplt 9
15: new jdk.vm.ci.common.JVMCIError
dup
ldc "unresolved field %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 16 1 reflectionField Ljava/lang/reflect/Field;
1 16 2 fieldHolder Ljava/lang/Class<*>;
2 16 3 holder Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
5 6 4 fields [Ljdk/vm/ci/meta/ResolvedJavaField;
7 16 4 fields [Ljdk/vm/ci/meta/ResolvedJavaField;
8 16 5 fieldType Ljdk/vm/ci/meta/ResolvedJavaType;
10 13 6 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
reflectionField
private static int intMaskRight(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
ifne 1
iload 0
bipush 32
if_icmple 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 0
bipush 32
if_icmpne 2
iconst_m1
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
iload 0
ishl
iconst_1
isub
StackMap locals:
StackMap stack: int
3: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 n I
MethodParameters:
Name Flags
n
public jdk.vm.ci.meta.JavaConstant encodeDeoptActionAndReason(jdk.vm.ci.meta.DeoptimizationAction, jdk.vm.ci.meta.DeoptimizationReason, int);
descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;I)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 4
start local 4 1: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptAction:(Ljdk/vm/ci/meta/DeoptimizationAction;)I
istore 5
start local 5 2: aload 0
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptReason:(Ljdk/vm/ci/meta/DeoptimizationReason;)I
istore 6
start local 6 3: iload 3
aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdBits:I
invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
iand
istore 7
start local 7 4: iload 7
aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdShift:I
ishl
iload 6
aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonShift:I
ishl
ior
iload 5
aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionShift:I
ishl
ior
iconst_m1
ixor
5: invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 8
start local 8 6: getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
ifne 7
aload 8
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iflt 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason int jdk.vm.ci.hotspot.HotSpotVMConfig int int int jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 8 1 action Ljdk/vm/ci/meta/DeoptimizationAction;
0 8 2 reason Ljdk/vm/ci/meta/DeoptimizationReason;
0 8 3 debugId I
1 8 4 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
2 8 5 actionValue I
3 8 6 reasonValue I
4 8 7 debugValue I
6 8 8 c Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
action
reason
debugId
public jdk.vm.ci.meta.DeoptimizationReason decodeDeoptReason(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationReason;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iconst_m1
ixor
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonShift:I
ishr
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonBits:I
invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
iand
istore 3
start local 3 2: aload 0
iload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptReason:(I)Ljdk/vm/ci/meta/DeoptimizationReason;
astore 4
start local 4 3: aload 4
areturn
end local 4 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/HotSpotMetaAccessProvider;
0 4 1 constant Ljdk/vm/ci/meta/JavaConstant;
1 4 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
2 4 3 reasonValue I
3 4 4 reason Ljdk/vm/ci/meta/DeoptimizationReason;
MethodParameters:
Name Flags
constant
public jdk.vm.ci.meta.DeoptimizationAction decodeDeoptAction(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iconst_m1
ixor
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionShift:I
ishr
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionBits:I
invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
iand
istore 3
start local 3 2: aload 0
iload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptAction:(I)Ljdk/vm/ci/meta/DeoptimizationAction;
astore 4
start local 4 3: aload 4
areturn
end local 4 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/HotSpotMetaAccessProvider;
0 4 1 constant Ljdk/vm/ci/meta/JavaConstant;
1 4 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
2 4 3 actionValue I
3 4 4 action Ljdk/vm/ci/meta/DeoptimizationAction;
MethodParameters:
Name Flags
constant
public int decodeDebugId(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iconst_m1
ixor
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdShift:I
ishr
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdBits:I
invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
iand
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 2 1 constant Ljdk/vm/ci/meta/JavaConstant;
1 2 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
MethodParameters:
Name Flags
constant
public jdk.vm.ci.meta.JavaConstant encodeSpeculation(jdk.vm.ci.meta.SpeculationLog$Speculation);
descriptor: (Ljdk/vm/ci/meta/SpeculationLog$Speculation;)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
invokevirtual jdk.vm.ci.meta.SpeculationLog$Speculation.getReason:()Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
instanceof jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason
ifeq 2
1: getstatic jdk.vm.ci.meta.JavaConstant.LONG_0:Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation
invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation.getEncoding:()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/HotSpotMetaAccessProvider;
0 3 1 speculation Ljdk/vm/ci/meta/SpeculationLog$Speculation;
MethodParameters:
Name Flags
speculation
public jdk.vm.ci.meta.SpeculationLog$Speculation decodeSpeculation(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.meta.SpeculationLog);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/SpeculationLog;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic jdk.vm.ci.meta.JavaConstant.LONG_0:Ljdk/vm/ci/meta/PrimitiveConstant;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic jdk.vm.ci.meta.SpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "A speculation log is required to decode the speculation denoted by "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
4: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface jdk.vm.ci.meta.SpeculationLog.lookupSpeculation:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 5 1 constant Ljdk/vm/ci/meta/JavaConstant;
0 5 2 speculationLog Ljdk/vm/ci/meta/SpeculationLog;
MethodParameters:
Name Flags
constant
speculationLog
public int convertDeoptAction(jdk.vm.ci.meta.DeoptimizationAction);
descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:()[I
aload 1
invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 3
3: 4
4: 5
5: 6
default: 7
}
2: StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionNone:I
ireturn
3: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMaybeRecompile:I
ireturn
4: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionReinterpret:I
ireturn
5: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotEntrant:I
ireturn
6: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotCompilable:I
ireturn
7: StackMap locals:
StackMap stack:
new jdk.vm.ci.common.JVMCIError
dup
ldc "%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 8 1 action Ljdk/vm/ci/meta/DeoptimizationAction;
1 8 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
MethodParameters:
Name Flags
action
public jdk.vm.ci.meta.DeoptimizationAction convertDeoptAction(int);
descriptor: (I)Ljdk/vm/ci/meta/DeoptimizationAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionNone:I
if_icmpne 3
2: getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
areturn
3: StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMaybeRecompile:I
if_icmpne 5
4: getstatic jdk.vm.ci.meta.DeoptimizationAction.RecompileIfTooManyDeopts:Ljdk/vm/ci/meta/DeoptimizationAction;
areturn
5: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionReinterpret:I
if_icmpne 7
6: getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
areturn
7: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotEntrant:I
if_icmpne 9
8: getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
areturn
9: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotCompilable:I
if_icmpne 11
10: getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateStopCompiling:Ljdk/vm/ci/meta/DeoptimizationAction;
areturn
11: StackMap locals:
StackMap stack:
new jdk.vm.ci.common.JVMCIError
dup
ldc "%d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 12 1 action I
1 12 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
MethodParameters:
Name Flags
action
public int convertDeoptReason(jdk.vm.ci.meta.DeoptimizationReason);
descriptor: (Ljdk/vm/ci/meta/DeoptimizationReason;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:()[I
aload 1
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
iaload
tableswitch { // 1 - 16
1: 2
2: 3
3: 4
4: 5
5: 6
6: 7
7: 8
8: 9
9: 10
10: 11
11: 12
12: 13
13: 14
14: 15
15: 16
16: 17
default: 18
}
2: StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNone:I
ireturn
3: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNullCheck:I
ireturn
4: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonRangeCheck:I
ireturn
5: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonClassCheck:I
ireturn
6: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonArrayCheck:I
ireturn
7: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnreached0:I
ireturn
8: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTypeCheckInlining:I
ireturn
9: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonOptimizedTypeCheck:I
ireturn
10: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNotCompiledExceptionHandler:I
ireturn
11: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnresolved:I
ireturn
12: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonJsrMismatch:I
ireturn
13: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonDiv0Check:I
ireturn
14: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonConstraint:I
ireturn
15: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonLoopLimitCheck:I
ireturn
16: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonAliasing:I
ireturn
17: StackMap locals:
StackMap stack:
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTransferToInterpreter:I
ireturn
18: StackMap locals:
StackMap stack:
new jdk.vm.ci.common.JVMCIError
dup
ldc "%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 19 1 reason Ljdk/vm/ci/meta/DeoptimizationReason;
1 19 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
MethodParameters:
Name Flags
reason
public jdk.vm.ci.meta.DeoptimizationReason convertDeoptReason(int);
descriptor: (I)Ljdk/vm/ci/meta/DeoptimizationReason;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNone:I
if_icmpne 3
2: getstatic jdk.vm.ci.meta.DeoptimizationReason.None:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
3: StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNullCheck:I
if_icmpne 5
4: getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
5: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonRangeCheck:I
if_icmpne 7
6: getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
7: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonClassCheck:I
if_icmpne 9
8: getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
9: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonArrayCheck:I
if_icmpne 11
10: getstatic jdk.vm.ci.meta.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
11: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnreached0:I
if_icmpne 13
12: getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
13: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTypeCheckInlining:I
if_icmpne 15
14: getstatic jdk.vm.ci.meta.DeoptimizationReason.TypeCheckedInliningViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
15: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonOptimizedTypeCheck:I
if_icmpne 17
16: getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
17: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNotCompiledExceptionHandler:I
if_icmpne 19
18: getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
19: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnresolved:I
if_icmpne 21
20: getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
21: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonJsrMismatch:I
if_icmpne 23
22: getstatic jdk.vm.ci.meta.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
23: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonDiv0Check:I
if_icmpne 25
24: getstatic jdk.vm.ci.meta.DeoptimizationReason.ArithmeticException:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
25: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonConstraint:I
if_icmpne 27
26: getstatic jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
27: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonLoopLimitCheck:I
if_icmpne 29
28: getstatic jdk.vm.ci.meta.DeoptimizationReason.LoopLimitCheck:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
29: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonAliasing:I
if_icmpne 31
30: getstatic jdk.vm.ci.meta.DeoptimizationReason.Aliasing:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
31: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTransferToInterpreter:I
if_icmpne 33
32: getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
areturn
33: StackMap locals:
StackMap stack:
new jdk.vm.ci.common.JVMCIError
dup
ldc "%x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 34 1 reason I
1 34 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
MethodParameters:
Name Flags
reason
public long getMemorySize(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: 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 13
1: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: lconst_0
lreturn
4: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectType
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.isArray:()Z
ifeq 12
5: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 1
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.readArrayLength:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 6: aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 7: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 8: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 6
start local 6 9: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
istore 7
start local 7 10: iload 7
invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
istore 8
start local 8 11: aload 0
iload 3
iload 6
iload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.computeArrayAllocationSize:(III)I
i2l
lreturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 12: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.instanceSize:()I
i2l
lreturn
end local 2 13: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
i2l
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 14 1 constant Ljdk/vm/ci/meta/JavaConstant;
2 13 2 lookupJavaType Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
6 12 3 length I
7 12 4 elementType Ljdk/vm/ci/meta/ResolvedJavaType;
8 12 5 elementKind Ljdk/vm/ci/meta/JavaKind;
9 12 6 headerSize I
10 12 7 sizeOfElement I
11 12 8 log2ElementSize I
MethodParameters:
Name Flags
constant
public int computeArrayAllocationSize(int, int, int);
descriptor: (III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 4
start local 4 1: aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.objectAlignment:I
istore 5
start local 5 2: iload 1
iload 3
ishl
iload 2
iadd
iload 5
iconst_1
isub
iadd
istore 6
start local 6 3: iload 5
iconst_1
isub
iconst_m1
ixor
istore 7
start local 7 4: iload 6
iload 7
iand
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 5 1 length I
0 5 2 headerSize I
0 5 3 log2ElementSize I
1 5 4 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
2 5 5 alignment I
3 5 6 size I
4 5 7 mask I
MethodParameters:
Name Flags
length
headerSize
log2ElementSize
public int getArrayBaseOffset(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 1 1 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
public int getArrayIndexScale(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
0 1 1 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
public jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.DeoptimizationAction.values:()[Ljdk/vm/ci/meta/DeoptimizationAction;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
iconst_4
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.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateStopCompiling:Ljdk/vm/ci/meta/DeoptimizationAction;
invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
iconst_5
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.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
iconst_1
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.DeoptimizationAction.RecompileIfTooManyDeopts:Ljdk/vm/ci/meta/DeoptimizationAction;
invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:[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
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.DeoptimizationReason.values:()[Ljdk/vm/ci/meta/DeoptimizationReason;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationReason.Aliasing:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 15
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.DeoptimizationReason.ArithmeticException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 12
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.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
iconst_5
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.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
iconst_3
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.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
iconst_4
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.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.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.DeoptimizationReason.LoopLimitCheck:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 14
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.DeoptimizationReason.None:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
iconst_1
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.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.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.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
iconst_2
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.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 8
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 13
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 16
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationReason.TypeCheckedInliningViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 7
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 6
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
bipush 10
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
dup
putstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:[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
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
}
SourceFile: "HotSpotMetaAccessProvider.java"
InnerClasses:
public final HotSpotSpeculation = jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation of jdk.vm.ci.hotspot.HotSpotSpeculationLog
public final NoSpeculationReason = jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason of jdk.vm.ci.meta.SpeculationLog
public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog
public abstract SpeculationReason = jdk.vm.ci.meta.SpeculationLog$SpeculationReason of jdk.vm.ci.meta.SpeculationLog