class com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2 implements com.oracle.truffle.api.nodes.NodeVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2
super_class: java.lang.Object
{
int highestLowerTaggedNodeStart;
descriptor: I
flags: (0x0000)
int highestLowerTaggedNodeEnd;
descriptor: I
flags: (0x0000)
int lowestHigherTaggedNodeStart;
descriptor: I
flags: (0x0000)
int lowestHigherTaggedNodeEnd;
descriptor: I
flags: (0x0000)
private final java.util.Set val$tags;
descriptor: Ljava/util/Set;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$offset;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.api.nodes.Node[] val$foundNode;
descriptor: [Lcom/oracle/truffle/api/nodes/Node;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes val$higherNodes;
descriptor: Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes val$lowerNodes;
descriptor: Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(java.util.Set, int, com.oracle.truffle.api.nodes.Node[], com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes, com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes);
descriptor: (Ljava/util/Set;I[Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$tags:Ljava/util/Set;
aload 0
iload 2
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
aload 0
aload 3
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$foundNode:[Lcom/oracle/truffle/api/nodes/Node;
aload 0
aload 4
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$higherNodes:Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
aload 0
aload 5
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$lowerNodes:Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeStart:I
2: aload 0
iconst_m1
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeEnd:I
3: aload 0
iconst_m1
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeStart:I
4: aload 0
iconst_m1
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeEnd:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$2;
MethodParameters:
Name Flags
val$tags final
val$offset final
val$foundNode final
val$higherNodes final
val$lowerNodes final
public boolean visit(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
ifne 3
2: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$tags:Ljava/util/Set;
invokestatic com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch.isTaggedWith:(Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;Ljava/util/Set;)Z
istore 3
start local 3 4: aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
istore 4
start local 4 5: aload 2
invokestatic com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch.getCharEndIndex:(Lcom/oracle/truffle/api/source/SourceSection;)I
istore 5
start local 5 6: iload 3
ifeq 9
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
iload 4
if_icmpne 9
7: aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$foundNode:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 1
aastore
8: iconst_0
ireturn
9: StackMap locals: int int int
StackMap stack:
iload 4
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
if_icmpgt 17
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
iload 5
if_icmpgt 17
10: aload 1
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$tags:Ljava/util/Set;
invokestatic com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch.findChildTaggedNode:(Lcom/oracle/truffle/api/nodes/Node;ILjava/util/Set;)Lcom/oracle/truffle/api/nodes/Node;
astore 6
start local 6 11: aload 6
ifnull 14
12: aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$foundNode:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 6
aastore
13: iconst_0
ireturn
14: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
iload 3
ifeq 17
15: aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$foundNode:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 1
aastore
16: iconst_0
ireturn
end local 6 17: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
iload 4
if_icmpge 24
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeStart:I
iload 4
if_icmpgt 18
iload 5
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeEnd:I
if_icmple 24
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeStart:I
iconst_m1
if_icmpeq 19
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeStart:I
iload 4
if_icmple 24
19: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$higherNodes:Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
aload 1
iload 4
invokevirtual com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes.add:(Lcom/oracle/truffle/api/nodes/Node;I)V
20: iload 3
ifeq 24
21: aload 0
iload 4
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeStart:I
22: aload 0
iload 5
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.lowestHigherTaggedNodeEnd:I
23: aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$higherNodes:Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
iload 4
invokevirtual com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes.cutHigherThan:(I)V
24: StackMap locals:
StackMap stack:
iload 5
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$offset:I
if_icmpge 31
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeStart:I
iload 4
if_icmpgt 25
iload 5
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeEnd:I
if_icmple 31
25: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeStart:I
iconst_m1
if_icmpeq 26
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeStart:I
iload 4
if_icmpge 31
26: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$lowerNodes:Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
aload 1
iload 4
invokevirtual com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes.add:(Lcom/oracle/truffle/api/nodes/Node;I)V
27: iload 3
ifeq 31
28: aload 0
iload 4
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeStart:I
29: aload 0
iload 5
putfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.highestLowerTaggedNodeEnd:I
30: aload 0
getfield com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2.val$lowerNodes:Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$SortedNodes;
iload 4
invokevirtual com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes.cutLowerThan:(I)V
31: StackMap locals:
StackMap stack:
iconst_1
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 32 0 this Lcom/oracle/truffle/api/instrumentation/DefaultNearestNodeSearch$2;
0 32 1 ch Lcom/oracle/truffle/api/nodes/Node;
1 32 2 ss Lcom/oracle/truffle/api/source/SourceSection;
4 32 3 isTagged Z
5 32 4 i1 I
6 32 5 i2 I
11 17 6 taggedNode Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
ch
}
SourceFile: "DefaultNearestNodeSearch.java"
EnclosingMethod: com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch.findChildTaggedNode:(Lcom/oracle/truffle/api/nodes/Node;ILjava/util/Set;)Lcom/oracle/truffle/api/nodes/Node;
NestHost: com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch
InnerClasses:
com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$2
private final SortedNodes = com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch$SortedNodes of com.oracle.truffle.api.instrumentation.DefaultNearestNodeSearch