class org.graalvm.compiler.code.HexCodeFile$Parser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.code.HexCodeFile$Parser
super_class: java.lang.Object
{
final java.lang.String input;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.lang.String inputSource;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
java.lang.String isa;
descriptor: Ljava/lang/String;
flags: (0x0000)
int wordWidth;
descriptor: I
flags: (0x0000)
byte[] code;
descriptor: [B
flags: (0x0000)
long startAddress;
descriptor: J
flags: (0x0000)
org.graalvm.compiler.code.HexCodeFile hcf;
descriptor: Lorg/graalvm/compiler/code/HexCodeFile;
flags: (0x0000)
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 Lorg/graalvm/compiler/code/HexCodeFile;
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 org.graalvm.compiler.code.HexCodeFile$Parser.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, int, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
2: aload 0
aload 4
putfield org.graalvm.compiler.code.HexCodeFile$Parser.inputSource:Ljava/lang/String;
3: aload 0
iload 2
aload 3
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseSections:(ILjava/lang/String;)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 5 1 input Ljava/lang/String;
0 5 2 sourceOffset I
0 5 3 source Ljava/lang/String;
0 5 4 sourceName Ljava/lang/String;
MethodParameters:
Name Flags
input
sourceOffset
source
sourceName
void makeHCF();
descriptor: ()V
flags: (0x0000)
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
ifnonnull 3
1: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.isa:Ljava/lang/String;
ifnull 3
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.wordWidth:I
ifeq 3
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
ifnull 3
2: aload 0
new org.graalvm.compiler.code.HexCodeFile
dup
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.startAddress:J
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.isa:Ljava/lang/String;
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.wordWidth:I
invokespecial org.graalvm.compiler.code.HexCodeFile.<init>:([BJLjava/lang/String;I)V
putfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
void checkHCF(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser
1: iconst_0
StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser java.lang.String int
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser int
2: iload 2
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " section must be after Platform and HexCode section"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 4 1 section Ljava/lang/String;
0 4 2 offset I
MethodParameters:
Name Flags
section
offset
void check(boolean, int, java.lang.String);
descriptor: (ZILjava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifne 2
1: aload 0
iload 2
aload 3
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.error:(ILjava/lang/String;)Ljava/lang/Error;
pop
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 3 1 condition Z
0 3 2 offset I
0 3 3 message Ljava/lang/String;
MethodParameters:
Name Flags
condition
offset
message
java.lang.Error error(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/lang/Error;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.Error
dup
aload 0
iload 1
aload 2
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.errorMessage:(ILjava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 1 1 offset I
0 1 2 message Ljava/lang/String;
MethodParameters:
Name Flags
offset
message
void warning(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
astore 3
start local 3 1: aload 3
new java.lang.StringBuilder
dup
ldc "Warning: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 1
aload 2
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.errorMessage:(ILjava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 3 1 offset I
0 3 2 message Ljava/lang/String;
1 3 3 err Ljava/io/PrintStream;
MethodParameters:
Name Flags
offset
message
java.lang.String errorMessage(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.code.HexCodeFile$Parser.$assertionsDisabled:Z
ifne 1
iload 1
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.filePos:(I)Lorg/graalvm/compiler/code/HexCodeFile$Parser$InputPos;
astore 3
start local 3 2: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
getstatic org.graalvm.compiler.code.HexCodeFile.NEW_LINE:Ljava/lang/String;
iload 1
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 4
start local 4 3: iload 1
aload 3
getfield org.graalvm.compiler.code.HexCodeFile$Parser$InputPos.col:I
isub
istore 5
start local 5 4: iload 4
iconst_m1
if_icmpne 5
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 6
StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser$InputPos int int
StackMap stack:
5: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
iload 5
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
6: astore 6
start local 6 7: new java.lang.StringBuilder
dup
ldc "%s:%d: %s%n%s%n%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield org.graalvm.compiler.code.HexCodeFile$Parser$InputPos.col:I
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.inputSource:Ljava/lang/String;
aastore
dup
iconst_1
aload 3
getfield org.graalvm.compiler.code.HexCodeFile$Parser$InputPos.line:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 6
aastore
dup
iconst_4
ldc "^"
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 8 1 offset I
0 8 2 message Ljava/lang/String;
2 8 3 inputPos Lorg/graalvm/compiler/code/HexCodeFile$Parser$InputPos;
3 8 4 lineEnd I
4 8 5 lineStart I
7 8 6 line Ljava/lang/String;
MethodParameters:
Name Flags
offset
message
org.graalvm.compiler.code.HexCodeFile$Parser$InputPos filePos(int);
descriptor: (I)Lorg/graalvm/compiler/code/HexCodeFile$Parser$InputPos;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.code.HexCodeFile$Parser.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
getstatic org.graalvm.compiler.code.HexCodeFile.NEW_LINE:Ljava/lang/String;
iload 1
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
iconst_1
iadd
istore 2
start local 2 2: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
iload 2
iload 2
bipush 10
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 3: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 4
start local 4 4: aload 4
new java.lang.StringBuilder
dup
ldc "YYY"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
iload 1
iload 1
bipush 10
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 4
new java.lang.StringBuilder
dup
ldc "XXX"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
getstatic org.graalvm.compiler.code.HexCodeFile.NEW_LINE:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
start local 5 7: iconst_1
istore 6
start local 6 8: goto 11
9: StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser int int java.lang.String java.io.PrintStream int int
StackMap stack:
iinc 6 1
10: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
getstatic org.graalvm.compiler.code.HexCodeFile.NEW_LINE:Ljava/lang/String;
iload 5
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
11: StackMap locals:
StackMap stack:
iload 5
ifle 12
iload 5
iload 1
if_icmplt 9
12: StackMap locals:
StackMap stack:
new org.graalvm.compiler.code.HexCodeFile$Parser$InputPos
dup
iload 6
iload 1
iload 2
isub
invokespecial org.graalvm.compiler.code.HexCodeFile$Parser$InputPos.<init>:(II)V
areturn
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 13 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 13 1 index I
2 13 2 lineStart I
3 13 3 l Ljava/lang/String;
4 13 4 out Ljava/io/PrintStream;
7 13 5 pos I
8 13 6 line I
MethodParameters:
Name Flags
index
void parseSections(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.code.HexCodeFile$Parser.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
aload 2
iload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 2: aload 2
ldc " <||@"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 3: goto 10
4: StackMap locals: int int
StackMap stack:
iinc 3 1
5: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmple 4
6: aload 2
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 5
start local 5 7: aload 0
iload 1
iload 3
iadd
aload 5
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseSection:(ILjava/lang/String;)V
8: iload 4
ldc " <||@"
invokevirtual java.lang.String.length:()I
iadd
istore 3
9: aload 2
ldc " <||@"
iload 3
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 4
end local 5 10: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 5
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 12 1 offset I
0 12 2 source Ljava/lang/String;
2 12 3 index I
3 12 4 endIndex I
7 10 5 section Ljava/lang/String;
MethodParameters:
Name Flags
offset
source
int parseInt(int, java.lang.String);
descriptor: (ILjava/lang/String;)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
3: aload 0
iload 1
new java.lang.StringBuilder
dup
ldc "Not a valid integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.error:(ILjava/lang/String;)Ljava/lang/Error;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 4 1 offset I
0 4 2 value Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
offset
value
void parseSection(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0000)
Code:
stack=7, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.code.HexCodeFile$Parser.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.input:Ljava/lang/String;
aload 2
iload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.code.HexCodeFile.SECTION:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
start local 3 4: aload 0
aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
iload 1
new java.lang.StringBuilder
dup
ldc "Section does not match pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.SECTION:Ljava/util/regex/Pattern;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
5: aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 4
start local 4 6: aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 5
start local 5 7: iload 1
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
istore 6
start local 6 8: iload 1
aload 3
iconst_2
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
istore 7
start local 7 9: aload 4
ldc "Platform"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
10: aload 0
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.isa:Ljava/lang/String;
ifnonnull 11
iconst_1
goto 12
StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser int java.lang.String java.util.regex.Matcher java.lang.String java.lang.String int int
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser
11: iconst_0
StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser int java.lang.String java.util.regex.Matcher java.lang.String java.lang.String int int
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser int
12: iload 7
ldc "Duplicate Platform section found"
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
13: getstatic org.graalvm.compiler.code.HexCodeFile.PLATFORM:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
14: aload 0
aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
iload 7
new java.lang.StringBuilder
dup
ldc "Platform does not match pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.PLATFORM:Ljava/util/regex/Pattern;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
15: aload 0
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
putfield org.graalvm.compiler.code.HexCodeFile$Parser.isa:Ljava/lang/String;
16: aload 0
aload 0
iload 7
aload 3
iconst_2
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
putfield org.graalvm.compiler.code.HexCodeFile$Parser.wordWidth:I
17: aload 0
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.makeHCF:()V
18: goto 70
StackMap locals:
StackMap stack:
19: aload 4
ldc "HexCode"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 43
20: aload 0
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
ifnonnull 21
iconst_1
goto 22
StackMap locals:
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser
21: iconst_0
StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser int java.lang.String java.util.regex.Matcher java.lang.String java.lang.String int int
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser int
22: iload 7
ldc "Duplicate Code section found"
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
23: getstatic org.graalvm.compiler.code.HexCodeFile.HEX_CODE:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
24: aload 0
aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
iload 7
new java.lang.StringBuilder
dup
ldc "Code does not match pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.HEX_CODE:Ljava/util/regex/Pattern;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
25: aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 8
start local 8 26: aload 0
aload 8
bipush 16
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;I)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
putfield org.graalvm.compiler.code.HexCodeFile$Parser.startAddress:J
27: aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 9
start local 9 28: aload 9
ifnonnull 31
29: aload 0
iconst_0
newarray 8
putfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
30: goto 41
31: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 9
invokevirtual java.lang.String.length:()I
iconst_2
irem
ifne 32
iconst_1
goto 33
StackMap locals:
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser
32: iconst_0
StackMap locals: org.graalvm.compiler.code.HexCodeFile$Parser int java.lang.String java.util.regex.Matcher java.lang.String java.lang.String int int java.lang.String java.lang.String
StackMap stack: org.graalvm.compiler.code.HexCodeFile$Parser int
33: iload 7
ldc "Hex code length must be even"
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
34: aload 0
aload 9
invokevirtual java.lang.String.length:()I
iconst_2
idiv
newarray 8
putfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
35: iconst_0
istore 10
start local 10 36: goto 40
37: StackMap locals: int
StackMap stack:
aload 9
iload 10
iconst_2
imul
iload 10
iconst_1
iadd
iconst_2
imul
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 11
start local 11 38: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
iload 10
aload 11
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
i2b
bastore
end local 11 39: iinc 10 1
StackMap locals:
StackMap stack:
40: iload 10
aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.code:[B
arraylength
if_icmplt 37
end local 10 41: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.makeHCF:()V
end local 9 end local 8 42: goto 70
StackMap locals:
StackMap stack:
43: aload 4
ldc "Comment"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 51
44: aload 0
ldc "Comment"
iload 6
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.checkHCF:(Ljava/lang/String;I)V
45: getstatic org.graalvm.compiler.code.HexCodeFile.COMMENT:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
46: aload 0
aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
iload 7
new java.lang.StringBuilder
dup
ldc "Comment does not match pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.COMMENT:Ljava/util/regex/Pattern;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
47: aload 0
iload 7
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
istore 8
start local 8 48: aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 9
start local 9 49: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
iload 8
aload 9
invokevirtual org.graalvm.compiler.code.HexCodeFile.addComment:(ILjava/lang/String;)V
end local 9 end local 8 50: goto 70
StackMap locals:
StackMap stack:
51: aload 4
ldc "OperandComment"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 59
52: aload 0
ldc "OperandComment"
iload 6
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.checkHCF:(Ljava/lang/String;I)V
53: getstatic org.graalvm.compiler.code.HexCodeFile.OPERAND_COMMENT:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
54: aload 0
aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
iload 7
new java.lang.StringBuilder
dup
ldc "OperandComment does not match pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.OPERAND_COMMENT:Ljava/util/regex/Pattern;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
55: aload 0
iload 7
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
istore 8
start local 8 56: aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 9
start local 9 57: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
iload 8
aload 9
invokevirtual org.graalvm.compiler.code.HexCodeFile.addOperandComment:(ILjava/lang/String;)V
end local 9 end local 8 58: goto 70
StackMap locals:
StackMap stack:
59: aload 4
ldc "JumpTable"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 69
60: aload 0
ldc "JumpTable"
iload 6
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.checkHCF:(Ljava/lang/String;I)V
61: getstatic org.graalvm.compiler.code.HexCodeFile.JUMP_TABLE:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
62: aload 0
aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
iload 7
new java.lang.StringBuilder
dup
ldc "JumpTable does not match pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.code.HexCodeFile.JUMP_TABLE:Ljava/util/regex/Pattern;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.check:(ZILjava/lang/String;)V
63: aload 0
iload 7
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
istore 8
start local 8 64: aload 0
iload 7
aload 3
iconst_2
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
istore 9
start local 9 65: aload 0
iload 7
aload 3
iconst_3
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
istore 10
start local 10 66: aload 0
iload 7
aload 3
iconst_4
invokevirtual java.util.regex.Matcher.start:(I)I
iadd
aload 3
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.parseInt:(ILjava/lang/String;)I
istore 11
start local 11 67: aload 0
getfield org.graalvm.compiler.code.HexCodeFile$Parser.hcf:Lorg/graalvm/compiler/code/HexCodeFile;
getfield org.graalvm.compiler.code.HexCodeFile.jumpTables:Ljava/util/ArrayList;
new org.graalvm.compiler.code.CompilationResult$JumpTable
dup
iload 8
iload 10
iload 11
iload 9
invokespecial org.graalvm.compiler.code.CompilationResult$JumpTable.<init>:(IIII)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 end local 9 end local 8 68: goto 70
69: StackMap locals:
StackMap stack:
aload 0
iload 1
new java.lang.StringBuilder
dup
ldc "Unknown section header: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.code.HexCodeFile$Parser.error:(ILjava/lang/String;)Ljava/lang/Error;
pop
70: StackMap locals:
StackMap stack:
return
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 71 0 this Lorg/graalvm/compiler/code/HexCodeFile$Parser;
0 71 1 offset I
0 71 2 section Ljava/lang/String;
4 71 3 m Ljava/util/regex/Matcher;
6 71 4 header Ljava/lang/String;
7 71 5 body Ljava/lang/String;
8 71 6 headerOffset I
9 71 7 bodyOffset I
26 42 8 hexAddress Ljava/lang/String;
28 42 9 hexCode Ljava/lang/String;
36 41 10 i I
38 39 11 hexByte Ljava/lang/String;
48 50 8 pos I
49 50 9 comment Ljava/lang/String;
56 58 8 pos I
57 58 9 comment Ljava/lang/String;
64 68 8 pos I
65 68 9 entrySize I
66 68 10 low I
67 68 11 high I
MethodParameters:
Name Flags
offset
section
}
SourceFile: "HexCodeFile.java"
NestHost: org.graalvm.compiler.code.HexCodeFile
InnerClasses:
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
InputPos = org.graalvm.compiler.code.HexCodeFile$Parser$InputPos of org.graalvm.compiler.code.HexCodeFile$Parser