class com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections implements com.oracle.truffle.api.instrumentation.LoadSourceSectionListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections
super_class: java.lang.Object
{
private final java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>> elementTags;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
private final int line;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int offset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.debug.SuspendAnchor anchor;
descriptor: Lcom/oracle/truffle/api/debug/SuspendAnchor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.source.SourceSection exactLineMatch;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.source.SourceSection exactIndexMatch;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.source.SourceSection containsMatch;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes containsNode;
descriptor: Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.source.SourceSection previousMatch;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes previousNode;
descriptor: Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.source.SourceSection nextMatch;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes nextNode;
descriptor: Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
flags: (0x0002) ACC_PRIVATE
private boolean isOffsetInRoot;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$api$debug$SuspendAnchor;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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 Lcom/oracle/truffle/api/debug/SuspendableLocationFinder;
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 com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>, int, int, com.oracle.truffle.api.debug.SuspendAnchor);
descriptor: (Ljava/util/Set;IILcom/oracle/truffle/api/debug/SuspendAnchor;)V
flags: (0x0000)
Code:
stack=2, 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
iconst_0
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.isOffsetInRoot:Z
2: aload 0
aload 1
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.elementTags:Ljava/util/Set;
3: aload 0
iload 2
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.line:I
4: aload 0
iload 3
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
5: aload 0
aload 4
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
0 7 1 elementTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
0 7 2 line I
0 7 3 offset I
0 7 4 anchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;IILcom/oracle/truffle/api/debug/SuspendAnchor;)V
MethodParameters:
Name Flags
elementTags
line
offset
anchor
public void onLoad(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 2
start local 2 1: aload 2
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 2
aload 2
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.isInstrumentable:()Z
ifne 3
2: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.isOffsetInRoot:Z
ifne 9
4: aload 2
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 3
start local 3 5: aload 3
ifnull 9
6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
if_icmpgt 7
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
if_icmpge 7
iconst_1
goto 8
StackMap locals: com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.source.SourceSection
StackMap stack: com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections
7: iconst_0
StackMap locals: com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.source.SourceSection
StackMap stack: com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections int
8: putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.isOffsetInRoot:Z
end local 3 9: StackMap locals:
StackMap stack:
aload 2
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
astore 3
start local 3 10: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 4
start local 4 11: aload 0
aload 3
aload 4
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.matchSectionLine:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Lcom/oracle/truffle/api/source/SourceSection;)Z
ifeq 13
12: return
13: StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentableNode com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
istore 5
start local 5 14: aload 4
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
ifle 17
15: aload 4
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
iconst_1
isub
istore 6
start local 6 16: goto 18
end local 6 17: StackMap locals: int
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
istore 6
start local 6 18: StackMap locals: int
StackMap stack:
aload 0
aload 3
aload 4
iload 5
iload 6
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.matchSectionOffset:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Lcom/oracle/truffle/api/source/SourceSection;II)Z
ifeq 20
19: return
20: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
iload 5
iload 6
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.findOffsetApproximation:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Lcom/oracle/truffle/api/source/SourceSection;II)V
21: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
0 22 1 event Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
1 22 2 eventNode Lcom/oracle/truffle/api/nodes/Node;
5 9 3 rootSection Lcom/oracle/truffle/api/source/SourceSection;
10 22 3 node Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
11 22 4 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
14 22 5 o1 I
16 17 6 o2 I
18 22 6 o2 I
MethodParameters:
Name Flags
event
private boolean matchSectionLine(com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Lcom/oracle/truffle/api/source/SourceSection;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.line:I
ifle 14
1: invokestatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.$SWITCH_TABLE$com$oracle$truffle$api$debug$SuspendAnchor:()[I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.SuspendAnchor.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 2
2: 4
default: 6
}
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
istore 3
start local 3 3: goto 7
end local 3 4: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
istore 3
start local 3 5: goto 7
end local 3 6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.SuspendAnchor.name:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 3 7: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.line:I
iload 3
if_icmpne 12
aload 1
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.elementTags:Ljava/util/Set;
invokestatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.isTaggedWith:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Ljava/util/Set;)Z
ifeq 12
8: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 11
9: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 10
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
if_icmplt 11
10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.AFTER:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 12
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
if_icmple 12
11: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 14
13: iconst_1
ireturn
end local 3 14: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
0 15 1 node Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
0 15 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
3 4 3 l I
5 6 3 l I
7 14 3 l I
MethodParameters:
Name Flags
node
sourceSection
private boolean matchSectionOffset(com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.source.SourceSection, int, int);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Lcom/oracle/truffle/api/source/SourceSection;II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.$SWITCH_TABLE$com$oracle$truffle$api$debug$SuspendAnchor:()[I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.SuspendAnchor.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 1
2: 3
default: 5
}
1: StackMap locals:
StackMap stack:
iload 3
istore 5
start local 5 2: goto 6
end local 5 3: StackMap locals:
StackMap stack:
iload 4
istore 5
start local 5 4: goto 6
end local 5 5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.SuspendAnchor.name:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 5 6: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
iload 5
if_icmpne 9
aload 1
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.elementTags:Ljava/util/Set;
invokestatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.isTaggedWith:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Ljava/util/Set;)Z
ifeq 9
7: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactIndexMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 8
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactIndexMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmple 9
8: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactIndexMatch:Lcom/oracle/truffle/api/source/SourceSection;
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactIndexMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 12 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
0 12 1 node Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
0 12 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
0 12 3 o1 I
0 12 4 o2 I
2 3 5 o I
4 5 5 o I
6 12 5 o I
MethodParameters:
Name Flags
node
sourceSection
o1
o2
private void findOffsetApproximation(com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.source.SourceSection, int, int);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Lcom/oracle/truffle/api/source/SourceSection;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
if_icmpgt 8
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
iload 4
if_icmpgt 8
1: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 2
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmple 5
2: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
3: aload 0
new com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes
dup
aload 1
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;)V
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
4: goto 25
StackMap locals:
StackMap stack:
5: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmpne 25
6: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
new com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes
dup
aload 1
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;)V
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.append:(Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;)V
7: goto 25
StackMap locals:
StackMap stack:
8: iload 4
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
if_icmpge 17
9: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 11
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
if_icmplt 11
10: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
if_icmpne 14
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmpge 14
11: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
12: aload 0
new com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes
dup
aload 1
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;)V
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
13: goto 25
StackMap locals:
StackMap stack:
14: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
if_icmpne 25
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmpne 25
15: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
new com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes
dup
aload 1
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;)V
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.append:(Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;)V
16: goto 25
17: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.$assertionsDisabled:Z
ifne 18
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
iload 3
if_icmplt 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 20
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
if_icmpgt 20
19: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
if_icmpne 23
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmpge 23
20: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
21: aload 0
new com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes
dup
aload 1
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;)V
putfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
22: goto 25
StackMap locals:
StackMap stack:
23: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
if_icmpne 25
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
if_icmpne 25
24: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
new com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes
dup
aload 1
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;)V
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.append:(Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;)V
25: 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 26 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
0 26 1 node Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
0 26 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
0 26 3 o1 I
0 26 4 o2 I
MethodParameters:
Name Flags
node
sourceSection
o1
o2
private static boolean isTaggedWith(com.oracle.truffle.api.instrumentation.InstrumentableNode, java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Ljava/util/Set;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentableNode java.util.Set top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 2: aload 0
aload 2
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 node Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
0 6 1 tags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
2 4 2 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Z
MethodParameters:
Name Flags
node
tags
com.oracle.truffle.api.source.SourceSection getExactSection();
descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 2
1: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactLineMatch:Lcom/oracle/truffle/api/source/SourceSection;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactIndexMatch:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 4
3: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.exactIndexMatch:Lcom/oracle/truffle/api/source/SourceSection;
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
com.oracle.truffle.api.instrumentation.InstrumentableNode getContainsNode();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.line:I
ifle 6
3: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 4
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.line:I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
if_icmpeq 5
StackMap locals:
StackMap stack:
4: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.AFTER:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 9
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.line:I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
if_icmpne 9
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.getOuter:(I)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 7
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
if_icmpeq 8
StackMap locals:
StackMap stack:
7: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.AFTER:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 9
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.offset:I
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
iconst_1
isub
if_icmpne 9
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.getOuter:(I)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.containsMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.getInner:(I)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
com.oracle.truffle.api.instrumentation.InstrumentableNode getPreviousNode();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.previousMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.getOuter:(I)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
com.oracle.truffle.api.instrumentation.InstrumentableNode getNextNode();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextNode:Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$LinkedNodes;
aload 0
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.nextMatch:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes.getOuter:(I)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
static int[] $SWITCH_TABLE$com$oracle$truffle$api$debug$SuspendAnchor();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.$SWITCH_TABLE$com$oracle$truffle$api$debug$SuspendAnchor:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.api.debug.SuspendAnchor.values:()[Lcom/oracle/truffle/api/debug/SuspendAnchor;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.api.debug.SuspendAnchor.AFTER:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.SuspendAnchor.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.SuspendAnchor.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.$SWITCH_TABLE$com$oracle$truffle$api$debug$SuspendAnchor:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
}
SourceFile: "SuspendableLocationFinder.java"
NestHost: com.oracle.truffle.api.debug.SuspendableLocationFinder
InnerClasses:
private final LinkedNodes = com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes of com.oracle.truffle.api.debug.SuspendableLocationFinder
private NearestSections = com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections of com.oracle.truffle.api.debug.SuspendableLocationFinder