final class com.oracle.truffle.llvm.tests.debug.Trace$Parser implements java.util.function.Consumer<java.lang.String>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.debug.Trace$Parser
super_class: java.lang.Object
{
private final java.util.ArrayDeque<java.lang.String> buffer;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Ljava/lang/String;>;
private final java.util.ArrayDeque<com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured> parents;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;>;
private com.oracle.truffle.llvm.tests.debug.StopRequest request;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.llvm.tests.debug.StopRequest$Scope scope;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured structured;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
flags: (0x0002) ACC_PRIVATE
final com.oracle.truffle.llvm.tests.debug.Trace this$0;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/Trace;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.llvm.tests.debug.Trace);
descriptor: (Lcom/oracle/truffle/llvm/tests/debug/Trace;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/Trace;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
2: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.parents:Ljava/util/ArrayDeque;
3: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
4: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.scope:Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
5: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
MethodParameters:
Name Flags
this$0 final
public void accept(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.split:(Ljava/lang/String;)V
1: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 7
-2024440166: 3
-1134023652: 4
-501473931: 5
35: 6
2555906: 7
63463647: 8
2092001279: 9
default: 42
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
3: aload 3
ldc "MEMBER"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
goto 42
StackMap locals:
StackMap stack:
4: aload 3
ldc "SUSPEND"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 42
StackMap locals:
StackMap stack:
5: aload 3
ldc "END_MEMBERS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 42
StackMap locals:
StackMap stack:
6: aload 3
ldc "#"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 39
goto 42
StackMap locals:
StackMap stack:
7: aload 3
ldc "STOP"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 42
StackMap locals:
StackMap stack:
8: aload 3
ldc "BREAK"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 42
StackMap locals:
StackMap stack:
9: aload 3
ldc "OPEN_SCOPE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 42
10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
ifnull 12
11: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/Trace;
iconst_1
putfield com.oracle.truffle.llvm.tests.debug.Trace.suspendOnEntry:Z
13: goto 43
14: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseStop:(Z)V
15: goto 43
16: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseStop:(Z)V
17: goto 43
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pollFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 19: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pollFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 20: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
ifnonnull 21
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.parents:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 21
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
ifnonnull 22
21: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
22: StackMap locals:
StackMap stack:
ldc "partial"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
aload 5
ifnonnull 25
23: aconst_null
astore 4
24: ldc "partial"
astore 5
25: StackMap locals:
StackMap stack:
ldc "partial"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 6
start local 6 26: aload 0
new com.oracle.truffle.llvm.tests.debug.StopRequest$Scope
dup
aload 4
iload 6
invokespecial com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.<init>:(Ljava/lang/String;Z)V
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.scope:Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
27: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.scope:Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.addScope:(Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;)V
28: goto 43
end local 6 end local 5 end local 4 29: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseMember:()V
30: goto 43
31: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
ifnonnull 34
32: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
33: goto 43
StackMap locals:
StackMap stack:
34: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.parents:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 37
35: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
36: goto 43
37: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.parents:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pollLast:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
38: goto 43
39: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/Trace;
getfield com.oracle.truffle.llvm.tests.debug.Trace.header:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
40: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.clear:()V
41: return
42: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
43: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifne 45
44: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
45: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
0 46 1 line Ljava/lang/String;
2 46 2 token Ljava/lang/String;
19 29 4 scopeName Ljava/lang/String;
20 29 5 partialScope Ljava/lang/String;
26 29 6 isPartialScope Z
MethodParameters:
Name Flags
line
private void parseStop(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
ifnonnull 1
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.parents:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 2
start local 2 3: iconst_m1
istore 3
start local 3 4: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
5: goto 8
StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser int java.lang.String int
StackMap stack: java.lang.NumberFormatException
6: astore 4
start local 4 7: aload 0
aload 4
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:(Ljava/lang/Throwable;)V
end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
ifnull 10
iload 3
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getLine:()I
if_icmpne 10
9: new java.lang.AssertionError
dup
ldc "Invalid trace: Subsequent breaks on line: %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 4
start local 4 11: aload 4
dup
astore 6
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 7
-2082530501: 12
-1786790367: 13
-134121485: 14
-133935513: 15
2306910: 16
2402104: 17
215424167: 18
default: 33
}
StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser int java.lang.String int java.lang.String top java.lang.String
StackMap stack:
12: aload 6
ldc "STEP_OUT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 33
StackMap locals:
StackMap stack:
13: aload 6
ldc "UNWIND"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
goto 33
StackMap locals:
StackMap stack:
14: aload 6
ldc "STEP_INTO"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 33
StackMap locals:
StackMap stack:
15: aload 6
ldc "STEP_OVER"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 33
StackMap locals:
StackMap stack:
16: aload 6
ldc "KILL"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
goto 33
StackMap locals:
StackMap stack:
17: aload 6
ldc "NONE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 33
StackMap locals:
StackMap stack:
18: aload 6
ldc "CONTINUE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
goto 33
19: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.STEP_INTO:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 20: goto 34
end local 5 21: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.STEP_OUT:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 22: goto 34
end local 5 23: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.STEP_OVER:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 24: goto 34
end local 5 25: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.KILL:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 26: goto 34
end local 5 27: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.CONTINUE:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 28: goto 34
end local 5 29: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.UNWIND:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 30: goto 34
end local 5 31: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.NONE:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
astore 5
start local 5 32: goto 34
end local 5 33: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid trace: Unknown continuation strategy: "
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 5 34: StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser int java.lang.String int java.lang.String com.oracle.truffle.llvm.tests.debug.ContinueStrategy
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 7
start local 7 35: aload 0
new com.oracle.truffle.llvm.tests.debug.StopRequest
dup
aload 5
aload 7
iload 3
iload 1
invokespecial com.oracle.truffle.llvm.tests.debug.StopRequest.<init>:(Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;Ljava/lang/String;IZ)V
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
36: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/Trace;
getfield com.oracle.truffle.llvm.tests.debug.Trace.stops:Ljava/util/List;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
37: return
end local 7 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 38 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
0 38 1 needsBreakPoint Z
3 38 2 lineStr Ljava/lang/String;
4 38 3 line I
7 8 4 nfe Ljava/lang/NumberFormatException;
11 38 4 nextActionStr Ljava/lang/String;
20 21 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
22 23 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
24 25 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
26 27 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
28 29 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
30 31 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
32 33 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
34 38 5 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
35 38 7 functionName Ljava/lang/String;
Exception table:
from to target type
4 5 6 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
needsBreakPoint
private boolean parseBugginess();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pollFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: ldc "buggy"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
ifnull 2
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured.isBuggy:()Z
ifne 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
1 4 1 token Ljava/lang/String;
private void parseMember();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 1
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 9
-1147692044: 5
-766443077: 6
-766442982: 7
-665462704: 8
96748: 9
104431: 10
3052374: 11
96946943: 12
185106769: 13
default: 67
}
StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.debug.LLVMDebugValue java.lang.String
StackMap stack:
5: aload 5
ldc "address"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 46
goto 67
StackMap locals:
StackMap stack:
6: aload 5
ldc "float32"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 30
goto 67
StackMap locals:
StackMap stack:
7: aload 5
ldc "float64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
goto 67
StackMap locals:
StackMap stack:
8: aload 5
ldc "unavailable"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 64
goto 67
StackMap locals:
StackMap stack:
9: aload 5
ldc "any"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 67
StackMap locals:
StackMap stack:
10: aload 5
ldc "int"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 67
StackMap locals:
StackMap stack:
11: aload 5
ldc "char"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 67
StackMap locals:
StackMap stack:
12: aload 5
ldc "exact"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 50
goto 67
StackMap locals:
StackMap stack:
13: aload 5
ldc "structured"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 54
goto 67
14: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Any
dup
aload 2
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Any.<init>:(Ljava/lang/String;)V
astore 4
15: goto 68
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 6
start local 6 17: aload 6
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpeq 19
18: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
19: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 7
start local 7 20: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Char
dup
aload 2
aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
iload 7
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Char.<init>:(Ljava/lang/String;CZ)V
astore 4
21: goto 68
end local 7 end local 6 22: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 6
start local 6 23: new java.math.BigInteger
dup
aload 6
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
astore 7
start local 7 24: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 8
start local 8 25: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Int
dup
aload 2
aload 7
iload 8
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Int.<init>:(Ljava/lang/String;Ljava/math/BigInteger;Z)V
astore 4
end local 8 end local 7 26: goto 68
StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.debug.LLVMDebugValue java.lang.String java.lang.String
StackMap stack: java.lang.NumberFormatException
27: astore 7
start local 7 28: aload 0
aload 7
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:(Ljava/lang/Throwable;)V
end local 7 29: goto 68
end local 6 30: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 6
start local 6 31: aload 6
invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
fstore 7
start local 7 32: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 8
start local 8 33: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Float_32
dup
aload 2
fload 7
iload 8
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Float_32.<init>:(Ljava/lang/String;FZ)V
astore 4
end local 8 end local 7 34: goto 68
StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.debug.LLVMDebugValue java.lang.String java.lang.String
StackMap stack: java.lang.NumberFormatException
35: astore 7
start local 7 36: aload 0
aload 7
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:(Ljava/lang/Throwable;)V
end local 7 37: goto 68
end local 6 38: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 6
start local 6 39: aload 6
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
dstore 7
start local 7 40: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 9
start local 9 41: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Float_64
dup
aload 2
dload 7
iload 9
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Float_64.<init>:(Ljava/lang/String;DZ)V
astore 4
end local 9 end local 7 42: goto 68
StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.debug.LLVMDebugValue java.lang.String java.lang.String
StackMap stack: java.lang.NumberFormatException
43: astore 7
start local 7 44: aload 0
aload 7
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:(Ljava/lang/Throwable;)V
end local 7 45: goto 68
end local 6 46: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 6
start local 6 47: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 7
start local 7 48: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Address
dup
aload 2
aload 6
iload 7
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Address.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
astore 4
49: goto 68
end local 7 end local 6 50: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.nextToken:()Ljava/lang/String;
astore 6
start local 6 51: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 7
start local 7 52: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Exact
dup
aload 2
aload 6
iload 7
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Exact.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
astore 4
53: goto 68
end local 7 end local 6 54: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 6
start local 6 55: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured
dup
aload 2
iload 6
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured.<init>:(Ljava/lang/String;Z)V
astore 7
start local 7 56: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
ifnull 61
57: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.parents:Ljava/util/ArrayDeque;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
invokevirtual java.util.ArrayDeque.addLast:(Ljava/lang/Object;)V
58: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
aload 3
aload 7
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured.addMember:(Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue;)V
59: aload 0
aload 7
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
60: goto 62
61: StackMap locals: int com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.scope:Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
aload 3
aload 7
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.addMember:(Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue;)V
62: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
63: return
end local 7 end local 6 64: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.parseBugginess:()Z
istore 6
start local 6 65: new com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Unavailable
dup
aload 2
iload 6
invokespecial com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Unavailable.<init>:(Ljava/lang/String;Z)V
astore 4
66: goto 68
end local 6 67: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid trace: Unknown member kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
68: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
ifnull 71
69: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.structured:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
aload 3
aload 4
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured.addMember:(Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue;)V
70: goto 72
71: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.scope:Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
aload 3
aload 4
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.addMember:(Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue;)V
72: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
1 73 1 kind Ljava/lang/String;
2 73 2 type Ljava/lang/String;
3 73 3 name Ljava/lang/String;
4 73 4 dbgValue Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue;
17 22 6 value Ljava/lang/String;
20 22 7 isBuggy Z
23 30 6 value Ljava/lang/String;
24 26 7 intVal Ljava/math/BigInteger;
25 26 8 isBuggy Z
28 29 7 nfe Ljava/lang/NumberFormatException;
31 38 6 value Ljava/lang/String;
32 34 7 floatVal F
33 34 8 isBuggy Z
36 37 7 nfe Ljava/lang/NumberFormatException;
39 46 6 value Ljava/lang/String;
40 42 7 floatVal D
41 42 9 isBuggy Z
44 45 7 nfe Ljava/lang/NumberFormatException;
47 50 6 value Ljava/lang/String;
48 50 7 isBuggy Z
51 54 6 value Ljava/lang/String;
52 54 7 isBuggy Z
55 64 6 isBuggy Z
56 64 7 newStructured Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugValue$Structured;
65 67 6 isBuggy Z
Exception table:
from to target type
23 26 27 Class java.lang.NumberFormatException
31 34 35 Class java.lang.NumberFormatException
39 42 43 Class java.lang.NumberFormatException
private void split(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 19
3: StackMap locals: java.lang.String int
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 4: iload 5
bipush 34
if_icmpne 10
5: iinc 3 1
6: aload 2
bipush 34
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 4
start local 4 7: iload 4
iconst_m1
if_icmpne 13
8: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.error:()V
9: goto 13
end local 4 10: StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser java.lang.String java.lang.String int top int
StackMap stack:
aload 2
bipush 32
iload 3
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 4
start local 4 11: iload 4
iconst_m1
if_icmpne 13
12: aload 2
invokevirtual java.lang.String.length:()I
istore 4
13: StackMap locals: com.oracle.truffle.llvm.tests.debug.Trace$Parser java.lang.String java.lang.String int int int
StackMap stack:
aload 2
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 14: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
aload 6
invokevirtual java.util.ArrayDeque.addLast:(Ljava/lang/Object;)V
15: iload 4
iconst_1
iadd
istore 3
16: goto 18
17: StackMap locals: java.lang.String
StackMap stack:
iinc 3 1
18: StackMap locals:
StackMap stack:
iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmpge 19
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmpeq 17
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 3
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
0 21 1 line Ljava/lang/String;
1 21 2 str Ljava/lang/String;
2 21 3 from I
7 10 4 to I
11 19 4 to I
4 19 5 ch C
14 19 6 nextToken Ljava/lang/String;
MethodParameters:
Name Flags
line
private java.lang.String nextToken();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.debug.Trace$Parser.buffer:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pollFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.String
StackMap stack:
new java.lang.AssertionError
dup
ldc "Invalid Trace!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
1 4 1 token Ljava/lang/String;
private void error();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.AssertionError
dup
ldc "Invalid Trace!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
private void error(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.AssertionError
dup
ldc "Invalid Trace!"
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/debug/Trace$Parser;
0 1 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
public void accept(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.String
invokevirtual com.oracle.truffle.llvm.tests.debug.Trace$Parser.accept:(Ljava/lang/String;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/Consumer<Ljava/lang/String;>;
SourceFile: "Trace.java"
NestHost: com.oracle.truffle.llvm.tests.debug.Trace
InnerClasses:
final Address = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Address of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Any = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Any of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Char = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Char of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Exact = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Exact of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Float_32 = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Float_32 of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Float_64 = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Float_64 of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Int = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Int of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Structured = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Structured of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Unavailable = com.oracle.truffle.llvm.tests.debug.LLVMDebugValue$Unavailable of com.oracle.truffle.llvm.tests.debug.LLVMDebugValue
final Scope = com.oracle.truffle.llvm.tests.debug.StopRequest$Scope of com.oracle.truffle.llvm.tests.debug.StopRequest
private final Parser = com.oracle.truffle.llvm.tests.debug.Trace$Parser of com.oracle.truffle.llvm.tests.debug.Trace