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
{
private static final double EPSILON;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0E-6
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
3: 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=7, 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:
aload 1
getstatic org.graalvm.compiler.nodes.calc.NormalizeCompareNode.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 16
StackMap locals: org.graalvm.compiler.phases.common.ExpandLogicPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.calc.NormalizeCompareNode
astore 2
start local 2 7: aconst_null
astore 4
aconst_null
astore 5
8: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 6
start local 6 9: aload 2
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.processNormalizeCompareNode:(Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;)V
10: aload 6
ifnull 16
aload 6
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 16
StackMap locals: org.graalvm.compiler.phases.common.ExpandLogicPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.calc.NormalizeCompareNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
11: astore 4
aload 6
ifnull 12
aload 6
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 6 StackMap locals:
StackMap stack:
12: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 5
aload 4
ifnonnull 14
aload 5
astore 4
goto 15
StackMap locals:
StackMap stack:
14: aload 4
aload 5
if_acmpeq 15
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 4
athrow
end local 2 16: StackMap locals: org.graalvm.compiler.phases.common.ExpandLogicPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
17: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setAfterExpandLogic:()V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/phases/common/ExpandLogicPhase;
0 19 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 3 2 logic Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
7 16 2 logic Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;
9 12 6 context Lorg/graalvm/compiler/debug/DebugCloseable;
Exception table:
from to target type
9 10 11 any
8 13 13 any
MethodParameters:
Name Flags
graph
private static void processNormalizeCompareNode(org.graalvm.compiler.nodes.calc.NormalizeCompareNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 2: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 3: aload 4
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.FloatStamp
ifeq 7
4: aload 3
aload 4
aload 5
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.FloatEqualsNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 1
start local 1 5: aload 3
aload 4
aload 5
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.isUnorderedLess:()Z
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.FloatLessThanNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 2
start local 2 6: goto 9
end local 2 end local 1 7: StackMap locals: org.graalvm.compiler.nodes.calc.NormalizeCompareNode top top org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
aload 4
aload 5
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.IntegerEqualsNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 1
start local 1 8: aload 3
aload 4
aload 5
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.IntegerLessThanNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 2
start local 2 9: StackMap locals: org.graalvm.compiler.nodes.calc.NormalizeCompareNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 10: aload 3
11: new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 1
aload 6
lconst_0
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
aload 6
lconst_1
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
12: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
astore 7
start local 7 13: aload 3
new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 2
aload 6
ldc -1
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
aload 7
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.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
astore 8
start local 8 14: aload 0
aload 8
invokevirtual org.graalvm.compiler.nodes.calc.NormalizeCompareNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
15: return
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 16 0 normalize Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;
5 7 1 equalComp Lorg/graalvm/compiler/nodes/LogicNode;
8 16 1 equalComp Lorg/graalvm/compiler/nodes/LogicNode;
6 7 2 lessComp Lorg/graalvm/compiler/nodes/LogicNode;
9 16 2 lessComp Lorg/graalvm/compiler/nodes/LogicNode;
1 16 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 16 4 x Lorg/graalvm/compiler/nodes/ValueNode;
3 16 5 y Lorg/graalvm/compiler/nodes/ValueNode;
10 16 6 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
13 16 7 equalValue Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
14 16 8 value Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
MethodParameters:
Name Flags
normalize
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=5, args_size=1
start local 0 0: goto 20
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: aconst_null
astore 2
aconst_null
astore 3
3: aload 1
invokevirtual org.graalvm.compiler.graph.Node.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 4
start local 4 4: aload 1
instanceof org.graalvm.compiler.nodes.ShortCircuitOrNode
ifeq 7
5: aload 1
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.processBinary:(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;)V
6: goto 14
StackMap locals: org.graalvm.compiler.nodes.ShortCircuitOrNode org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
7: aload 1
instanceof org.graalvm.compiler.nodes.IfNode
ifeq 10
8: 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
9: goto 14
StackMap locals:
StackMap stack:
10: aload 1
instanceof org.graalvm.compiler.nodes.calc.ConditionalNode
ifeq 13
11: 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
12: goto 14
13: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
14: StackMap locals:
StackMap stack:
aload 4
ifnull 20
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 2
aload 4
ifnull 16
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 4 StackMap locals:
StackMap stack:
16: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 3
aload 2
ifnonnull 18
aload 3
astore 2
goto 19
StackMap locals:
StackMap stack:
18: aload 2
aload 3
if_acmpeq 19
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 2
athrow
end local 1 20: 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
21: aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.safeDelete:()V
22: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 binary Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
2 20 1 usage Lorg/graalvm/compiler/graph/Node;
4 16 4 nsp Lorg/graalvm/compiler/debug/DebugCloseable;
Exception table:
from to target type
4 14 15 any
3 17 17 any
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=24, 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
invokevirtual org.graalvm.compiler.nodes.IfNode.getTrueSuccessorProbability:()D
dload 5
dsub
dconst_1
dload 5
dsub
ddiv
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.sanitizeProbability:(D)D
dstore 11
start local 11 4: dload 9
dconst_1
dload 9
dsub
dload 11
dmul
dadd
dstore 13
start local 13 5: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.getTrueSuccessorProbability:()D
dload 13
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.doubleEquals:(DD)Z
ifne 8
6: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.getTrueSuccessorProbability:()D
dload 5
dmul
dstore 9
7: dconst_1
aload 4
aload 8
invokevirtual org.graalvm.compiler.nodes.IfNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
dconst_1
dload 9
dsub
ddiv
dsub
invokestatic org.graalvm.compiler.phases.common.ExpandLogicPhase.sanitizeProbability:(D)D
dstore 11
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 double
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.clearSuccessors:()V
9: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 15
start local 15 10: aload 15
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 16
start local 16 11: aload 16
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
12: aload 15
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 17
start local 17 13: aload 15
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 18
start local 18 14: aload 16
aload 17
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
15: aload 16
aload 18
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
16: aload 17
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 19
start local 19 17: aload 19
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
18: aload 18
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 20
start local 20 19: aload 20
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
20: iload 3
ifeq 22
21: dconst_1
dload 11
dsub
dstore 11
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 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:
iload 1
ifeq 24
23: dconst_1
dload 9
dsub
dstore 9
24: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.IfNode
dup
aload 2
iload 3
ifeq 25
aload 8
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 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: new 24 new 24 org.graalvm.compiler.nodes.LogicNode
25: aload 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 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: new 24 new 24 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
26: iload 3
ifeq 27
aload 20
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 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: new 24 new 24 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
27: 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 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: new 24 new 24 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
28: 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
astore 21
start local 21 29: aload 21
aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.nodes.IfNode.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
30: aload 15
aload 21
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 22
start local 22 31: aload 22
aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
32: aload 15
33: new org.graalvm.compiler.nodes.IfNode
dup
aload 0
iload 1
ifeq 34
aload 22
goto 35
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 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.IfNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 33 new 33 org.graalvm.compiler.nodes.LogicNode
34: 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 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.IfNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 33 new 33 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
35: iload 1
ifeq 36
aload 19
goto 37
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 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.IfNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 33 new 33 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode
36: aload 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 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.IfNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.graph.Graph new 33 new 33 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode
37: 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 23
start local 23 38: aload 23
aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.nodes.IfNode.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
39: aload 4
aload 23
invokevirtual org.graalvm.compiler.nodes.IfNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
40: aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.safeDelete:()V
41: return
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 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 42 0 x Lorg/graalvm/compiler/nodes/LogicNode;
0 42 1 xNegated Z
0 42 2 y Lorg/graalvm/compiler/nodes/LogicNode;
0 42 3 yNegated Z
0 42 4 ifNode Lorg/graalvm/compiler/nodes/IfNode;
0 42 5 shortCircuitProbability D
1 42 7 trueTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
2 42 8 falseTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
3 42 9 firstIfTrueProbability D
4 42 11 secondIfTrueProbability D
5 42 13 expectedOriginalIfTrueProbability D
10 42 15 graph Lorg/graalvm/compiler/graph/Graph;
11 42 16 trueTargetMerge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
13 42 17 firstTrueEnd Lorg/graalvm/compiler/nodes/EndNode;
14 42 18 secondTrueEnd Lorg/graalvm/compiler/nodes/EndNode;
17 42 19 firstTrueTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
19 42 20 secondTrueTarget Lorg/graalvm/compiler/nodes/AbstractBeginNode;
29 42 21 secondIf Lorg/graalvm/compiler/nodes/IfNode;
31 42 22 secondIfBegin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
38 42 23 firstIf Lorg/graalvm/compiler/nodes/IfNode;
MethodParameters:
Name Flags
x
xNegated
y
yNegated
ifNode
shortCircuitProbability
private static boolean doubleEquals(double, double);
descriptor: (DD)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: getstatic org.graalvm.compiler.phases.common.ExpandLogicPhase.$assertionsDisabled:Z
ifne 2
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 1
dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifne 1
dload 0
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 1
dload 2
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
dload 0
ldc 1.0E-6
dsub
dload 2
dcmpg
ifge 3
dload 0
ldc 1.0E-6
dadd
dload 2
dcmpl
ifle 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 a D
0 4 2 b D
MethodParameters:
Name Flags
a
b
private static double sanitizeProbability(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: dconst_1
dconst_0
dload 0
invokestatic java.lang.Math.max:(DD)D
invokestatic java.lang.Math.min:(DD)D
dstore 2
start local 2 1: dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 3
2: ldc 0.5
dstore 2
3: StackMap locals: double
StackMap stack:
dload 2
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value D
1 4 2 newValue D
MethodParameters:
Name Flags
value
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=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
aconst_null
astore 6
1: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 7
start local 7 2: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.trueValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 3: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.falseValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 4: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 10
start local 10 5: aload 10
6: new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 2
iload 3
ifeq 7
aload 9
goto 8
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 6 new 6 org.graalvm.compiler.nodes.LogicNode
7: aload 8
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 6 new 6 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
8: iload 3
ifeq 9
aload 8
goto 10
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 6 new 6 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
9: aload 9
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.Graph
StackMap stack: org.graalvm.compiler.graph.Graph new 6 new 6 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
10: 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 11
start local 11 11: aload 10
12: new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 0
iload 1
ifeq 13
aload 11
goto 14
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable 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 12 new 12 org.graalvm.compiler.nodes.LogicNode
13: aload 8
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable 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 12 new 12 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
14: iload 1
ifeq 15
aload 8
goto 16
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable 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 12 new 12 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode
15: aload 11
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable 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 12 new 12 org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
16: 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 12
start local 12 17: aload 4
aload 12
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 12 end local 11 end local 10 end local 9 end local 8 18: aload 7
ifnull 24
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 24
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.calc.ConditionalNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
19: astore 5
aload 7
ifnull 20
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 7 StackMap locals:
StackMap stack:
20: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 6
aload 5
ifnonnull 22
aload 6
astore 5
goto 23
StackMap locals:
StackMap stack:
22: aload 5
aload 6
if_acmpeq 23
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 5
athrow
24: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 x Lorg/graalvm/compiler/nodes/LogicNode;
0 25 1 xNegated Z
0 25 2 y Lorg/graalvm/compiler/nodes/LogicNode;
0 25 3 yNegated Z
0 25 4 conditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
2 20 7 context Lorg/graalvm/compiler/debug/DebugCloseable;
3 18 8 trueTarget Lorg/graalvm/compiler/nodes/ValueNode;
4 18 9 falseTarget Lorg/graalvm/compiler/nodes/ValueNode;
5 18 10 graph Lorg/graalvm/compiler/graph/Graph;
11 18 11 secondConditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
17 18 12 firstConditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
Exception table:
from to target type
2 18 19 any
1 21 21 any
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