public class jdk.vm.ci.code.CodeUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.vm.ci.code.CodeUtil
super_class: java.lang.Object
{
public static final java.lang.String NEW_LINE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int K;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
public static final int M;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1048576
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/code/CodeUtil;
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.code.CodeUtil.$assertionsDisabled:Z
3: ldc "%n"
iconst_0
anewarray java.lang.Object
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
putstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/CodeUtil;
public static boolean isOdd(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 n I
MethodParameters:
Name Flags
n
public static boolean isEven(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 n I
MethodParameters:
Name Flags
n
public static boolean isPowerOf2(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ifle 1
iload 0
iload 0
iconst_1
isub
iand
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 val I
MethodParameters:
Name Flags
val
public static boolean isPowerOf2(long);
descriptor: (J)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifle 1
lload 0
lload 0
lconst_1
lsub
land
lconst_0
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 val J
MethodParameters:
Name Flags
val
public static int log2(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 1
iload 0
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
bipush 31
iload 0
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 val I
MethodParameters:
Name Flags
val
public static int log2(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 1
lload 0
lconst_0
lcmp
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
bipush 63
lload 0
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 val J
MethodParameters:
Name Flags
val
public static long narrow(long, int);
descriptor: (JI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 2 0: lload 0
iload 2
invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
land
lstore 3
start local 3 1: lload 3
iload 2
invokestatic jdk.vm.ci.code.CodeUtil.signExtend:(JI)J
lreturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value J
0 2 2 resultBits I
1 2 3 ret J
MethodParameters:
Name Flags
value
resultBits
public static long signExtend(long, int);
descriptor: (JI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 2 0: iload 2
bipush 64
if_icmpge 4
1: lload 0
iload 2
iconst_1
isub
lushr
lconst_1
land
lconst_1
lcmp
ifne 3
2: lload 0
ldc -1
iload 2
lshl
lor
lreturn
3: StackMap locals:
StackMap stack:
lload 0
ldc -1
iload 2
lshl
ldc -1
lxor
land
lreturn
4: StackMap locals:
StackMap stack:
lload 0
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value J
0 5 2 inputBits I
MethodParameters:
Name Flags
value
inputBits
public static long zeroExtend(long, int);
descriptor: (JI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 2 0: iload 2
bipush 64
if_icmpge 2
1: lload 0
ldc -1
iload 2
lshl
ldc -1
lxor
land
lreturn
2: StackMap locals:
StackMap stack:
lload 0
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value J
0 3 2 inputBits I
MethodParameters:
Name Flags
value
inputBits
public static long convert(long, int, boolean);
descriptor: (JIZ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 2 start local 3 0: iload 3
ifeq 2
1: lload 0
iload 2
invokestatic jdk.vm.ci.code.CodeUtil.zeroExtend:(JI)J
lreturn
2: StackMap locals:
StackMap stack:
lload 0
iload 2
invokestatic jdk.vm.ci.code.CodeUtil.signExtend:(JI)J
lreturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value J
0 3 2 inputBits I
0 3 3 unsigned Z
MethodParameters:
Name Flags
value
inputBits
unsigned
public static long mask(int);
descriptor: (I)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 2
iload 0
iflt 1
iload 0
bipush 64
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 0
bipush 64
if_icmpne 4
3: ldc -1
lreturn
4: StackMap locals:
StackMap stack:
lconst_1
iload 0
lshl
lconst_1
lsub
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 bits I
MethodParameters:
Name Flags
bits
public static long minValue(int);
descriptor: (I)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 2
iload 0
ifle 1
iload 0
bipush 64
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
ldc -1
iload 0
iconst_1
isub
lshl
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bits I
MethodParameters:
Name Flags
bits
public static long maxValue(int);
descriptor: (I)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 2
iload 0
ifle 1
iload 0
bipush 64
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 0
iconst_1
isub
invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bits I
MethodParameters:
Name Flags
bits
public static java.lang.String tabulateValues(jdk.vm.ci.code.BytecodeFrame);
descriptor: (Ljdk/vm/ci/code/BytecodeFrame;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
invokestatic java.lang.Math.max:(II)I
invokestatic java.lang.Math.max:(II)I
istore 1
start local 1 1: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 2
iload 1
ifgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: aload 2
ldc ""
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 2
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 1
if_icmplt 6
end local 3 9: iinc 1 1
10: aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
ifeq 14
11: aload 2
ldc "locals:"
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: aload 2
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
iconst_0
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
13: aload 2
iload 1
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
isub
iconst_1
isub
ldc ""
invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
ifeq 18
15: aload 2
ldc "stack:"
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: aload 2
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
iadd
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
17: aload 2
iload 1
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
isub
iconst_1
isub
ldc ""
invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
ifeq 22
19: aload 2
ldc "locks:"
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: aload 2
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
iadd
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
arraylength
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
21: aload 2
iload 1
aload 0
getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
isub
iconst_1
isub
ldc ""
invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
22: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
astore 3
start local 3 23: iconst_0
istore 4
start local 4 24: goto 28
25: StackMap locals: java.lang.Object[] int
StackMap stack:
iload 4
iload 1
irem
ifeq 27
26: aload 3
iload 4
new java.lang.StringBuilder
dup
ldc "|"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iload 4
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
27: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
aload 3
arraylength
if_icmplt 25
end local 4 29: aload 3
iload 1
iconst_1
iconst_1
invokestatic jdk.vm.ci.code.CodeUtil.tabulate:([Ljava/lang/Object;III)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 frame Ljdk/vm/ci/code/BytecodeFrame;
1 30 1 cols I
3 30 2 cells Ljava/util/ArrayList<Ljava/lang/Object;>;
5 9 3 i I
23 30 3 cellArray [Ljava/lang/Object;
24 29 4 i I
MethodParameters:
Name Flags
frame
public static java.lang.String tabulate(java.lang.Object[], int, int, int);
descriptor: ([Ljava/lang/Object;III)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
arraylength
iload 1
iconst_1
isub
iadd
iload 1
idiv
istore 4
start local 4 1: iload 1
newarray 10
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 13
4: StackMap locals: int int[] int
StackMap stack:
iconst_0
istore 7
start local 7 5: goto 11
6: StackMap locals: int
StackMap stack:
iload 6
iload 7
iload 1
imul
iadd
istore 8
start local 8 7: iload 8
aload 0
arraylength
if_icmpge 10
8: aload 0
iload 8
aaload
astore 9
start local 9 9: aload 5
iload 6
aload 5
iload 6
iaload
aload 9
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.max:(II)I
iastore
end local 9 end local 8 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 4
if_icmplt 6
end local 7 12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 1
if_icmplt 4
end local 6 14: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 15: getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
astore 7
start local 7 16: iconst_0
istore 8
start local 8 17: goto 44
18: StackMap locals: java.lang.Object[] int int int int int[] java.lang.StringBuilder java.lang.String int
StackMap stack:
iconst_0
istore 9
start local 9 19: goto 41
20: StackMap locals: int
StackMap stack:
iload 9
iload 8
iload 1
imul
iadd
istore 10
start local 10 21: iload 10
aload 0
arraylength
if_icmpge 40
22: iconst_0
istore 11
start local 11 23: goto 26
24: StackMap locals: int int
StackMap stack:
aload 6
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: iinc 11 1
StackMap locals:
StackMap stack:
26: iload 11
iload 2
if_icmplt 24
end local 11 27: aload 0
iload 10
aaload
astore 11
start local 11 28: aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 29: aload 12
invokevirtual java.lang.String.length:()I
istore 13
start local 13 30: aload 6
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
31: goto 34
32: StackMap locals: java.lang.Object[] int int int int int[] java.lang.StringBuilder java.lang.String int int int java.lang.Object java.lang.String int
StackMap stack:
aload 6
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
33: iinc 13 1
34: StackMap locals:
StackMap stack:
iload 13
aload 5
iload 9
iaload
if_icmplt 32
35: iconst_0
istore 14
start local 14 36: goto 39
37: StackMap locals: int
StackMap stack:
aload 6
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
38: iinc 14 1
StackMap locals:
StackMap stack:
39: iload 14
iload 3
if_icmplt 37
end local 14 end local 13 end local 12 end local 11 end local 10 40: StackMap locals: java.lang.Object[] int int int int int[] java.lang.StringBuilder java.lang.String int int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
41: iload 9
iload 1
if_icmplt 20
end local 9 42: aload 6
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: iinc 8 1
StackMap locals:
StackMap stack:
44: iload 8
iload 4
if_icmplt 18
end local 8 45: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 cells [Ljava/lang/Object;
0 46 1 cols I
0 46 2 lpad I
0 46 3 rpad I
1 46 4 rows I
2 46 5 colWidths [I
3 14 6 col I
5 12 7 row I
7 10 8 index I
9 10 9 cell Ljava/lang/Object;
15 46 6 sb Ljava/lang/StringBuilder;
16 46 7 nl Ljava/lang/String;
17 45 8 row I
19 42 9 col I
21 40 10 index I
23 27 11 i I
28 40 11 cell Ljava/lang/Object;
29 40 12 s Ljava/lang/String;
30 40 13 w I
36 40 14 i I
MethodParameters:
Name Flags
cells
cols
lpad
rpad
public static java.lang.StringBuilder append(java.lang.StringBuilder, jdk.vm.ci.code.BytecodePosition);
descriptor: (Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodePosition;)Ljava/lang/StringBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual jdk.vm.ci.code.BytecodePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokevirtual jdk.vm.ci.code.BytecodePosition.getBCI:()I
invokestatic jdk.vm.ci.meta.MetaUtil.appendLocation:(Ljava/lang/StringBuilder;Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/StringBuilder;
pop
1: aload 1
invokevirtual jdk.vm.ci.code.BytecodePosition.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
ifnull 4
2: aload 0
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 0
aload 1
invokevirtual jdk.vm.ci.code.BytecodePosition.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
invokestatic jdk.vm.ci.code.CodeUtil.append:(Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodePosition;)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sb Ljava/lang/StringBuilder;
0 5 1 pos Ljdk/vm/ci/code/BytecodePosition;
MethodParameters:
Name Flags
sb
pos
public static java.lang.StringBuilder append(java.lang.StringBuilder, jdk.vm.ci.code.BytecodeFrame);
descriptor: (Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodeFrame;)Ljava/lang/StringBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ldc "at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual jdk.vm.ci.code.BytecodeFrame.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokevirtual jdk.vm.ci.code.BytecodeFrame.getBCI:()I
invokestatic jdk.vm.ci.meta.MetaUtil.appendLocation:(Ljava/lang/StringBuilder;Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/StringBuilder;
pop
1: getstatic jdk.vm.ci.code.CodeUtil.$assertionsDisabled:Z
ifne 2
aload 0
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 93
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
3: aload 0
ldc ", duringCall: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", rethrow: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield jdk.vm.ci.code.BytecodeFrame.rethrowException:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 1
getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
ifnull 17
aload 1
getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
arraylength
ifle 17
5: aload 0
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 1
invokestatic jdk.vm.ci.code.CodeUtil.tabulateValues:(Ljdk/vm/ci/code/BytecodeFrame;)Ljava/lang/String;
astore 2
start local 2 7: aload 2
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 16
10: StackMap locals: java.lang.String java.lang.String[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 11: aload 5
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 15
12: aload 0
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: iload 4
aload 3
arraylength
iconst_1
isub
if_icmpeq 15
14: aload 0
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 3
arraylength
if_icmplt 10
end local 4 end local 3 end local 2 17: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.code.BytecodeFrame.caller:()Ljdk/vm/ci/code/BytecodeFrame;
ifnull 21
18: aload 0
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 0
aload 1
invokevirtual jdk.vm.ci.code.BytecodeFrame.caller:()Ljdk/vm/ci/code/BytecodeFrame;
invokestatic jdk.vm.ci.code.CodeUtil.append:(Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodeFrame;)Ljava/lang/StringBuilder;
pop
20: goto 24
StackMap locals:
StackMap stack:
21: aload 1
invokevirtual jdk.vm.ci.code.BytecodeFrame.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
ifnull 24
22: aload 0
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 0
aload 1
invokevirtual jdk.vm.ci.code.BytecodeFrame.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
invokestatic jdk.vm.ci.code.CodeUtil.append:(Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodePosition;)Ljava/lang/StringBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 sb Ljava/lang/StringBuilder;
0 25 1 frame Ljdk/vm/ci/code/BytecodeFrame;
7 17 2 table Ljava/lang/String;
8 17 3 rows [Ljava/lang/String;
9 17 4 i I
11 15 5 row Ljava/lang/String;
MethodParameters:
Name Flags
sb
frame
public static java.lang.StringBuilder append(java.lang.StringBuilder, jdk.vm.ci.code.DebugInfo, jdk.vm.ci.code.CodeUtil$RefMapFormatter);
descriptor: (Ljava/lang/StringBuilder;Ljdk/vm/ci/code/DebugInfo;Ljdk/vm/ci/code/CodeUtil$RefMapFormatter;)Ljava/lang/StringBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
astore 3
start local 3 1: aload 3
ifnonnull 3
2: new jdk.vm.ci.code.CodeUtil$NumberedRefMapFormatter
dup
invokespecial jdk.vm.ci.code.CodeUtil$NumberedRefMapFormatter.<init>:()V
astore 3
3: StackMap locals: jdk.vm.ci.code.CodeUtil$RefMapFormatter
StackMap stack:
getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
astore 4
start local 4 4: aload 1
invokevirtual jdk.vm.ci.code.DebugInfo.getReferenceMap:()Ljdk/vm/ci/code/ReferenceMap;
astore 5
start local 5 5: aload 5
ifnull 7
6: aload 0
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals: java.lang.String jdk.vm.ci.code.ReferenceMap
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.code.DebugInfo.getCalleeSaveInfo:()Ljdk/vm/ci/code/RegisterSaveLayout;
astore 6
start local 6 8: aload 6
ifnull 15
9: aload 0
ldc "callee-save-info:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 6
iconst_1
invokevirtual jdk.vm.ci.code.RegisterSaveLayout.slotsToRegisters:(Z)Ljava/util/Map;
astore 7
start local 7 11: aload 7
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 14
StackMap locals: java.lang.StringBuilder jdk.vm.ci.code.DebugInfo jdk.vm.ci.code.CodeUtil$RefMapFormatter jdk.vm.ci.code.CodeUtil$RefMapFormatter java.lang.String jdk.vm.ci.code.ReferenceMap jdk.vm.ci.code.RegisterSaveLayout java.util.Map top java.util.Iterator
StackMap stack:
12: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 13: aload 0
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface jdk.vm.ci.code.CodeUtil$RefMapFormatter.formatStackSlot:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 8 14: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 7 15: StackMap locals: java.lang.StringBuilder jdk.vm.ci.code.DebugInfo jdk.vm.ci.code.CodeUtil$RefMapFormatter jdk.vm.ci.code.CodeUtil$RefMapFormatter java.lang.String jdk.vm.ci.code.ReferenceMap jdk.vm.ci.code.RegisterSaveLayout
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.code.DebugInfo.frame:()Ljdk/vm/ci/code/BytecodeFrame;
astore 7
start local 7 16: aload 7
ifnull 19
17: aload 0
aload 7
invokestatic jdk.vm.ci.code.CodeUtil.append:(Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodeFrame;)Ljava/lang/StringBuilder;
pop
18: goto 21
StackMap locals: jdk.vm.ci.code.BytecodeFrame
StackMap stack:
19: aload 1
invokevirtual jdk.vm.ci.code.DebugInfo.getBytecodePosition:()Ljdk/vm/ci/code/BytecodePosition;
ifnull 21
20: aload 0
aload 1
invokevirtual jdk.vm.ci.code.DebugInfo.getBytecodePosition:()Ljdk/vm/ci/code/BytecodePosition;
invokestatic jdk.vm.ci.code.CodeUtil.append:(Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodePosition;)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 0
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 sb Ljava/lang/StringBuilder;
0 22 1 info Ljdk/vm/ci/code/DebugInfo;
0 22 2 formatterArg Ljdk/vm/ci/code/CodeUtil$RefMapFormatter;
1 22 3 formatter Ljdk/vm/ci/code/CodeUtil$RefMapFormatter;
4 22 4 nl Ljava/lang/String;
5 22 5 refMap Ljdk/vm/ci/code/ReferenceMap;
8 22 6 calleeSaveInfo Ljdk/vm/ci/code/RegisterSaveLayout;
11 15 7 map Ljava/util/Map<Ljava/lang/Integer;Ljdk/vm/ci/code/Register;>;
13 14 8 e Ljava/util/Map$Entry<Ljava/lang/Integer;Ljdk/vm/ci/code/Register;>;
16 22 7 frame Ljdk/vm/ci/code/BytecodeFrame;
MethodParameters:
Name Flags
sb
info
formatterArg
public static jdk.vm.ci.code.CallingConvention getCallingConvention(jdk.vm.ci.code.CodeCacheProvider, jdk.vm.ci.code.CallingConvention$Type, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.ValueKindFactory<?>);
descriptor: (Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 4
start local 4 1: aload 4
aconst_null
invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
astore 5
start local 5 2: aload 4
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
istore 6
start local 6 3: iconst_0
istore 8
start local 8 4: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifne 8
5: iload 6
iconst_1
iadd
anewarray jdk.vm.ci.meta.JavaType
astore 7
start local 7 6: aload 7
iload 8
iinc 8 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aastore
7: goto 9
end local 7 8: StackMap locals: jdk.vm.ci.code.CodeCacheProvider jdk.vm.ci.code.CallingConvention$Type jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType int top int
StackMap stack:
iload 6
anewarray jdk.vm.ci.meta.JavaType
astore 7
start local 7 9: StackMap locals: jdk.vm.ci.code.CodeCacheProvider jdk.vm.ci.code.CallingConvention$Type jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType int jdk.vm.ci.meta.JavaType[] int
StackMap stack:
iconst_0
istore 9
start local 9 10: goto 13
11: StackMap locals: int
StackMap stack:
aload 7
iload 8
iinc 8 1
aload 4
iload 9
aconst_null
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
aastore
12: iinc 9 1
StackMap locals:
StackMap stack:
13: iload 9
iload 6
if_icmplt 11
end local 9 14: aload 0
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
astore 9
start local 9 15: aload 9
aload 1
aload 5
aload 7
aload 3
invokeinterface jdk.vm.ci.code.RegisterConfig.getCallingConvention:(Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 codeCache Ljdk/vm/ci/code/CodeCacheProvider;
0 16 1 type Ljdk/vm/ci/code/CallingConvention$Type;
0 16 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 16 3 valueKindFactory Ljdk/vm/ci/code/ValueKindFactory<*>;
1 16 4 sig Ljdk/vm/ci/meta/Signature;
2 16 5 retType Ljdk/vm/ci/meta/JavaType;
3 16 6 sigCount I
6 8 7 argTypes [Ljdk/vm/ci/meta/JavaType;
9 16 7 argTypes [Ljdk/vm/ci/meta/JavaType;
4 16 8 argIndex I
10 14 9 i I
15 16 9 registerConfig Ljdk/vm/ci/code/RegisterConfig;
Signature: (Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/ValueKindFactory<*>;)Ljdk/vm/ci/code/CallingConvention;
MethodParameters:
Name Flags
codeCache
type
method
valueKindFactory
}
SourceFile: "CodeUtil.java"
NestMembers:
jdk.vm.ci.code.CodeUtil$DefaultRefMapFormatter jdk.vm.ci.code.CodeUtil$NumberedRefMapFormatter jdk.vm.ci.code.CodeUtil$RefMapFormatter
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public DefaultRefMapFormatter = jdk.vm.ci.code.CodeUtil$DefaultRefMapFormatter of jdk.vm.ci.code.CodeUtil
public NumberedRefMapFormatter = jdk.vm.ci.code.CodeUtil$NumberedRefMapFormatter of jdk.vm.ci.code.CodeUtil
public abstract RefMapFormatter = jdk.vm.ci.code.CodeUtil$RefMapFormatter of jdk.vm.ci.code.CodeUtil