final class jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl extends jdk.vm.ci.hotspot.HotSpotMethod implements jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod, jdk.vm.ci.hotspot.MetaspaceWrapperObject
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
super_class: jdk.vm.ci.hotspot.HotSpotMethod
{
private final long metaspaceMethod;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl holder;
descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.hotspot.HotSpotConstantPool constantPool;
descriptor: Ljdk/vm/ci/hotspot/HotSpotConstantPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.hotspot.HotSpotSignature signature;
descriptor: Ljdk/vm/ci/hotspot/HotSpotSignature;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.vm.ci.hotspot.HotSpotMethodData methodData;
descriptor: Ljdk/vm/ci/hotspot/HotSpotMethodData;
flags: (0x0002) ACC_PRIVATE
private byte[] code;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Executable toJavaCache;
descriptor: Ljava/lang/reflect/Executable;
flags: (0x0002) ACC_PRIVATE
private java.lang.String nameCache;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.ClassValue<java.util.Map<java.lang.Long, jdk.vm.ci.meta.SpeculationLog>> SpeculationLogs;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<Ljava/util/Map<Ljava/lang/Long;Ljdk/vm/ci/meta/SpeculationLog;>;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
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.HotSpotResolvedJavaMethodImpl.$assertionsDisabled:Z
3: new jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl$1
dup
invokespecial jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl$1.<init>:()V
putstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.SpeculationLogs:Ljava/lang/ClassValue;
4: return
LocalVariableTable:
Start End Slot Name Signature
private static jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getHolder(long);
descriptor: (J)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 0
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodConstMethodOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
lstore 3
start local 3 2: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodConstantsOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
lstore 5
start local 5 3: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aconst_null
lload 5
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolHolderOffset:I
i2l
ladd
iconst_0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaType:(Ljava/lang/Object;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 metaspaceMethod J
1 4 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
2 4 3 metaspaceConstMethod J
3 4 5 metaspaceConstantPool J
MethodParameters:
Name Flags
metaspaceMethod
private static jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod fromMetaspace(long);
descriptor: (J)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: lload 0
invokestatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getHolder:(J)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
astore 2
start local 2 1: aload 2
lload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.createMethod:(J)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 metaspaceMethod J
1 2 2 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
metaspaceMethod
void <init>(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;J)V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotMethod.<init>:()V
1: aload 0
lload 2
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
2: aload 0
aload 1
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
3: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 4
start local 4 4: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
lstore 5
start local 5 5: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 5
aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodConstantsOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
lstore 7
start local 7 6: lload 7
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getConstantPool:()Ljdk/vm/ci/hotspot/HotSpotConstantPool;
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
lcmp
ifne 9
7: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getConstantPool:()Ljdk/vm/ci/hotspot/HotSpotConstantPool;
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
8: goto 10
9: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl long jdk.vm.ci.hotspot.HotSpotVMConfig long long
StackMap stack:
aload 0
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getConstantPool:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotConstantPool;
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
10: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 5
aload 4
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodSignatureIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 9
start local 9 11: aload 0
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
iload 9
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupSignature:(I)Ljdk/vm/ci/meta/Signature;
checkcast jdk.vm.ci.hotspot.HotSpotSignature
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.signature:Ljdk/vm/ci/hotspot/HotSpotSignature;
12: return
end local 9 end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 13 1 holder Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
0 13 2 metaspaceMethod J
4 13 4 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
5 13 5 constMethod J
6 13 7 metaspaceConstantPool J
11 13 9 signatureIndex I
MethodParameters:
Name Flags
holder
metaspaceMethod
private long getConstMethod();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
lconst_0
lcmp
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodConstMethodOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.nameCache:Ljava/lang/String;
ifnonnull 3
1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodNameIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 1
start local 1 2: aload 0
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
iload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupUtf8:(I)Ljava/lang/String;
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.nameCache:Ljava/lang/String;
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.nameCache:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
2 3 1 nameIndex I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
ifeq 6
3: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
astore 2
start local 2 4: aload 2
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
lcmp
ifne 5
iconst_1
ireturn
StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
StackMap stack:
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 7 1 obj Ljava/lang/Object;
4 6 2 that Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
private int getFlags();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodFlagsOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getShort:(J)S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
private int getConstMethodFlags();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodFlagsOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getDeclaringClass();
descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.meta.Constant getMetaspaceMethodConstant();
descriptor: ()Ljdk/vm/ci/meta/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.forMetaspaceObject:(Ljdk/vm/ci/hotspot/MetaspaceWrapperObject;Z)Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public long getMetaspacePointer();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.meta.Constant getEncoding();
descriptor: ()Ljdk/vm/ci/meta/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getMetaspaceMethodConstant:()Ljdk/vm/ci/meta/Constant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public int getAllModifiers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodAccessFlagsOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public int getModifiers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getAllModifiers:()I
invokestatic jdk.vm.ci.hotspot.HotSpotModifiers.jvmMethodModifiers:()I
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean canBeStaticallyBound();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isFinal:()Z
ifne 1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isPrivate:()Z
ifne 1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isStatic:()Z
ifne 1
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isLeaf:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isConcrete:()Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public byte[] getCode();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getCodeSize:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.code:[B
ifnonnull 5
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isLinked:()Z
ifeq 5
3: aload 0
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getBytecode:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[B
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.code:[B
4: getstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.$assertionsDisabled:Z
ifne 5
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.code:[B
arraylength
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getCodeSize:()I
if_icmpeq 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getCodeSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", actual: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.code:[B
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.code:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public int getCodeSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodCodeSizeOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.meta.ExceptionHandler[] getExceptionHandlers();
descriptor: ()[Ljdk/vm/ci/meta/ExceptionHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=14, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethodFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodHasExceptionTable:I
iand
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: iload 1
ifne 5
4: iconst_0
anewarray jdk.vm.ci.meta.ExceptionHandler
areturn
5: StackMap locals: int
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 6: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getExceptionTableLength:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)I
istore 3
start local 3 7: iload 3
anewarray jdk.vm.ci.meta.ExceptionHandler
astore 4
start local 4 8: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getExceptionTableStart:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)J
lstore 5
start local 5 9: iconst_0
istore 7
start local 7 10: goto 27
11: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl int jdk.vm.ci.hotspot.HotSpotVMConfig int jdk.vm.ci.meta.ExceptionHandler[] long int
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 5
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.exceptionTableElementStartPcOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 8
start local 8 12: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 5
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.exceptionTableElementEndPcOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 9
start local 9 13: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 5
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.exceptionTableElementHandlerPcOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 10
start local 10 14: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 5
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.exceptionTableElementCatchTypeIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 11
start local 11 15: iload 11
ifne 18
16: aconst_null
astore 12
start local 12 17: goto 24
end local 12 18: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl int jdk.vm.ci.hotspot.HotSpotVMConfig int jdk.vm.ci.meta.ExceptionHandler[] long int int int int int
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
iload 11
iconst_m1
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupType:(II)Ljdk/vm/ci/meta/JavaType;
astore 12
start local 12 19: aload 12
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
ifeq 24
20: aload 12
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
astore 13
start local 13 21: aload 13
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.mirror:()Ljava/lang/Class;
ldc Ljava/lang/Throwable;
if_acmpne 24
22: iconst_0
istore 11
23: aconst_null
astore 12
end local 13 24: StackMap locals: jdk.vm.ci.meta.JavaType
StackMap stack:
aload 4
iload 7
new jdk.vm.ci.meta.ExceptionHandler
dup
iload 8
iload 9
iload 10
iload 11
aload 12
invokespecial jdk.vm.ci.meta.ExceptionHandler.<init>:(IIIILjdk/vm/ci/meta/JavaType;)V
aastore
25: lload 5
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.exceptionTableElementSize:I
i2l
ladd
lstore 5
end local 12 end local 11 end local 10 end local 9 end local 8 26: iinc 7 1
StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl int jdk.vm.ci.hotspot.HotSpotVMConfig int jdk.vm.ci.meta.ExceptionHandler[] long int
StackMap stack:
27: iload 7
iload 3
if_icmplt 11
end local 7 28: aload 4
areturn
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 29 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
3 29 1 hasExceptionTable Z
6 29 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
7 29 3 exceptionTableLength I
8 29 4 handlers [Ljdk/vm/ci/meta/ExceptionHandler;
9 29 5 exceptionTableElement J
10 28 7 i I
12 26 8 startPc I
13 26 9 endPc I
14 26 10 handlerPc I
15 26 11 catchTypeIndex I
17 18 12 catchType Ljdk/vm/ci/meta/JavaType;
19 26 12 catchType Ljdk/vm/ci/meta/JavaType;
21 24 13 resolvedType Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
public boolean isCallerSensitive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodFlagsCallerSensitive:I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean isForceInline();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodFlagsForceInline:I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean hasReservedStackAccess();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodFlagsReservedStackAccess:I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public void setNotInlineable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.doNotInlineOrCompile:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean ignoredBySecurityStackWalk();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.methodIsIgnoredBySecurityStackWalk:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean isClassInitializer();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isStatic:()Z
ifeq 6
1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodNameIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 1
start local 1 2: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
iload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getEntryAt:(I)J
lstore 2
start local 2 3: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.symbolClinit:J
lstore 4
start local 4 4: lload 2
lload 4
lcmp
ifne 5
iconst_1
ireturn
StackMap locals: int long long
StackMap stack:
5: iconst_0
ireturn
end local 4 end local 2 end local 1 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
2 6 1 nameIndex I
3 6 2 nameSymbol J
4 6 4 clinitSymbol J
public boolean isConstructor();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isStatic:()Z
ifne 6
1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodNameIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 1
start local 1 2: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
iload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getEntryAt:(I)J
lstore 2
start local 2 3: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.symbolInit:J
lstore 4
start local 4 4: lload 2
lload 4
lcmp
ifne 5
iconst_1
ireturn
StackMap locals: int long long
StackMap stack:
5: iconst_0
ireturn
end local 4 end local 2 end local 1 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
2 6 1 nameIndex I
3 6 2 nameSymbol J
4 6 4 initSymbol J
public int getMaxLocals();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isAbstract:()Z
ifne 1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isNative:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 1
start local 1 3: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodMaxLocalsOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
3 4 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
public int getMaxStackSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isAbstract:()Z
ifne 1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isNative:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 1
start local 1 3: aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.extraStackEntries:I
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethod:()J
aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodMaxStackOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
3 4 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
public java.lang.StackTraceElement asStackTraceElement(int);
descriptor: (I)Ljava/lang/StackTraceElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getCodeSize:()I
if_icmplt 3
1: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
iconst_0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getStackTraceElement:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;I)Ljava/lang/StackTraceElement;
astore 2
start local 2 2: new java.lang.StackTraceElement
dup
aload 2
invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.StackTraceElement.getFileName:()Ljava/lang/String;
iconst_m1
invokespecial java.lang.StackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
areturn
end local 2 3: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
iload 1
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getStackTraceElement:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;I)Ljava/lang/StackTraceElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 4 1 bci I
2 3 2 ste Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
bci
public jdk.vm.ci.meta.ResolvedJavaMethod uniqueConcreteMethod(jdk.vm.ci.hotspot.HotSpotResolvedObjectType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.isInterface:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isDefault:()Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.findUniqueConcreteMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 5 1 receiver Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
MethodParameters:
Name Flags
receiver
public jdk.vm.ci.hotspot.HotSpotSignature getSignature();
descriptor: ()Ljdk/vm/ci/hotspot/HotSpotSignature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.signature:Ljdk/vm/ci/hotspot/HotSpotSignature;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
private long getCompiledCode();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 1
start local 1 1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodCodeOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 2 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
public boolean hasCompiledCode();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getCompiledCode:()J
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean hasCompiledCodeAtLevel(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getCompiledCode:()J
lstore 2
start local 2 1: lload 2
lconst_0
lcmp
ifeq 4
2: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 2
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.nmethodCompLevelOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
iload 1
if_icmpne 3
iconst_1
ireturn
StackMap locals: long
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 5 1 level I
1 5 2 compiledCode J
MethodParameters:
Name Flags
level
public jdk.vm.ci.meta.ProfilingInfo getProfilingInfo(boolean, boolean);
descriptor: (ZZ)Ljdk/vm/ci/meta/ProfilingInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.UseProfilingInformation:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getBoolean:()Z
ifeq 7
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
ifnonnull 7
1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodDataOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
lstore 4
start local 4 2: lload 4
lconst_0
lcmp
ifeq 7
3: aload 0
new jdk.vm.ci.hotspot.HotSpotMethodData
dup
lload 4
aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotMethodData.<init>:(JLjdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)V
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
4: getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.TraceMethodDataFilter:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getString:()Ljava/lang/String;
astore 6
start local 6 5: aload 6
ifnull 7
aload 0
ldc "%H.%n"
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.format:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 end local 4 7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
ifnull 8
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.hasNormalData:()Z
ifne 10
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.hasExtraData:()Z
ifne 10
8: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.TriState.FALSE:Ljdk/vm/ci/meta/TriState;
invokestatic jdk.vm.ci.meta.DefaultProfilingInfo.get:(Ljdk/vm/ci/meta/TriState;)Ljdk/vm/ci/meta/ProfilingInfo;
astore 3
start local 3 9: goto 11
end local 3 10: StackMap locals:
StackMap stack:
new jdk.vm.ci.hotspot.HotSpotProfilingInfo
dup
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.methodData:Ljdk/vm/ci/hotspot/HotSpotMethodData;
aload 0
iload 1
iload 2
invokespecial jdk.vm.ci.hotspot.HotSpotProfilingInfo.<init>:(Ljdk/vm/ci/hotspot/HotSpotMethodData;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;ZZ)V
astore 3
start local 3 11: StackMap locals: jdk.vm.ci.meta.ProfilingInfo
StackMap stack:
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/HotSpotResolvedJavaMethodImpl;
0 12 1 includeNormal Z
0 12 2 includeOSR Z
9 10 3 info Ljdk/vm/ci/meta/ProfilingInfo;
11 12 3 info Ljdk/vm/ci/meta/ProfilingInfo;
2 7 4 metaspaceMethodData J
5 7 6 methodDataFilter Ljava/lang/String;
MethodParameters:
Name Flags
includeNormal
includeOSR
public void reprofile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.reprofile:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.meta.ConstantPool getConstantPool();
descriptor: ()Ljdk/vm/ci/meta/ConstantPool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.constantPool:Ljdk/vm/ci/hotspot/HotSpotConstantPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] getParameters();
descriptor: ()[Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJava:()Ljava/lang/reflect/Executable;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.reflect.Executable
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Executable.getParameters:()[Ljava/lang/reflect/Parameter;
astore 2
start local 2 4: aload 2
arraylength
anewarray jdk.vm.ci.meta.ResolvedJavaMethod$Parameter
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 13
7: 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 8: aload 5
invokevirtual java.lang.reflect.Parameter.isNamePresent:()Z
ifeq 9
aload 5
invokevirtual java.lang.reflect.Parameter.getName:()Ljava/lang/String;
goto 10
StackMap locals: java.lang.reflect.Parameter
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: java.lang.String
10: astore 6
start local 6 11: aload 3
iload 4
new jdk.vm.ci.meta.ResolvedJavaMethod$Parameter
dup
aload 6
aload 5
invokevirtual java.lang.reflect.Parameter.getModifiers:()I
aload 0
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 12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 3
arraylength
if_icmplt 7
end local 4 14: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 15 1 javaMethod Ljava/lang/reflect/Executable;
4 15 2 javaParameters [Ljava/lang/reflect/Parameter;
5 15 3 res [Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
6 14 4 i I
8 12 5 src Ljava/lang/reflect/Parameter;
11 12 6 paramName Ljava/lang/String;
public java.lang.annotation.Annotation[][] getParameterAnnotations();
descriptor: ()[[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJava:()Ljava/lang/reflect/Executable;
astore 1
start local 1 1: aload 1
ifnonnull 2
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.signature:Ljdk/vm/ci/hotspot/HotSpotSignature;
iconst_0
invokevirtual jdk.vm.ci.hotspot.HotSpotSignature.getParameterCount:(Z)I
iconst_0
multianewarray [[Ljava/lang/annotation/Annotation; 2
goto 3
StackMap locals: java.lang.reflect.Executable
StackMap stack:
2: aload 1
invokevirtual java.lang.reflect.Executable.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
StackMap locals:
StackMap stack: java.lang.annotation.Annotation[][]
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 4 1 javaMethod Ljava/lang/reflect/Executable;
public java.lang.annotation.Annotation[] getAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJava:()Ljava/lang/reflect/Executable;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.reflect.Executable.getAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
3: StackMap locals: java.lang.reflect.Executable
StackMap stack:
iconst_0
anewarray java.lang.annotation.Annotation
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 4 1 javaMethod Ljava/lang/reflect/Executable;
public java.lang.annotation.Annotation[] getDeclaredAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJava:()Ljava/lang/reflect/Executable;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.reflect.Executable.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
3: StackMap locals: java.lang.reflect.Executable
StackMap stack:
iconst_0
anewarray java.lang.annotation.Annotation
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 4 1 javaMethod Ljava/lang/reflect/Executable;
public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJava:()Ljava/lang/reflect/Executable;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.reflect.Executable
StackMap stack:
2: aload 2
aload 1
invokevirtual java.lang.reflect.Executable.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
StackMap locals:
StackMap stack: java.lang.annotation.Annotation
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 4 1 annotationClass Ljava/lang/Class<TT;>;
1 4 2 javaMethod Ljava/lang/reflect/Executable;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
annotationClass
public boolean isBridge();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotModifiers.BRIDGE:I
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getModifiers:()I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean isSynthetic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotModifiers.SYNTHETIC:I
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getModifiers:()I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean isVarArgs();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotModifiers.VARARGS:I
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getModifiers:()I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean isDefault();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: sipush 1033
istore 1
start local 1 1: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getModifiers:()I
iload 1
iand
iconst_1
if_icmpne 2
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getDeclaringClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isInterface:()Z
ifeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 3 1 mask I
public java.lang.reflect.Type[] getGenericParameterTypes();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJava:()Ljava/lang/reflect/Executable;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.reflect.Executable
StackMap stack:
2: aload 1
invokevirtual java.lang.reflect.Executable.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
StackMap locals:
StackMap stack: java.lang.reflect.Type[]
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 4 1 javaMethod Ljava/lang/reflect/Executable;
public java.lang.Class<?>[] signatureToTypes();
descriptor: ()[Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getSignature:()Ljdk/vm/ci/hotspot/HotSpotSignature;
astore 1
start local 1 1: aload 1
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
istore 2
start local 2 2: iload 2
anewarray java.lang.Class
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 9
5: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl jdk.vm.ci.meta.Signature int java.lang.Class[] int
StackMap stack:
aload 1
iload 4
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
astore 5
start local 5 6: aload 5
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 6
start local 6 7: aload 3
iload 4
aload 6
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.mirror:()Ljava/lang/Class;
aastore
end local 6 end local 5 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 3
arraylength
if_icmplt 5
end local 4 10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 11 1 sig Ljdk/vm/ci/meta/Signature;
2 11 2 count I
3 11 3 result [Ljava/lang/Class;
4 10 4 i I
6 8 5 parameterType Ljdk/vm/ci/meta/JavaType;
7 8 6 resolvedParameterType Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
Signature: ()[Ljava/lang/Class<*>;
private static java.lang.reflect.Method searchMethods(java.lang.reflect.Method[], java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: ([Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 5
StackMap locals: java.lang.reflect.Method[] java.lang.String java.lang.Class java.lang.Class[] top int int java.lang.reflect.Method[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 4
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 2
aload 4
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 4
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 3
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 4
3: aload 4
areturn
end local 4 4: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 6
if_icmplt 1
6: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 methods [Ljava/lang/reflect/Method;
0 7 1 name Ljava/lang/String;
0 7 2 returnType Ljava/lang/Class<*>;
0 7 3 parameterTypes [Ljava/lang/Class;
2 4 4 m Ljava/lang/reflect/Method;
Signature: ([Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
methods
name
returnType
parameterTypes
private java.lang.reflect.Executable toJava();
descriptor: ()Ljava/lang/reflect/Executable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
ifnull 2
1: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.signatureToTypes:()[Ljava/lang/Class;
astore 1
start local 1 3: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getSignature:()Ljdk/vm/ci/hotspot/HotSpotSignature;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotSignature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.mirror:()Ljava/lang/Class;
astore 2
start local 2 4: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isConstructor:()Z
ifeq 7
5: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.mirror:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 3
start local 3 6: goto 8
end local 3 7: StackMap locals: java.lang.Class[] java.lang.Class
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.mirror:()Ljava/lang/Class;
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getName:()Ljava/lang/String;
aload 2
aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.searchMethods:([Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 8: StackMap locals: java.lang.reflect.Executable
StackMap stack:
aload 0
aload 3
putfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toJavaCache:Ljava/lang/reflect/Executable;
9: aload 3
10: areturn
end local 3 end local 2 end local 1 11: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
StackMap stack: java.lang.Throwable
pop
12: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
3 11 1 parameterTypes [Ljava/lang/Class;
4 11 2 returnType Ljava/lang/Class<*>;
6 7 3 result Ljava/lang/reflect/Executable;
8 11 3 result Ljava/lang/reflect/Executable;
Exception table:
from to target type
2 10 11 Class java.lang.NoSuchMethodException
2 10 11 Class java.lang.NoClassDefFoundError
public boolean canBeInlined();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.hasNeverInlineDirective:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.isCompilable:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean hasNeverInlineDirective();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.hasNeverInlineDirective:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public boolean shouldBeInlined();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isForceInline:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.shouldInlineMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public jdk.vm.ci.meta.LineNumberTable getLineNumberTable();
descriptor: ()Ljdk/vm/ci/meta/LineNumberTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethodFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodHasLineNumberTable:I
iand
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: iload 1
ifne 5
4: aconst_null
areturn
5: StackMap locals: int
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getLineNumberTable:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[J
astore 2
start local 2 6: aload 2
ifnull 7
aload 2
arraylength
ifne 8
7: StackMap locals: long[]
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.$assertionsDisabled:Z
ifne 9
aload 2
arraylength
iconst_2
irem
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 2
arraylength
iconst_2
idiv
newarray 10
astore 3
start local 3 10: aload 2
arraylength
iconst_2
idiv
newarray 10
astore 4
start local 4 11: iconst_0
istore 5
start local 5 12: goto 16
13: StackMap locals: int[] int[] int
StackMap stack:
aload 3
iload 5
aload 2
iload 5
iconst_2
imul
laload
l2i
iastore
14: aload 4
iload 5
aload 2
iload 5
iconst_2
imul
iconst_1
iadd
laload
l2i
iastore
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 2
arraylength
iconst_2
idiv
if_icmplt 13
end local 5 17: new jdk.vm.ci.meta.LineNumberTable
dup
aload 4
aload 3
invokespecial jdk.vm.ci.meta.LineNumberTable.<init>:([I[I)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
3 18 1 hasLineNumberTable Z
6 18 2 values [J
10 18 3 bci [I
11 18 4 line [I
12 17 5 i I
public jdk.vm.ci.meta.LocalVariableTable getLocalVariableTable();
descriptor: ()Ljdk/vm/ci/meta/LocalVariableTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=15, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstMethodFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constMethodHasLocalVariableTable:I
iand
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: iload 1
ifne 5
4: aconst_null
areturn
5: StackMap locals: int
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 6: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getLocalVariableTableStart:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)J
lstore 3
start local 3 7: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getLocalVariableTableLength:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)I
istore 5
start local 5 8: iload 5
anewarray jdk.vm.ci.meta.Local
astore 6
start local 6 9: iconst_0
istore 7
start local 7 10: goto 21
11: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl int jdk.vm.ci.hotspot.HotSpotVMConfig long int jdk.vm.ci.meta.Local[] int
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.localVariableTableElementStartBciOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 8
start local 8 12: iload 8
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.localVariableTableElementLengthOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
iadd
istore 9
start local 9 13: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.localVariableTableElementNameCpIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 10
start local 10 14: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.localVariableTableElementDescriptorCpIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 11
start local 11 15: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.localVariableTableElementSlotOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
istore 12
start local 12 16: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstantPool:()Ljdk/vm/ci/meta/ConstantPool;
iload 10
invokeinterface jdk.vm.ci.meta.ConstantPool.lookupUtf8:(I)Ljava/lang/String;
astore 13
start local 13 17: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getConstantPool:()Ljdk/vm/ci/meta/ConstantPool;
iload 11
invokeinterface jdk.vm.ci.meta.ConstantPool.lookupUtf8:(I)Ljava/lang/String;
astore 14
start local 14 18: aload 6
iload 7
new jdk.vm.ci.meta.Local
dup
aload 13
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 14
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
iconst_0
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.lookupType:(Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;Z)Ljdk/vm/ci/meta/JavaType;
iload 8
iload 9
iload 12
invokespecial jdk.vm.ci.meta.Local.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/JavaType;III)V
aastore
19: lload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.localVariableTableElementSize:I
i2l
ladd
lstore 3
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 20: iinc 7 1
StackMap locals:
StackMap stack:
21: iload 7
iload 5
if_icmplt 11
end local 7 22: new jdk.vm.ci.meta.LocalVariableTable
dup
aload 6
invokespecial jdk.vm.ci.meta.LocalVariableTable.<init>:([Ljdk/vm/ci/meta/Local;)V
areturn
end local 6 end local 5 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/HotSpotResolvedJavaMethodImpl;
3 23 1 hasLocalVariableTable Z
6 23 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
7 23 3 localVariableTableElement J
8 23 5 localVariableTableLength I
9 23 6 locals [Ljdk/vm/ci/meta/Local;
10 22 7 i I
12 20 8 startBci I
13 20 9 endBci I
14 20 10 nameCpIndex I
15 20 11 typeCpIndex I
16 20 12 slot I
17 20 13 localName Ljava/lang/String;
18 20 14 localType Ljava/lang/String;
public int vtableEntryOffset(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.isInVirtualMethodTable:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 2
1: new jdk.vm.ci.common.JVMCIError
dup
ldc "%s does not have a vtable entry in type %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 2
start local 2 3: aload 0
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getVtableIndex:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)I
istore 3
start local 3 4: aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.klassVtableStartOffset:I
iload 3
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.vtableEntrySize:I
imul
iadd
aload 2
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.vtableEntryMethodOffset:I
iadd
ireturn
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/HotSpotResolvedJavaMethodImpl;
0 5 1 resolved Ljdk/vm/ci/meta/ResolvedJavaType;
3 5 2 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
4 5 3 vtableIndex I
MethodParameters:
Name Flags
resolved
public boolean isInVirtualMethodTable(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
ifeq 5
1: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
astore 2
start local 2 2: aload 0
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getVtableIndex:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)I
istore 3
start local 3 3: iload 3
iflt 4
iload 3
aload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getVtableLength:()I
if_icmpge 4
iconst_1
ireturn
StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl int
StackMap stack:
4: iconst_0
ireturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 6 1 resolved Ljdk/vm/ci/meta/ResolvedJavaType;
2 5 2 hotspotResolved Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
3 5 3 vtableIndex I
MethodParameters:
Name Flags
resolved
private int getVtableIndex(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isLinked:()Z
ifne 2
1: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.invalidVtableIndex:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isInterface:()Z
ifeq 6
3: aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isInterface:()Z
ifeq 5
4: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.invalidVtableIndex:I
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getVtableIndexForInterfaceMethod:(Ljdk/vm/ci/meta/ResolvedJavaType;)I
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getVtableIndex:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 7 1 resolved Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
resolved
private int getVtableIndex();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isInterface:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 1
start local 1 2: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodVtableIndexOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 2
start local 2 3: getstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.$assertionsDisabled:Z
ifne 4
iload 2
aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.nonvirtualVtableIndex:I
if_icmpge 4
new java.lang.AssertionError
dup
ldc "must be linked"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
2 5 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
3 5 2 result I
private int getVtableIndexForInterfaceMethod(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
astore 2
start local 2 1: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 2
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getVtableIndexForInterfaceMethod:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 2 1 resolved Ljdk/vm/ci/meta/ResolvedJavaType;
1 2 2 hotspotType Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
resolved
public jdk.vm.ci.meta.SpeculationLog getSpeculationLog();
descriptor: ()Ljdk/vm/ci/meta/SpeculationLog;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.SpeculationLogs:Ljava/lang/ClassValue;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.holder:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.mirror:()Ljava/lang/Class;
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.Map
astore 1
start local 1 1: aload 1
dup
astore 2
monitorenter
2: aload 1
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.vm.ci.meta.SpeculationLog
astore 3
start local 3 3: aload 3
ifnonnull 6
4: new jdk.vm.ci.hotspot.HotSpotSpeculationLog
dup
invokespecial jdk.vm.ci.hotspot.HotSpotSpeculationLog.<init>:()V
astore 3
5: aload 1
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: java.util.Map java.util.Map jdk.vm.ci.meta.SpeculationLog
StackMap stack:
aload 3
aload 2
monitorexit
7: areturn
end local 3 8: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl java.util.Map java.util.Map
StackMap stack: java.lang.Throwable
aload 2
monitorexit
9: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 10 1 map Ljava/util/Map<Ljava/lang/Long;Ljdk/vm/ci/meta/SpeculationLog;>;
3 8 3 log Ljdk/vm/ci/meta/SpeculationLog;
Exception table:
from to target type
2 7 8 any
8 9 8 any
public int intrinsicId();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
astore 1
start local 1 1: getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod:J
aload 1
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodIntrinsicIdOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
1 2 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
public boolean isIntrinsicCandidate();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getFlags:()I
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodFlagsIntrinsicCandidate:I
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
public int allocateCompileId(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
iload 1
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.allocateCompileId:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 1 1 entryBCI I
MethodParameters:
Name Flags
entryBCI
public boolean hasCodeAtLevel(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.invocationEntryBci:I
if_icmpne 2
1: aload 0
iload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.hasCompiledCodeAtLevel:(I)Z
ireturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
iload 1
iload 2
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.hasCompiledCodeForOSR:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;II)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 3 1 entryBCI I
0 3 2 level I
MethodParameters:
Name Flags
entryBCI
level
public jdk.vm.ci.meta.Signature getSignature();
descriptor: ()Ljdk/vm/ci/meta/Signature;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getSignature:()Ljdk/vm/ci/hotspot/HotSpotSignature;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.vm.ci.meta.JavaType getDeclaringClass();
descriptor: ()Ljdk/vm/ci/meta/JavaType;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getDeclaringClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.vm.ci.meta.ResolvedJavaType getDeclaringClass();
descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getDeclaringClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.vm.ci.hotspot.HotSpotResolvedObjectType getDeclaringClass();
descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.getDeclaringClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "HotSpotResolvedJavaMethodImpl.java"
NestMembers:
jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl$1
InnerClasses:
public final Option = jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option of jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl$1
public Parameter = jdk.vm.ci.meta.ResolvedJavaMethod$Parameter of jdk.vm.ci.meta.ResolvedJavaMethod