class jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData extends jdk.vm.ci.hotspot.HotSpotMethodData$ReceiverTypeData
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData
super_class: jdk.vm.ci.hotspot.HotSpotMethodData$ReceiverTypeData
{
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=1, locals=0, args_size=0
0: ldc Ljdk/vm/ci/hotspot/HotSpotMethodData;
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.HotSpotMethodData$VirtualCallData.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.vm.ci.hotspot.HotSpotVMConfig, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotVMConfig;I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
getstatic jdk.vm.ci.hotspot.HotSpotMethodData.VIRTUAL_CALL_DATA_SIZE:I
invokespecial jdk.vm.ci.hotspot.HotSpotMethodData$ReceiverTypeData.<init>:(Ljdk/vm/ci/hotspot/HotSpotVMConfig;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 2 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
0 2 2 tag I
MethodParameters:
Name Flags
config
tag
protected void <init>(jdk.vm.ci.hotspot.HotSpotVMConfig, int, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotVMConfig;II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokespecial jdk.vm.ci.hotspot.HotSpotMethodData$ReceiverTypeData.<init>:(Ljdk/vm/ci/hotspot/HotSpotVMConfig;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 2 1 config Ljdk/vm/ci/hotspot/HotSpotVMConfig;
0 2 2 tag I
0 2 3 staticSize I
MethodParameters:
Name Flags
config
tag
staticSize
public int getExecutionCount(jdk.vm.ci.hotspot.HotSpotMethodData, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotMethodData;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.typeProfileWidth:I
istore 3
start local 3 1: lconst_0
lstore 4
start local 4 2: iconst_0
istore 6
start local 6 3: goto 6
4: StackMap locals: int long int
StackMap stack:
lload 4
aload 1
iload 2
iload 6
invokestatic jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getTypeCountOffset:(I)I
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.readUnsignedInt:(II)J
ladd
lstore 4
5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
iload 3
if_icmplt 4
end local 6 7: lload 4
aload 0
aload 1
iload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getCounterValue:(Ljdk/vm/ci/hotspot/HotSpotMethodData;I)I
i2l
ladd
lstore 4
8: lload 4
invokestatic jdk.vm.ci.hotspot.HotSpotMethodData.truncateLongToInt:(J)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 9 1 data Ljdk/vm/ci/hotspot/HotSpotMethodData;
0 9 2 position I
1 9 3 typeProfileWidth I
2 9 4 total J
3 7 6 i I
MethodParameters:
Name Flags
data
position
protected long getTypesNotRecordedExecutionCount(jdk.vm.ci.hotspot.HotSpotMethodData, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotMethodData;I)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getCounterValue:(Ljdk/vm/ci/hotspot/HotSpotMethodData;I)I
i2l
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 1 1 data Ljdk/vm/ci/hotspot/HotSpotMethodData;
0 1 2 position I
MethodParameters:
Name Flags
data
position
private static long getMethodsNotRecordedExecutionCount(jdk.vm.ci.hotspot.HotSpotMethodData, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotMethodData;I)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
getstatic jdk.vm.ci.hotspot.HotSpotMethodData.NONPROFILED_COUNT_OFFSET:I
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.readUnsignedIntAsSignedInt:(II)I
i2l
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data Ljdk/vm/ci/hotspot/HotSpotMethodData;
0 1 1 position I
MethodParameters:
Name Flags
data
position
public jdk.vm.ci.meta.JavaMethodProfile getMethodProfile(jdk.vm.ci.hotspot.HotSpotMethodData, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljdk/vm/ci/meta/JavaMethodProfile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
iload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getRawMethodProfile:(Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile;
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.createMethodProfile:(Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile;)Ljdk/vm/ci/meta/JavaMethodProfile;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 1 1 data Ljdk/vm/ci/hotspot/HotSpotMethodData;
0 1 2 position I
MethodParameters:
Name Flags
data
position
private jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile<jdk.vm.ci.meta.ResolvedJavaMethod> getRawMethodProfile(jdk.vm.ci.hotspot.HotSpotMethodData, int);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodProfileWidth:I
istore 3
start local 3 1: iload 3
anewarray jdk.vm.ci.meta.ResolvedJavaMethod
astore 4
start local 4 2: iload 3
newarray 11
astore 5
start local 5 3: lconst_0
lstore 6
start local 6 4: iconst_0
istore 8
start local 8 5: iconst_0
istore 9
start local 9 6: goto 15
7: StackMap locals: jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData jdk.vm.ci.hotspot.HotSpotMethodData int int jdk.vm.ci.meta.ResolvedJavaMethod[] long[] long int int
StackMap stack:
aload 1
iload 2
iload 9
invokestatic jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getMethodOffset:(I)I
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.readMethod:(II)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
astore 10
start local 10 8: aload 10
ifnull 14
9: aload 4
iload 8
aload 10
aastore
10: aload 1
iload 2
iload 9
invokestatic jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getMethodCountOffset:(I)I
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData.readUnsignedInt:(II)J
lstore 11
start local 11 11: lload 6
lload 11
ladd
lstore 6
12: aload 5
iload 8
lload 11
lastore
13: iinc 8 1
end local 11 end local 10 14: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
15: iload 9
iload 3
if_icmplt 7
end local 9 16: lload 6
aload 1
iload 2
invokestatic jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getMethodsNotRecordedExecutionCount:(Ljdk/vm/ci/hotspot/HotSpotMethodData;I)J
ladd
lstore 6
17: iload 8
iconst_1
if_icmpne 19
18: aload 5
iconst_0
lload 6
lastore
19: StackMap locals:
StackMap stack:
new jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile
dup
iload 8
aload 4
aload 5
lload 6
invokespecial jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.<init>:(I[Ljava/lang/Object;[JJ)V
areturn
end local 8 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 20 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 20 1 data Ljdk/vm/ci/hotspot/HotSpotMethodData;
0 20 2 position I
1 20 3 profileWidth I
2 20 4 methods [Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 20 5 counts [J
4 20 6 totalCount J
5 20 8 entries I
6 16 9 i I
8 14 10 method Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
11 14 11 count J
Signature: (Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
MethodParameters:
Name Flags
data
position
private jdk.vm.ci.meta.JavaMethodProfile createMethodProfile(jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile<jdk.vm.ci.meta.ResolvedJavaMethod>);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile;)Ljdk/vm/ci/meta/JavaMethodProfile;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
ifle 1
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.totalCount:J
lconst_0
lcmp
ifgt 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
anewarray jdk.vm.ci.meta.JavaMethodProfile$ProfiledMethod
astore 2
start local 2 3: dconst_0
dstore 3
start local 3 4: iconst_0
istore 5
start local 5 5: goto 11
6: StackMap locals: jdk.vm.ci.meta.JavaMethodProfile$ProfiledMethod[] double int
StackMap stack:
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.counts:[J
iload 5
laload
l2d
dstore 6
start local 6 7: dload 6
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.totalCount:J
l2d
ddiv
dstore 6
8: dload 3
dload 6
dadd
dstore 3
9: aload 2
iload 5
new jdk.vm.ci.meta.JavaMethodProfile$ProfiledMethod
dup
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.items:[Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod[]
iload 5
aaload
dload 6
invokespecial jdk.vm.ci.meta.JavaMethodProfile$ProfiledMethod.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;D)V
aastore
end local 6 10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
if_icmplt 6
end local 5 12: aload 2
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
13: aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodProfileWidth:I
if_icmpge 14
dconst_0
goto 15
StackMap locals:
StackMap stack:
14: dconst_1
dconst_0
dconst_1
dload 3
dsub
invokestatic java.lang.Math.max:(DD)D
invokestatic java.lang.Math.min:(DD)D
StackMap locals:
StackMap stack: double
15: dstore 5
start local 5 16: getstatic jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.$assertionsDisabled:Z
ifne 17
dload 5
dconst_0
dcmpl
ifeq 17
aload 1
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.methodProfileWidth:I
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: double
StackMap stack:
new jdk.vm.ci.meta.JavaMethodProfile
dup
dload 5
aload 2
invokespecial jdk.vm.ci.meta.JavaMethodProfile.<init>:(D[Ljdk/vm/ci/meta/JavaMethodProfile$ProfiledMethod;)V
areturn
end local 5 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/HotSpotMethodData$VirtualCallData;
0 18 1 profile Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
3 18 2 pmethods [Ljdk/vm/ci/meta/JavaMethodProfile$ProfiledMethod;
4 18 3 totalProbability D
5 12 5 i I
7 10 6 p D
16 18 5 notRecordedMethodProbability D
Signature: (Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;)Ljdk/vm/ci/meta/JavaMethodProfile;
MethodParameters:
Name Flags
profile
private static int getMethodOffset(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotMethodData.VIRTUAL_CALL_DATA_FIRST_METHOD_OFFSET:I
iload 0
getstatic jdk.vm.ci.hotspot.HotSpotMethodData.TYPE_DATA_ROW_SIZE:I
imul
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 row I
MethodParameters:
Name Flags
row
private static int getMethodCountOffset(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.HotSpotMethodData.VIRTUAL_CALL_DATA_FIRST_METHOD_COUNT_OFFSET:I
iload 0
getstatic jdk.vm.ci.hotspot.HotSpotMethodData.TYPE_DATA_ROW_SIZE:I
imul
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 row I
MethodParameters:
Name Flags
row
public java.lang.StringBuilder appendTo(java.lang.StringBuilder, jdk.vm.ci.hotspot.HotSpotMethodData, int);
descriptor: (Ljava/lang/StringBuilder;Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
iload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getRawMethodProfile:(Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile;
astore 4
start local 4 1: aload 0
aload 1
ldc "exception_seen(%s) "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 2
iload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData.getExceptionSeen:(Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljdk/vm/ci/meta/TriState;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 3
invokespecial jdk.vm.ci.hotspot.HotSpotMethodData$ReceiverTypeData.appendTo:(Ljava/lang/StringBuilder;Ljdk/vm/ci/hotspot/HotSpotMethodData;I)Ljava/lang/StringBuilder;
ldc "%nmethod_entries(%d)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 5
start local 5 3: goto 7
4: StackMap locals: jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile int
StackMap stack:
aload 4
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.counts:[J
iload 5
laload
lstore 6
start local 6 5: aload 1
ldc "%n %s (%d, %4.2f)"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.items:[Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod[]
iload 5
aaload
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 6
l2d
aload 4
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.totalCount:J
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 4
getfield jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile.entries:I
if_icmplt 4
end local 5 8: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/vm/ci/hotspot/HotSpotMethodData$VirtualCallData;
0 9 1 sb Ljava/lang/StringBuilder;
0 9 2 data Ljdk/vm/ci/hotspot/HotSpotMethodData;
0 9 3 pos I
1 9 4 profile Ljdk/vm/ci/hotspot/HotSpotMethodData$RawItemProfile<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
3 8 5 i I
5 6 6 count J
MethodParameters:
Name Flags
sb
data
pos
}
SourceFile: "HotSpotMethodData.java"
NestHost: jdk.vm.ci.hotspot.HotSpotMethodData
InnerClasses:
RawItemProfile = jdk.vm.ci.hotspot.HotSpotMethodData$RawItemProfile of jdk.vm.ci.hotspot.HotSpotMethodData
ReceiverTypeData = jdk.vm.ci.hotspot.HotSpotMethodData$ReceiverTypeData of jdk.vm.ci.hotspot.HotSpotMethodData
VirtualCallData = jdk.vm.ci.hotspot.HotSpotMethodData$VirtualCallData of jdk.vm.ci.hotspot.HotSpotMethodData
public ProfiledMethod = jdk.vm.ci.meta.JavaMethodProfile$ProfiledMethod of jdk.vm.ci.meta.JavaMethodProfile