class org.graalvm.compiler.nodes.GraphEncoder$NodeOrder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder
super_class: java.lang.Object
{
protected final org.graalvm.compiler.graph.NodeMap<java.lang.Integer> orderIds;
descriptor: Lorg/graalvm/compiler/graph/NodeMap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeMap<Ljava/lang/Integer;>;
protected int nextOrderId;
descriptor: I
flags: (0x0004) ACC_PROTECTED
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: .line 297
ldc Lorg/graalvm/compiler/nodes/GraphEncoder;
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.nodes.GraphEncoder$NodeOrder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=2
start local 0 // org.graalvm.compiler.nodes.GraphEncoder$NodeOrder this
start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
0: .line 301
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 302
aload 0 /* this */
new org.graalvm.compiler.graph.NodeMap
dup
aload 1 /* graph */
invokespecial org.graalvm.compiler.graph.NodeMap.<init>:(Lorg/graalvm/compiler/graph/Graph;)V
putfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.orderIds:Lorg/graalvm/compiler/graph/NodeMap;
2: .line 303
aload 0 /* this */
iconst_1
putfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.nextOrderId:I
3: .line 306
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 2 /* nodeQueue */
start local 2 // java.util.Deque nodeQueue
4: .line 307
aload 1 /* graph */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 3 /* current */
start local 3 // org.graalvm.compiler.nodes.FixedNode current
5: .line 309
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 0 /* this */
aload 3 /* current */
invokevirtual org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.add:(Lorg/graalvm/compiler/graph/Node;)V
6: .line 310
aload 3 /* current */
instanceof org.graalvm.compiler.nodes.AbstractBeginNode
ifeq 8
7: .line 311
aload 0 /* this */
aload 3 /* current */
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.add:(Lorg/graalvm/compiler/graph/Node;)V
8: .line 314
StackMap locals:
StackMap stack:
aload 3 /* current */
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 11
9: .line 315
aload 3 /* current */
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
getfield org.graalvm.compiler.nodes.FixedWithNextNode.next:Lorg/graalvm/compiler/nodes/FixedNode;
astore 3 /* current */
10: .line 316
goto 31
11: .line 317
StackMap locals:
StackMap stack:
aload 3 /* current */
instanceof org.graalvm.compiler.nodes.ControlSplitNode
ifeq 18
12: .line 318
aload 3 /* current */
invokevirtual org.graalvm.compiler.nodes.FixedNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
13: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4 /* successor */
start local 4 // org.graalvm.compiler.graph.Node successor
14: .line 319
aload 4 /* successor */
ifnull 16
15: .line 320
aload 2 /* nodeQueue */
aload 4 /* successor */
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
end local 4 // org.graalvm.compiler.graph.Node successor
16: .line 318
StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: .line 323
goto 30
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode
StackMap stack:
18: aload 3 /* current */
instanceof org.graalvm.compiler.nodes.EndNode
ifeq 30
19: .line 324
aload 3 /* current */
checkcast org.graalvm.compiler.nodes.AbstractEndNode
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 4 /* merge */
start local 4 // org.graalvm.compiler.nodes.AbstractMergeNode merge
20: .line 325
iconst_1
istore 5 /* allForwardEndsVisited */
start local 5 // boolean allForwardEndsVisited
21: .line 326
iconst_0
istore 6 /* i */
start local 6 // int i
22: goto 27
23: .line 327
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode int int
StackMap stack:
aload 0 /* this */
getfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.orderIds:Lorg/graalvm/compiler/graph/NodeMap;
aload 4 /* merge */
iload 6 /* i */
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 26
24: .line 328
iconst_0
istore 5 /* allForwardEndsVisited */
25: .line 329
goto 28
26: .line 326
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 6 /* i */
aload 4 /* merge */
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
if_icmplt 23
end local 6 // int i
28: .line 332
StackMap locals:
StackMap stack:
iload 5 /* allForwardEndsVisited */
ifeq 30
29: .line 333
aload 2 /* nodeQueue */
aload 4 /* merge */
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
end local 5 // boolean allForwardEndsVisited
end local 4 // org.graalvm.compiler.nodes.AbstractMergeNode merge
30: .line 336
StackMap locals:
StackMap stack:
aload 2 /* nodeQueue */
invokeinterface java.util.Deque.pollFirst:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 3 /* current */
31: .line 338
StackMap locals:
StackMap stack:
aload 3 /* current */
ifnonnull 5
32: .line 340
aload 1 /* graph */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 38
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
33: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4 /* node */
start local 4 // org.graalvm.compiler.graph.Node node
34: .line 341
getstatic org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.$assertionsDisabled:Z
ifne 37
aload 4 /* node */
instanceof org.graalvm.compiler.nodes.FixedNode
aload 0 /* this */
getfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.orderIds:Lorg/graalvm/compiler/graph/NodeMap;
aload 4 /* node */
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnull 35
iconst_1
goto 36
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack: int
35: iconst_0
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack: int int
36: if_icmpeq 37
new java.lang.AssertionError
dup
ldc "all fixed nodes must be ordered"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
37: .line 342
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 4 /* node */
invokevirtual org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.add:(Lorg/graalvm/compiler/graph/Node;)V
end local 4 // org.graalvm.compiler.graph.Node node
38: .line 340
StackMap locals: org.graalvm.compiler.nodes.GraphEncoder$NodeOrder org.graalvm.compiler.nodes.StructuredGraph java.util.Deque org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
39: .line 344
return
end local 3 // org.graalvm.compiler.nodes.FixedNode current
end local 2 // java.util.Deque nodeQueue
end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
end local 0 // org.graalvm.compiler.nodes.GraphEncoder$NodeOrder this
LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/graalvm/compiler/nodes/GraphEncoder$NodeOrder;
0 40 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 40 2 nodeQueue Ljava/util/Deque<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
5 40 3 current Lorg/graalvm/compiler/nodes/FixedNode;
14 16 4 successor Lorg/graalvm/compiler/graph/Node;
20 30 4 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
21 30 5 allForwardEndsVisited Z
22 28 6 i I
34 38 4 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
private void add(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 // org.graalvm.compiler.nodes.GraphEncoder$NodeOrder this
start local 1 // org.graalvm.compiler.graph.Node node
0: .line 347
aload 0 /* this */
getfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.orderIds:Lorg/graalvm/compiler/graph/NodeMap;
aload 1 /* node */
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 3
1: .line 348
aload 0 /* this */
getfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.orderIds:Lorg/graalvm/compiler/graph/NodeMap;
aload 1 /* node */
aload 0 /* this */
getfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.nextOrderId:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
2: .line 349
aload 0 /* this */
dup
getfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.nextOrderId:I
iconst_1
iadd
putfield org.graalvm.compiler.nodes.GraphEncoder$NodeOrder.nextOrderId:I
3: .line 351
StackMap locals:
StackMap stack:
return
end local 1 // org.graalvm.compiler.graph.Node node
end local 0 // org.graalvm.compiler.nodes.GraphEncoder$NodeOrder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/GraphEncoder$NodeOrder;
0 4 1 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
}
SourceFile: "GraphEncoder.java"
NestHost: org.graalvm.compiler.nodes.GraphEncoder
InnerClasses:
NodeOrder = org.graalvm.compiler.nodes.GraphEncoder$NodeOrder of org.graalvm.compiler.nodes.GraphEncoder