public class org.graalvm.compiler.code.HexCodeFile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.code.HexCodeFile
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 java.lang.String SECTION_DELIM;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: " <||@"
public static final java.lang.String COLUMN_END;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: " <|@"
public static final java.util.regex.Pattern SECTION;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern ;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern OPERAND_COMMENT;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern JUMP_TABLE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern LOOKUP_TABLE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern HEX_CODE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern PLATFORM;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String EMBEDDED_HCF_OPEN;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "<<<HexCodeFile"
public static final java.lang.String EMBEDDED_HCF_CLOSE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "HexCodeFile>>>"
public final java.util.Map<java.lang.Integer, java.util.List<java.lang.String>> ;
descriptor: Ljava/util/Map;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Ljava/lang/String;>;>;
public final java.util.Map<java.lang.Integer, java.util.List<java.lang.String>> operandComments;
descriptor: Ljava/util/Map;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Ljava/lang/String;>;>;
public final byte[] code;
descriptor: [B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.util.ArrayList<org.graalvm.compiler.code.CompilationResult$JumpTable> jumpTables;
descriptor: Ljava/util/ArrayList;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/code/CompilationResult$JumpTable;>;
public final java.lang.String isa;
descriptor: Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final int wordWidth;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final long startAddress;
descriptor: J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic jdk.vm.ci.code.CodeUtil.NEW_LINE:Ljava/lang/String;
putstatic org.graalvm.compiler.code.HexCodeFile.NEW_LINE:Ljava/lang/String;
1: ldc "(\\S+)\\s+(.*)"
bipush 32
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.SECTION:Ljava/util/regex/Pattern;
2: ldc "(\\d+)\\s+(.*)"
bipush 32
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.COMMENT:Ljava/util/regex/Pattern;
3: getstatic org.graalvm.compiler.code.HexCodeFile.COMMENT:Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.OPERAND_COMMENT:Ljava/util/regex/Pattern;
4: ldc "(\\d+)\\s+(\\d+)\\s+(-{0,1}\\d+)\\s+(-{0,1}\\d+)\\s*"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.JUMP_TABLE:Ljava/util/regex/Pattern;
5: ldc "(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s*"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.LOOKUP_TABLE:Ljava/util/regex/Pattern;
6: ldc "(\\p{XDigit}+)(?:\\s+(\\p{XDigit}*))?"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.HEX_CODE:Ljava/util/regex/Pattern;
7: ldc "(\\S+)\\s+(\\S+)"
bipush 32
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.code.HexCodeFile.PLATFORM:Ljava/util/regex/Pattern;
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(byte[], long, java.lang.String, int);
descriptor: ([BJLjava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield org.graalvm.compiler.code.HexCodeFile.comments:Ljava/util/Map;
2: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield org.graalvm.compiler.code.HexCodeFile.operandComments:Ljava/util/Map;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.graalvm.compiler.code.HexCodeFile.jumpTables:Ljava/util/ArrayList;
4: aload 0
aload 1
putfield org.graalvm.compiler.code.HexCodeFile.code:[B
5: aload 0
lload 2
putfield org.graalvm.compiler.code.HexCodeFile.startAddress:J
6: aload 0
aload 4
putfield org.graalvm.compiler.code.HexCodeFile.isa:Ljava/lang/String;
7: aload 0
iload 5
putfield org.graalvm.compiler.code.HexCodeFile.wordWidth:I
8: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/code/HexCodeFile;
0 9 1 code [B
0 9 2 startAddress J
0 9 4 isa Ljava/lang/String;
0 9 5 wordWidth I
MethodParameters:
Name Flags
code
startAddress
isa
wordWidth
public static org.graalvm.compiler.code.HexCodeFile parse(java.lang.String, int, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lorg/graalvm/compiler/code/HexCodeFile;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.code.HexCodeFile$Parser
dup
aload 0
iload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.code.HexCodeFile$Parser.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
getfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 input Ljava/lang/String;
0 1 1 sourceOffset I
0 1 2 source Ljava/lang/String;
0 1 3 sourceName Ljava/lang/String;
MethodParameters:
Name Flags
input
sourceOffset
source
sourceName
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.code.HexCodeFile.writeTo:(Ljava/io/OutputStream;)V
2: aload 1
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/code/HexCodeFile;
1 3 1 baos Ljava/io/ByteArrayOutputStream;
public java.lang.String toEmbeddedString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "<<<HexCodeFile"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.NEW_LINE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.code.HexCodeFile.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "HexCodeFile>>>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/code/HexCodeFile;
public void writeTo(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.io.PrintStream
ifeq 1
aload 1
checkcast java.io.PrintStream
goto 2
StackMap locals:
StackMap stack:
1: new java.io.PrintStream
dup
aload 1
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
StackMap locals:
StackMap stack: java.io.PrintStream
2: astore 2
start local 2 3: aload 2
ldc "Platform %s %d %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.code.HexCodeFile.isa:Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.code.HexCodeFile.wordWidth:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
ldc " <||@"
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
4: aload 2
ldc "HexCode %x %s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.code.HexCodeFile.startAddress:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.code.HexCodeFile.code:[B
invokestatic org.graalvm.compiler.code.HexCodeFile.hexCodeString:([B)Ljava/lang/String;
aastore
dup
iconst_2
ldc " <||@"
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
5: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.jumpTables:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.graalvm.compiler.code.HexCodeFile java.io.OutputStream java.io.PrintStream top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult$JumpTable
astore 3
start local 3 7: aload 2
ldc "JumpTable %d %d %d %d %s%n"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 3
getfield org.graalvm.compiler.code.CompilationResult$JumpTable.position:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
getfield org.graalvm.compiler.code.CompilationResult$JumpTable.entrySize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
getfield org.graalvm.compiler.code.CompilationResult$JumpTable.low:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 3
getfield org.graalvm.compiler.code.CompilationResult$JumpTable.high:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
ldc " <||@"
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.comments:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals:
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 11: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 5
start local 5 12: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: org.graalvm.compiler.code.HexCodeFile java.io.OutputStream java.io.PrintStream java.util.Map$Entry java.util.Iterator int top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 14: aload 2
ldc "Comment %d %s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 6
aastore
dup
iconst_2
ldc " <||@"
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 5 end local 3 16: StackMap locals: org.graalvm.compiler.code.HexCodeFile java.io.OutputStream java.io.PrintStream top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
17: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.operandComments:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 23
StackMap locals:
StackMap stack:
18: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 19: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 22
StackMap locals: org.graalvm.compiler.code.HexCodeFile java.io.OutputStream java.io.PrintStream java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
20: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 21: aload 2
ldc "OperandComment %d %s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
dup
iconst_1
aload 5
aastore
dup
iconst_2
ldc " <||@"
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 5 22: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 3 23: StackMap locals: org.graalvm.compiler.code.HexCodeFile java.io.OutputStream java.io.PrintStream top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
24: aload 2
invokevirtual java.io.PrintStream.flush:()V
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/code/HexCodeFile;
0 26 1 out Ljava/io/OutputStream;
3 26 2 ps Ljava/io/PrintStream;
7 8 3 table Lorg/graalvm/compiler/code/CompilationResult$JumpTable;
11 16 3 e Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/util/List<Ljava/lang/String;>;>;
12 16 5 pos I
14 15 6 comment Ljava/lang/String;
19 23 3 e Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/util/List<Ljava/lang/String;>;>;
21 22 5 c Ljava/lang/String;
MethodParameters:
Name Flags
out
public static java.lang.String hexCodeString(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
arraylength
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
4: aload 5
iload 3
baload
istore 2
start local 2 5: iload 2
sipush 255
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
astore 6
start local 6 6: aload 6
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 8
7: aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: StackMap locals: byte[] java.lang.StringBuilder int int int byte[] java.lang.String
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 end local 2 9: iinc 3 1
StackMap locals: byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
10: iload 3
iload 4
if_icmplt 4
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 code [B
3 12 1 sb Ljava/lang/StringBuilder;
5 9 2 b I
6 9 6 hex Ljava/lang/String;
MethodParameters:
Name Flags
code
public void (int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.comments:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
3: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.comments:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 3
aload 2
invokestatic org.graalvm.compiler.code.HexCodeFile.encodeString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/code/HexCodeFile;
0 6 1 pos I
0 6 2 comment Ljava/lang/String;
1 6 3 list Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
pos
comment
public void addOperandComment(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.comments:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
3: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.comments:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 3
aload 2
invokestatic org.graalvm.compiler.code.HexCodeFile.encodeString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/code/HexCodeFile;
0 6 1 pos I
0 6 2 comment Ljava/lang/String;
1 6 3 list Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
pos
comment
public static void addAnnotations(org.graalvm.compiler.code.HexCodeFile, java.util.List<org.graalvm.compiler.code.CompilationResult$CodeAnnotation>);
descriptor: (Lorg/graalvm/compiler/code/HexCodeFile;Ljava/util/List;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: org.graalvm.compiler.code.HexCodeFile java.util.List top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult$CodeAnnotation
astore 2
start local 2 4: aload 2
instanceof org.graalvm.compiler.code.CompilationResult$JumpTable
ifeq 8
5: aload 2
checkcast org.graalvm.compiler.code.CompilationResult$JumpTable
astore 4
start local 4 6: aload 0
getfield org.graalvm.compiler.code.HexCodeFile.jumpTables:Ljava/util/ArrayList;
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 7: goto 11
StackMap locals: org.graalvm.compiler.code.HexCodeFile java.util.List org.graalvm.compiler.code.CompilationResult$CodeAnnotation java.util.Iterator
StackMap stack:
8: aload 2
instanceof org.graalvm.compiler.code.CompilationResult$CodeComment
ifeq 11
9: aload 2
checkcast org.graalvm.compiler.code.CompilationResult$CodeComment
astore 4
start local 4 10: aload 0
aload 4
getfield org.graalvm.compiler.code.CompilationResult$CodeComment.position:I
aload 4
getfield org.graalvm.compiler.code.CompilationResult$CodeComment.value:Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile.addComment:(ILjava/lang/String;)V
end local 4 end local 2 11: StackMap locals: org.graalvm.compiler.code.HexCodeFile java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 hcf Lorg/graalvm/compiler/code/HexCodeFile;
0 13 1 annotations Ljava/util/List<Lorg/graalvm/compiler/code/CompilationResult$CodeAnnotation;>;
4 11 2 a Lorg/graalvm/compiler/code/CompilationResult$CodeAnnotation;
6 7 4 table Lorg/graalvm/compiler/code/CompilationResult$JumpTable;
10 11 4 comment Lorg/graalvm/compiler/code/CompilationResult$CodeComment;
Signature: (Lorg/graalvm/compiler/code/HexCodeFile;Ljava/util/List<Lorg/graalvm/compiler/code/CompilationResult$CodeAnnotation;>;)V
MethodParameters:
Name Flags
hcf
annotations
public static java.lang.String encodeString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
astore 2
start local 2 1: goto 3
start local 1 2: StackMap locals: int java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " < |@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 1
ldc " <||@"
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
end local 1 3: StackMap locals: java.lang.String top java.lang.String
StackMap stack:
aload 2
ldc " <||@"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
dup
istore 1
start local 1 4: iconst_m1
if_icmpne 2
5: goto 7
6: StackMap locals: java.lang.String int java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " < @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 1
ldc " <|@"
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
ldc " <|@"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
dup
istore 1
iconst_m1
if_icmpne 6
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 input Ljava/lang/String;
2 3 1 index I
4 9 1 index I
1 9 2 s Ljava/lang/String;
MethodParameters:
Name Flags
input
}
SourceFile: "HexCodeFile.java"
NestMembers:
org.graalvm.compiler.code.HexCodeFile$Parser org.graalvm.compiler.code.HexCodeFile$Parser$InputPos
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract CodeAnnotation = org.graalvm.compiler.code.CompilationResult$CodeAnnotation of org.graalvm.compiler.code.CompilationResult
public final CodeComment = org.graalvm.compiler.code.CompilationResult$CodeComment of org.graalvm.compiler.code.CompilationResult
public final JumpTable = org.graalvm.compiler.code.CompilationResult$JumpTable of org.graalvm.compiler.code.CompilationResult
Parser = org.graalvm.compiler.code.HexCodeFile$Parser of org.graalvm.compiler.code.HexCodeFile