public abstract class org.graalvm.compiler.nodes.AbstractMergeNode extends org.graalvm.compiler.nodes.BeginStateSplitNode implements org.graalvm.compiler.graph.IterableNodeType, org.graalvm.compiler.graph.spi.Simplifiable, org.graalvm.compiler.nodes.spi.LIRLowerable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.AbstractMergeNode
super_class: org.graalvm.compiler.nodes.BeginStateSplitNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.AbstractMergeNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/AbstractMergeNode;>;
protected org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.EndNode> ends;
descriptor: Lorg/graalvm/compiler/graph/NodeInputList;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/EndNode;>;
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Input(value = org.graalvm.compiler.nodeinfo.InputType.Association:Lorg/graalvm/compiler/nodeinfo/InputType;)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/AbstractMergeNode;
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.AbstractMergeNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/nodes/AbstractMergeNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.AbstractMergeNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.AbstractMergeNode>);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.nodes.BeginStateSplitNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;)V
1: aload 0
new org.graalvm.compiler.graph.NodeInputList
dup
aload 0
invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;)V
putfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 3 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/AbstractMergeNode;>;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/AbstractMergeNode;>;)V
MethodParameters:
Name Flags
c
public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.visitMerge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 2 1 gen Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
MethodParameters:
Name Flags
gen
public int forwardEndIndex(org.graalvm.compiler.nodes.EndNode);
descriptor: (Lorg/graalvm/compiler/nodes/EndNode;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeInputList.indexOf:(Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 1 1 end Lorg/graalvm/compiler/nodes/EndNode;
MethodParameters:
Name Flags
end
public void addForwardEnd(org.graalvm.compiler.nodes.EndNode);
descriptor: (Lorg/graalvm/compiler/nodes/EndNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeInputList.add:(Lorg/graalvm/compiler/graph/Node;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 2 1 end Lorg/graalvm/compiler/nodes/EndNode;
MethodParameters:
Name Flags
end
public final int forwardEndCount();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
public final org.graalvm.compiler.nodes.EndNode forwardEndAt(int);
descriptor: (I)Lorg/graalvm/compiler/nodes/EndNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
iload 1
invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 1 1 index I
MethodParameters:
Name Flags
index
public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.EndNode> cfgPredecessors();
descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/EndNode;>;
public boolean isPhiAtMerge(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 1
aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
aload 0
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 2 1 value Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
value
public void removeEnd(org.graalvm.compiler.nodes.AbstractEndNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorIndex:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)I
istore 2
start local 2 1: getstatic org.graalvm.compiler.nodes.AbstractMergeNode.$assertionsDisabled:Z
ifne 2
iload 2
iconst_m1
if_icmpne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.deleteEnd:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
3: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode int top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.compiler.nodes.PhiNode.isDeleted:()Z
ifeq 7
6: goto 11
7: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode int org.graalvm.compiler.nodes.PhiNode java.util.Iterator
StackMap stack:
aload 3
iload 2
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 8: aload 3
iload 2
invokevirtual org.graalvm.compiler.nodes.PhiNode.removeInput:(I)V
9: aload 5
ifnull 11
10: aload 5
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
end local 5 end local 3 11: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 13 1 pred Lorg/graalvm/compiler/nodes/AbstractEndNode;
1 13 2 predIndex I
5 11 3 phi Lorg/graalvm/compiler/nodes/PhiNode;
8 11 5 removedValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
pred
protected void deleteEnd(org.graalvm.compiler.nodes.AbstractEndNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeInputList.remove:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 2 1 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
MethodParameters:
Name Flags
end
public void clearEnds();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.clear:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
public org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.EndNode> forwardEnds();
descriptor: ()Lorg/graalvm/compiler/graph/NodeInputList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
Signature: ()Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/EndNode;>;
public int phiPredecessorCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
public int phiPredecessorIndex(org.graalvm.compiler.nodes.AbstractEndNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.EndNode
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndIndex:(Lorg/graalvm/compiler/nodes/EndNode;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 1 1 pred Lorg/graalvm/compiler/nodes/AbstractEndNode;
MethodParameters:
Name Flags
pred
public org.graalvm.compiler.nodes.AbstractEndNode phiPredecessorAt(int);
descriptor: (I)Lorg/graalvm/compiler/nodes/AbstractEndNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 1 1 index I
MethodParameters:
Name Flags
index
public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.PhiNode> phis();
descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/PhiNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 0
invokedynamic apply(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)Lorg/graalvm/compiler/graph/iterators/NodePredicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/nodes/AbstractMergeNode.isPhiAtMerge(Lorg/graalvm/compiler/graph/Node;)Z (5)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/PhiNode;>;
public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.ValuePhiNode> valuePhis();
descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/ValuePhiNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/ValuePhiNode;>;
public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.memory.MemoryPhiNode> memoryPhis();
descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.graph.Node> anchored();
descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.nodes.BeginStateSplitNode.anchored:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 0
invokedynamic apply(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)Lorg/graalvm/compiler/graph/iterators/NodePredicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/nodes/AbstractMergeNode.lambda$1(Lorg/graalvm/compiler/graph/Node;)Z (7)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
public void simplify(org.graalvm.compiler.graph.spi.SimplifierTool);
descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.AbstractEndNode
ifeq 58
2: aload 2
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 4
start local 4 4: aload 4
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 6
aload 3
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifne 6
5: return
6: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.anchored:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 10
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 10
9: return
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 5
start local 5 12: aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.PhiNode java.util.Iterator top java.util.Iterator
StackMap stack:
13: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 14: aload 7
instanceof org.graalvm.compiler.nodes.VirtualState
ifne 16
aload 4
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 16
15: return
end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 5 17: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
18: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
ldc "Split %s into ends for %s."
aload 0
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
19: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
istore 5
start local 5 20: iconst_0
istore 6
start local 6 21: goto 55
22: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int
StackMap stack:
aload 0
iload 5
iconst_1
isub
iload 6
isub
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
astore 7
start local 7 23: aload 1
ifnull 25
24: aload 1
aload 7
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Lorg/graalvm/compiler/graph/Node;)V
25: StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode
StackMap stack:
aconst_null
astore 9
aconst_null
astore 10
26: aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 11
start local 11 27: aload 4
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 30
28: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.LoopEndNode
dup
aload 4
checkcast org.graalvm.compiler.nodes.LoopBeginNode
invokespecial org.graalvm.compiler.nodes.LoopEndNode.<init>:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 8
start local 8 29: goto 33
end local 8 30: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode top java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 12
start local 12 31: aload 4
aload 12
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
32: aload 12
astore 8
end local 12 start local 8 33: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractEndNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
aload 11
ifnull 39
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 39
end local 8 StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode top java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
34: astore 9
aload 11
ifnull 35
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 11 StackMap locals:
StackMap stack:
35: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 10
aload 9
ifnonnull 37
aload 10
astore 9
goto 38
StackMap locals:
StackMap stack:
37: aload 9
aload 10
if_acmpeq 38
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 9
athrow
start local 8 39: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractEndNode
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 10
goto 48
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractEndNode top java.util.Iterator
StackMap stack:
40: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 9
start local 9 41: aload 9
aload 3
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
start local 11 42: aload 0
aload 11
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 46
43: aload 11
checkcast org.graalvm.compiler.nodes.PhiNode
astore 13
start local 13 44: aload 13
aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 12
end local 13 start local 12 45: goto 47
end local 12 46: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 11
astore 12
start local 12 47: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 9
aload 12
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 12 end local 11 end local 9 48: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractEndNode top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
49: aload 0
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.removeEnd:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
50: aload 7
aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
51: aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.safeDelete:()V
52: aload 1
ifnull 54
53: aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 end local 7 54: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
55: iload 6
iload 5
iconst_1
isub
if_icmplt 22
end local 6 56: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceTrivialMerge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
end local 5 end local 4 end local 3 57: goto 104
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode
StackMap stack:
58: aload 2
instanceof org.graalvm.compiler.nodes.ReturnNode
ifeq 104
59: aload 2
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 3
start local 3 60: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.anchored:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifne 61
aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
ifnull 62
61: StackMap locals: org.graalvm.compiler.nodes.ReturnNode
StackMap stack:
return
62: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
astore 4
start local 4 63: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 70
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List top java.util.Iterator
StackMap stack:
64: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 5
start local 5 65: aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 8
goto 69
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List org.graalvm.compiler.nodes.PhiNode java.util.Iterator top java.util.Iterator
StackMap stack:
66: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 67: aload 7
aload 3
if_acmpeq 69
aload 7
instanceof org.graalvm.compiler.nodes.FrameState
ifne 69
68: return
end local 7 69: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 66
end local 5 70: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
71: aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
ifnull 72
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 73
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List
StackMap stack:
72: aconst_null
goto 74
StackMap locals:
StackMap stack:
73: aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.ValuePhiNode
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValuePhiNode
74: astore 5
start local 5 75: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.snapshot:()Ljava/util/List;
astore 6
start local 6 76: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 93
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List org.graalvm.compiler.nodes.ValuePhiNode java.util.List top java.util.Iterator
StackMap stack:
77: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 7
start local 7 78: aconst_null
astore 9
aconst_null
astore 10
79: aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 11
start local 11 80: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
81: new org.graalvm.compiler.nodes.ReturnNode
dup
aload 5
ifnonnull 82
aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 83
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List org.graalvm.compiler.nodes.ValuePhiNode java.util.List org.graalvm.compiler.nodes.EndNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 81 new 81
82: aload 5
aload 7
invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List org.graalvm.compiler.nodes.ValuePhiNode java.util.List org.graalvm.compiler.nodes.EndNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 81 new 81 org.graalvm.compiler.nodes.ValueNode
83: invokespecial org.graalvm.compiler.nodes.ReturnNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 12
start local 12 84: aload 1
ifnull 86
85: aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.EndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Lorg/graalvm/compiler/graph/Node;)V
86: StackMap locals: org.graalvm.compiler.nodes.ReturnNode
StackMap stack:
aload 7
aload 12
invokevirtual org.graalvm.compiler.nodes.EndNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
end local 12 87: aload 11
ifnull 93
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 93
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List org.graalvm.compiler.nodes.ValuePhiNode java.util.List org.graalvm.compiler.nodes.EndNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
88: astore 9
aload 11
ifnull 89
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 11 StackMap locals:
StackMap stack:
89: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
90: astore 10
aload 9
ifnonnull 91
aload 10
astore 9
goto 92
StackMap locals:
StackMap stack:
91: aload 9
aload 10
if_acmpeq 92
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
92: aload 9
athrow
end local 7 93: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode java.util.List org.graalvm.compiler.nodes.ValuePhiNode java.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 77
94: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
95: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 98
StackMap locals:
StackMap stack:
96: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 7
start local 7 97: aload 7
invokevirtual org.graalvm.compiler.nodes.EndNode.safeDelete:()V
end local 7 98: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 96
99: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 103
StackMap locals:
StackMap stack:
100: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 7
start local 7 101: aload 1
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.allUsagesAvailable:()Z
ifeq 103
aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.isAlive:()Z
ifeq 103
aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.hasNoUsages:()Z
ifeq 103
102: aload 7
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 103: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 100
end local 6 end local 5 end local 4 end local 3 104: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.FixedNode
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 105 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
1 105 2 currentNext Lorg/graalvm/compiler/nodes/FixedNode;
3 57 3 origLoopEnd Lorg/graalvm/compiler/nodes/AbstractEndNode;
4 57 4 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
12 17 5 phi Lorg/graalvm/compiler/nodes/PhiNode;
14 16 7 usage Lorg/graalvm/compiler/graph/Node;
20 57 5 numEnds I
21 56 6 i I
23 54 7 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
29 30 8 newEnd Lorg/graalvm/compiler/nodes/AbstractEndNode;
33 34 8 newEnd Lorg/graalvm/compiler/nodes/AbstractEndNode;
39 54 8 newEnd Lorg/graalvm/compiler/nodes/AbstractEndNode;
27 35 11 position Lorg/graalvm/compiler/debug/DebugCloseable;
31 33 12 tmpEnd Lorg/graalvm/compiler/nodes/EndNode;
41 48 9 phi Lorg/graalvm/compiler/nodes/PhiNode;
42 48 11 v Lorg/graalvm/compiler/nodes/ValueNode;
45 46 12 newInput Lorg/graalvm/compiler/nodes/ValueNode;
47 48 12 newInput Lorg/graalvm/compiler/nodes/ValueNode;
44 45 13 endPhi Lorg/graalvm/compiler/nodes/PhiNode;
60 104 3 returnNode Lorg/graalvm/compiler/nodes/ReturnNode;
63 104 4 phis Ljava/util/List<Lorg/graalvm/compiler/nodes/PhiNode;>;
65 70 5 phi Lorg/graalvm/compiler/nodes/PhiNode;
67 69 7 usage Lorg/graalvm/compiler/graph/Node;
75 104 5 returnValuePhi Lorg/graalvm/compiler/nodes/ValuePhiNode;
76 104 6 endNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/EndNode;>;
78 93 7 end Lorg/graalvm/compiler/nodes/EndNode;
80 89 11 position Lorg/graalvm/compiler/debug/DebugCloseable;
84 87 12 newReturn Lorg/graalvm/compiler/nodes/ReturnNode;
97 98 7 end Lorg/graalvm/compiler/nodes/EndNode;
101 103 7 phi Lorg/graalvm/compiler/nodes/PhiNode;
Exception table:
from to target type
27 33 34 any
26 36 36 any
80 87 88 any
79 90 90 any
MethodParameters:
Name Flags
tool
protected boolean verifyState();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.AbstractMergeNode.stateAfter:Lorg/graalvm/compiler/nodes/FrameState;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
public boolean verify();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.nodes.AbstractMergeNode.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getFrameStateVerification:()Lorg/graalvm/compiler/nodes/StructuredGraph$FrameStateVerification;
getstatic org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerificationFeature.MERGES:Lorg/graalvm/compiler/nodes/StructuredGraph$FrameStateVerificationFeature;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerification.implies:(Lorg/graalvm/compiler/nodes/StructuredGraph$FrameStateVerificationFeature;)Z
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.verifyState:()Z
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Merge must have a state until FSA "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokespecial org.graalvm.compiler.nodes.BeginStateSplitNode.verify:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
public java.lang.Iterable cfgPredecessors();
descriptor: ()Ljava/lang/Iterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.cfgPredecessors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
areturn
LocalVariableTable:
Start End Slot Name Signature
private boolean lambda$1(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 3 1 n Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "AbstractMergeNode.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
public final FrameStateVerification = org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerification of org.graalvm.compiler.nodes.StructuredGraph
public final FrameStateVerificationFeature = org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerificationFeature of org.graalvm.compiler.nodes.StructuredGraph
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(allowedUsageTypes = {org.graalvm.compiler.nodeinfo.InputType.Association:Lorg/graalvm/compiler/nodeinfo/InputType;}, cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0:Lorg/graalvm/compiler/nodeinfo/NodeSize;)