public class org.graalvm.compiler.phases.common.ExpandLogicPhase extends org.graalvm.compiler.phases.Phase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.ExpandLogicPhase
super_class: org.graalvm.compiler.phases.Phase
{
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/phases/common/ExpandLogicPhase;
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.phases.common.ExpandLogicPhase.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/ExpandLogicPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.graalvm.compiler.nodes.ShortCircuitOrNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.graalvm.compiler.phases.common.ExpandLogicPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
astore 2
start local 2 2: aload 2
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.processBinary:(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: getstatic org.graalvm.compiler.phases.common.ExpandLogicPhase.$assertionsDisabled:Z
ifne 5
aload 1
getstatic org.graalvm.compiler.nodes.ShortCircuitOrNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.phases.common.ExpandLogicPhase org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/phases/common/ExpandLogicPhase;
0 6 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 3 2 logic Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
MethodParameters:
Name Flags
graph
private static void processBinary(org.graalvm.compiler.nodes.ShortCircuitOrNode);
descriptor: (Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: goto 12
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
astore 1
start local 1 2: aload 1
instanceof org.graalvm.compiler.nodes.ShortCircuitOrNode
ifeq 5
3: aload 1
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.processBinary:(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;)V
4: goto 12
StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
5: aload 1
instanceof org.graalvm.compiler.nodes.IfNode
ifeq 8
6: aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getX:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isXNegated:()Z
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getY:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isYNegated:()Z
aload 1
checkcast org.graalvm.compiler.nodes.IfNode
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getShortCircuitProbability:()D
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.processIf:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/IfNode;D)V
7: goto 12
StackMap locals:
StackMap stack:
8: aload 1
instanceof org.graalvm.compiler.nodes.calc.ConditionalNode
ifeq 11
9: aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getX:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isXNegated:()Z
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getY:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isYNegated:()Z
aload 1
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.processConditional:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/calc/ConditionalNode;)V
10: goto 12
11: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifne 1
13: aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.safeDelete:()V
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 binary Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
2 12 1 usage Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
binary
private static void processIf(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.IfNode, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/IfNode;D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=21, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 7
start local 7 1: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 8
start local 8 2: dload 5
dstore 9
start local 9 3: aload 4
aload 7
invokevirtual org.graalvm.compiler.nodes.IfNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
dload 5
dsub
dconst_1
dload 5
dsub
ddiv
dstore 11
start local 11 4: dconst_1
dconst_0
dload 11
invokestatic java.lang.Math.max:(DD)D
invokestatic java.lang.Math.min:(DD)D
dstore 11
5: dload 11
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 7
6: ldc 0.5
dstore 11
7: StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.clearSuccessors:()V
8: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 13
start local 13 9: aload 13
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 14
start local 14 10: aload 14
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
11: aload 13
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 15
start local 15 12: aload 13
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 16
start local 16 13: aload 14
aload 15
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
14: aload 14
aload 16
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
15: aload 15
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 17
start local 17 16: aload 16
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 18
start local 18 17: aload 13
18: new org.graalvm.compiler.nodes.IfNode
dup
aload 2
iload 3
ifeq 19
aload 8
goto 20
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 18 new 18 org.graalvm.compiler.nodes.LogicNode
19: aload 18
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 18 new 18 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
20: iload 3
ifeq 21
aload 18
goto 22
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 18 new 18 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
21: aload 8
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 18 new 18 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
22: dload 11
invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 19
start local 19 23: aload 13
24: new org.graalvm.compiler.nodes.IfNode
dup
aload 0
iload 1
ifeq 25
aload 19
goto 26
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 24 new 24 org.graalvm.compiler.nodes.LogicNode
25: aload 17
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 24 new 24 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
26: iload 1
ifeq 27
aload 17
goto 28
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 24 new 24 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
27: aload 19
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.IfNode double org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode double double org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 24 new 24 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
28: dload 9
invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.IfNode
astore 20
start local 20 29: aload 4
aload 20
invokevirtual org.graalvm.compiler.nodes.IfNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
30: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.safeDelete:()V
31: return
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 11 end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 x Lorg/graalvm/compiler/nodes/LogicNode;
0 32 1 xNegated Z
0 32 2 y Lorg/graalvm/compiler/nodes/LogicNode;
0 32 3 yNegated Z
0 32 4 ifNode Lorg/graalvm/compiler/nodes/IfNode;
0 32 5 shortCircuitProbability D
1 32 7 trueTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
2 32 8 falseTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
3 32 9 firstIfProbability D
4 32 11 secondIfProbability D
9 32 13 graph Lorg/graalvm/compiler/graph/Graph;
10 32 14 trueTargetMerge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
12 32 15 firstTrueEnd Lorg/graalvm/compiler/nodes/EndNode;
13 32 16 secondTrueEnd Lorg/graalvm/compiler/nodes/EndNode;
16 32 17 firstTrueTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
17 32 18 secondTrueTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
23 32 19 secondIf Lorg/graalvm/compiler/nodes/AbstractBeginNode;
29 32 20 firstIf Lorg/graalvm/compiler/nodes/IfNode;
MethodParameters:
Name Flags
x
xNegated
y
yNegated
ifNode
shortCircuitProbability
private static void processConditional(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.calc.ConditionalNode);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/calc/ConditionalNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.trueValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 1: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.falseValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 2: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 3: aload 7
4: new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 2
iload 3
ifeq 5
aload 6
goto 6
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 4 new 4 org.graalvm.compiler.nodes.LogicNode
5: aload 5
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 4 new 4 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
6: iload 3
ifeq 7
aload 5
goto 8
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 4 new 4 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
7: aload 6
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 4 new 4 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
8: invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.graph.Graph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
astore 8
start local 8 9: aload 7
10: new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 0
iload 1
ifeq 11
aload 8
goto 12
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.calc.ConditionalNode
StackMap stack: org.graalvm.compiler.graph.Graph new 10 new 10 org.graalvm.compiler.nodes.LogicNode
11: aload 5
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.calc.ConditionalNode
StackMap stack: org.graalvm.compiler.graph.Graph new 10 new 10 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
12: iload 1
ifeq 13
aload 5
goto 14
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.calc.ConditionalNode
StackMap stack: org.graalvm.compiler.graph.Graph new 10 new 10 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
13: aload 8
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph org.graalvm.compiler.nodes.calc.ConditionalNode
StackMap stack: org.graalvm.compiler.graph.Graph new 10 new 10 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
14: invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.graph.Graph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
astore 9
start local 9 15: aload 4
aload 9
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
16: return
end local 9 end local 8 end local 7 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 17 0 x Lorg/graalvm/compiler/nodes/LogicNode;
0 17 1 xNegated Z
0 17 2 y Lorg/graalvm/compiler/nodes/LogicNode;
0 17 3 yNegated Z
0 17 4 conditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
1 17 5 trueTarget Lorg/graalvm/compiler/nodes/ValueNode;
2 17 6 falseTarget Lorg/graalvm/compiler/nodes/ValueNode;
3 17 7 graph Lorg/graalvm/compiler/graph/Graph;
9 17 8 secondConditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
15 17 9 firstConditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
MethodParameters:
Name Flags
x
xNegated
y
yNegated
conditional
public boolean checkContract();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/ExpandLogicPhase;
}
SourceFile: "ExpandLogicPhase.java"
InnerClasses:
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node