public abstract class org.graalvm.compiler.nodes.LogicNode extends org.graalvm.compiler.nodes.calc.FloatingNode implements org.graalvm.compiler.graph.Node$IndirectCanonicalization
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.LogicNode
super_class: org.graalvm.compiler.nodes.calc.FloatingNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.LogicNode> 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/LogicNode;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/LogicNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.LogicNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.LogicNode>);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forVoid:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokespecial org.graalvm.compiler.nodes.calc.FloatingNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/LogicNode;
0 2 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/LogicNode;>;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/LogicNode;>;)V
MethodParameters:
Name Flags
c
public static org.graalvm.compiler.nodes.LogicNode and(org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.nodes.LogicNode, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 1
iconst_0
dload 2
invokestatic org.graalvm.compiler.nodes.LogicNode.and:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/graalvm/compiler/nodes/LogicNode;
0 1 1 b Lorg/graalvm/compiler/nodes/LogicNode;
0 1 2 shortCircuitProbability D
MethodParameters:
Name Flags
a
b
shortCircuitProbability
public static org.graalvm.compiler.nodes.LogicNode and(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.LogicNode, boolean, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.nodes.LogicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 1: aload 6
2: new org.graalvm.compiler.nodes.ShortCircuitOrNode
dup
aload 0
iload 1
ifeq 3
iconst_0
goto 4
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int double org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 2 new 2 org.graalvm.compiler.nodes.LogicNode
3: iconst_1
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int double org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 2 new 2 org.graalvm.compiler.nodes.LogicNode int
4: aload 2
iload 3
ifeq 5
iconst_0
goto 6
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int double org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 2 new 2 org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode
5: iconst_1
StackMap locals: org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int double org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 2 new 2 org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.LogicNode int
6: dload 4
invokespecial org.graalvm.compiler.nodes.ShortCircuitOrNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
astore 7
start local 7 7: aload 6
new org.graalvm.compiler.nodes.LogicNegationNode
dup
aload 7
invokespecial org.graalvm.compiler.nodes.LogicNegationNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
areturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 a Lorg/graalvm/compiler/nodes/LogicNode;
0 8 1 negateA Z
0 8 2 b Lorg/graalvm/compiler/nodes/LogicNode;
0 8 3 negateB Z
0 8 4 shortCircuitProbability D
1 8 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
7 8 7 notAorNotB Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
MethodParameters:
Name Flags
a
negateA
b
negateB
shortCircuitProbability
public static org.graalvm.compiler.nodes.LogicNode or(org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.nodes.LogicNode, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 1
iconst_0
dload 2
invokestatic org.graalvm.compiler.nodes.LogicNode.or:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/graalvm/compiler/nodes/LogicNode;
0 1 1 b Lorg/graalvm/compiler/nodes/LogicNode;
0 1 2 shortCircuitProbability D
MethodParameters:
Name Flags
a
b
shortCircuitProbability
public static org.graalvm.compiler.nodes.LogicNode or(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.LogicNode, boolean, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.nodes.LogicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ShortCircuitOrNode
dup
aload 0
iload 1
aload 2
iload 3
dload 4
invokespecial org.graalvm.compiler.nodes.ShortCircuitOrNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/graalvm/compiler/nodes/LogicNode;
0 1 1 negateA Z
0 1 2 b Lorg/graalvm/compiler/nodes/LogicNode;
0 1 3 negateB Z
0 1 4 shortCircuitProbability D
MethodParameters:
Name Flags
a
negateA
b
negateB
shortCircuitProbability
public final boolean isTautology();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.LogicConstantNode
ifeq 3
1: aload 0
checkcast org.graalvm.compiler.nodes.LogicConstantNode
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.nodes.LogicConstantNode.getValue:()Z
ireturn
end local 1 3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/LogicNode;
2 3 1 logicConstantNode Lorg/graalvm/compiler/nodes/LogicConstantNode;
public final boolean isContradiction();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.LogicConstantNode
ifeq 5
1: aload 0
checkcast org.graalvm.compiler.nodes.LogicConstantNode
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.nodes.LogicConstantNode.getValue:()Z
ifeq 3
iconst_0
goto 4
StackMap locals: org.graalvm.compiler.nodes.LogicConstantNode
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 1 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/nodes/LogicNode;
2 5 1 logicConstantNode Lorg/graalvm/compiler/nodes/LogicConstantNode;
public jdk.vm.ci.meta.TriState implies(boolean, org.graalvm.compiler.nodes.LogicNode);
descriptor: (ZLorg/graalvm/compiler/nodes/LogicNode;)Ljdk/vm/ci/meta/TriState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
if_acmpne 4
1: iload 1
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: invokestatic jdk.vm.ci.meta.TriState.get:(Z)Ljdk/vm/ci/meta/TriState;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.LogicNegationNode
ifeq 6
5: aload 0
iload 1
aload 2
checkcast org.graalvm.compiler.nodes.LogicNegationNode
invokevirtual org.graalvm.compiler.nodes.LogicNegationNode.getValue:()Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.LogicNode.implies:(ZLorg/graalvm/compiler/nodes/LogicNode;)Ljdk/vm/ci/meta/TriState;
invokestatic org.graalvm.compiler.nodes.LogicNode.flip:(Ljdk/vm/ci/meta/TriState;)Ljdk/vm/ci/meta/TriState;
areturn
6: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.TriState.UNKNOWN:Ljdk/vm/ci/meta/TriState;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/nodes/LogicNode;
0 7 1 thisNegated Z
0 7 2 other Lorg/graalvm/compiler/nodes/LogicNode;
MethodParameters:
Name Flags
thisNegated
other
private static jdk.vm.ci.meta.TriState flip(jdk.vm.ci.meta.TriState);
descriptor: (Ljdk/vm/ci/meta/TriState;)Ljdk/vm/ci/meta/TriState;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.meta.TriState.isUnknown:()Z
ifeq 2
1: aload 0
goto 5
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: invokestatic jdk.vm.ci.meta.TriState.get:(Z)Ljdk/vm/ci/meta/TriState;
5: StackMap locals:
StackMap stack: jdk.vm.ci.meta.TriState
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 triState Ljdk/vm/ci/meta/TriState;
MethodParameters:
Name Flags
triState
}
SourceFile: "LogicNode.java"
InnerClasses:
public abstract IndirectCanonicalization = org.graalvm.compiler.graph.Node$IndirectCanonicalization of org.graalvm.compiler.graph.Node
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(allowedUsageTypes = {org.graalvm.compiler.nodeinfo.InputType.Condition:Lorg/graalvm/compiler/nodeinfo/InputType;}, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_1:Lorg/graalvm/compiler/nodeinfo/NodeSize;)