public class org.graalvm.compiler.phases.common.ConditionalEliminationUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.ConditionalEliminationUtil
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil;
public static org.graalvm.compiler.core.common.type.Stamp getSafeStamp(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
x
public static org.graalvm.compiler.core.common.type.Stamp getOtherSafeStamp(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFixedReadPhase:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
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;
areturn
2: StackMap locals:
StackMap stack:
aload 0
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;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
x
public static jdk.internal.vm.compiler.collections.Pair<org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStamp(org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.calc.UnaryNode
ifeq 11
1: aload 1
checkcast org.graalvm.compiler.nodes.calc.UnaryNode
astore 2
start local 2 2: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 3: aload 0
aload 3
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 4
start local 4 4: goto 9
5: StackMap locals: org.graalvm.compiler.nodes.calc.UnaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
StackMap stack:
aload 2
aload 4
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 4
aload 5
invokestatic jdk.internal.vm.compiler.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Ljdk/internal/vm/compiler/collections/Pair;
areturn
8: StackMap locals: org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 0
aload 4
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 4
end local 5 9: StackMap locals:
StackMap stack:
aload 4
ifnonnull 5
end local 4 end local 3 end local 2 10: goto 23
StackMap locals:
StackMap stack:
11: aload 1
instanceof org.graalvm.compiler.nodes.calc.BinaryNode
ifeq 23
12: aload 1
checkcast org.graalvm.compiler.nodes.calc.BinaryNode
astore 2
start local 2 13: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 14: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 15: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 23
16: aload 0
aload 4
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 5
start local 5 17: goto 22
18: StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
StackMap stack:
aload 2
aload 5
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
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;
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 19: aload 6
ifnull 21
20: aload 5
aload 6
invokestatic jdk.internal.vm.compiler.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Ljdk/internal/vm/compiler/collections/Pair;
areturn
21: StackMap locals: org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 0
aload 5
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 5
end local 6 22: StackMap locals:
StackMap stack:
aload 5
ifnonnull 18
end local 5 end local 4 end local 3 end local 2 23: StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider org.graalvm.compiler.graph.Node
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 infoElementProvider Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;
0 24 1 node Lorg/graalvm/compiler/graph/Node;
2 10 2 unary Lorg/graalvm/compiler/nodes/calc/UnaryNode;
3 10 3 value Lorg/graalvm/compiler/nodes/ValueNode;
4 10 4 infoElement Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
6 9 5 result Lorg/graalvm/compiler/core/common/type/Stamp;
13 23 2 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
14 23 3 y Lorg/graalvm/compiler/nodes/ValueNode;
15 23 4 x Lorg/graalvm/compiler/nodes/ValueNode;
17 23 5 infoElement Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
19 22 6 result Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
infoElementProvider
node
public static jdk.internal.vm.compiler.collections.Pair<org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStampFromInfo(org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.recursiveFoldStamp:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 infoElementProvider Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;
0 1 1 node Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
infoElementProvider
node
public static boolean rewireGuards(org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 0
iload 1
aload 3
aload 2
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer.rewire:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
0 1 1 result Z
0 1 2 proxifiedInput Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 guardedValueStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 1 4 rewireGuardFunction Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
MethodParameters:
Name Flags
guard
result
proxifiedInput
guardedValueStamp
rewireGuardFunction
public static boolean tryProveGuardCondition(org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, java.util.ArrayDeque<org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition>, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
start local 6 1: goto 7
2: StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 3: aload 7
invokevirtual org.graalvm.compiler.core.common.type.Stamp.asConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.meta.JavaConstant
astore 8
start local 8 4: aload 8
ifnull 6
5: aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 8
invokeinterface jdk.vm.ci.meta.JavaConstant.asBoolean:()Z
aconst_null
aconst_null
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
6: StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 0
aload 6
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
end local 8 end local 7 7: StackMap locals:
StackMap stack:
aload 6
ifnonnull 2
8: aload 1
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 8
goto 13
StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider java.util.ArrayDeque org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition
astore 7
start local 7 10: aload 7
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 7
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition.isNegated:()Z
aload 4
invokevirtual org.graalvm.compiler.nodes.LogicNode.implies:(ZLorg/graalvm/compiler/nodes/LogicNode;)Ljdk/vm/ci/meta/TriState;
astore 9
start local 9 11: aload 9
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 13
12: aload 7
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 9
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aconst_null
aconst_null
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
end local 9 end local 7 13: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
14: aload 4
instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
ifeq 34
15: aload 4
checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
astore 7
start local 7 16: aload 7
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 17: aload 0
aload 8
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
18: goto 24
19: StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider java.util.ArrayDeque org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement org.graalvm.compiler.nodes.UnaryOpLogicNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 9
start local 9 20: aload 7
aload 9
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 10
start local 10 21: aload 10
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 23
22: aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 10
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
23: StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.TriState
StackMap stack:
aload 0
aload 6
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
end local 10 end local 9 24: StackMap locals:
StackMap stack:
aload 6
ifnonnull 19
25: aload 0
aload 8
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair;
astore 9
start local 9 26: aload 9
ifnull 30
27: aload 7
aload 9
invokevirtual jdk.internal.vm.compiler.collections.Pair.getRight:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 10
start local 10 28: aload 10
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 30
29: aload 9
invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 10
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 9
invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual jdk.internal.vm.compiler.collections.Pair.getRight:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
end local 10 30: StackMap locals: jdk.internal.vm.compiler.collections.Pair
StackMap stack:
aload 3
ifnull 89
aload 2
ifnull 89
31: aload 7
aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getSucceedingStampForValue:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 10
start local 10 32: aload 10
ifnull 89
aload 2
aload 3
aload 8
aload 10
aload 5
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ifeq 89
33: iconst_1
ireturn
end local 10 end local 9 end local 8 end local 7 34: StackMap locals:
StackMap stack:
aload 4
instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
ifeq 86
35: aload 4
checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
astore 7
start local 7 36: aload 7
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 37: aload 7
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 38: aload 0
aload 8
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
39: goto 44
40: StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 7
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 9
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;
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 10
start local 10 41: aload 10
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 43
42: aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 10
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
43: StackMap locals: jdk.vm.ci.meta.TriState
StackMap stack:
aload 0
aload 6
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
end local 10 44: StackMap locals:
StackMap stack:
aload 6
ifnonnull 40
45: aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 51
46: aload 0
aload 8
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/collections/Pair;
astore 10
start local 10 47: aload 10
ifnull 58
48: aload 7
aload 10
invokevirtual jdk.internal.vm.compiler.collections.Pair.getRight:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
aload 9
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;
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 11
start local 11 49: aload 11
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 58
50: aload 10
invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 11
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 10
invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 10
invokevirtual jdk.internal.vm.compiler.collections.Pair.getRight:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
end local 11 end local 10 51: StackMap locals:
StackMap stack:
aload 0
aload 9
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
52: goto 57
53: StackMap locals:
StackMap stack:
aload 7
aload 8
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;
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 10
start local 10 54: aload 10
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 56
55: aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 10
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
56: StackMap locals: jdk.vm.ci.meta.TriState
StackMap stack:
aload 0
aload 6
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
end local 10 57: StackMap locals:
StackMap stack:
aload 6
ifnonnull 53
58: StackMap locals:
StackMap stack:
aload 8
instanceof org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
ifeq 69
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 69
59: aload 8
checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
astore 10
start local 10 60: aload 10
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 69
61: aload 0
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
62: goto 68
63: StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
StackMap stack:
aload 10
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
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;
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 11
start local 11 64: aload 7
aload 11
aload 9
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;
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 12
start local 12 65: aload 12
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 67
66: aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 12
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 6
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 11
aload 5
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
67: StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.TriState
StackMap stack:
aload 0
aload 6
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
astore 6
end local 12 end local 11 68: StackMap locals:
StackMap stack:
aload 6
ifnonnull 63
end local 10 69: StackMap locals:
StackMap stack:
aload 3
ifnull 77
aload 2
ifnull 77
aload 7
instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
ifeq 77
aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
ifne 77
70: aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 77
aload 8
instanceof org.graalvm.compiler.nodes.calc.AndNode
ifeq 77
71: aload 8
checkcast org.graalvm.compiler.nodes.calc.AndNode
astore 10
start local 10 72: aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
if_acmpne 77
73: aload 8
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;
invokestatic org.graalvm.compiler.core.common.type.ArithmeticOpTable.forStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getOr:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
astore 11
start local 11 74: aload 11
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 9
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 12
start local 12 75: aload 2
aload 3
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 12
aload 5
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ifeq 77
76: iconst_1
ireturn
end local 12 end local 11 end local 10 77: StackMap locals:
StackMap stack:
aload 3
ifnull 89
aload 2
ifnull 89
78: aload 8
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 82
79: aload 7
aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
aload 8
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 9
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForX:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 10
start local 10 80: aload 10
ifnull 82
aload 2
aload 3
aload 8
aload 10
aload 5
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ifeq 82
81: iconst_1
ireturn
end local 10 82: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 89
aload 2
ifnull 89
83: aload 7
aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
aload 8
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 9
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForY:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 10
start local 10 84: aload 10
ifnull 89
aload 2
aload 3
aload 9
aload 10
aload 5
invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ifeq 89
85: iconst_1
ireturn
end local 10 end local 9 end local 8 end local 7 86: StackMap locals:
StackMap stack:
aload 4
instanceof org.graalvm.compiler.nodes.ShortCircuitOrNode
ifeq 89
87: aload 4
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
astore 7
start local 7 88: aload 0
aload 1
aload 2
aconst_null
aload 7
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getX:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 7
aload 5
aload 0
aload 1
aload 2
invokedynamic rewire(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
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/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
org/graalvm/compiler/phases/common/ConditionalEliminationUtil.lambda$0(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.tryProveGuardCondition:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
end local 7 89: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 90 0 infoElementProvider Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;
0 90 1 conditions Ljava/util/ArrayDeque<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardedCondition;>;
0 90 2 guardFolding Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;
0 90 3 thisGuard Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
0 90 4 node Lorg/graalvm/compiler/nodes/LogicNode;
0 90 5 rewireGuardFunction Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
1 90 6 infoElement Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
3 7 7 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
4 7 8 constant Ljdk/vm/ci/meta/JavaConstant;
10 13 7 guardedCondition Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardedCondition;
11 13 9 result Ljdk/vm/ci/meta/TriState;
16 34 7 unaryLogicNode Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
17 34 8 value Lorg/graalvm/compiler/nodes/ValueNode;
20 24 9 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
21 24 10 result Ljdk/vm/ci/meta/TriState;
26 34 9 foldResult Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
28 30 10 result Ljdk/vm/ci/meta/TriState;
32 34 10 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
36 86 7 binaryOpLogicNode Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
37 86 8 x Lorg/graalvm/compiler/nodes/ValueNode;
38 86 9 y Lorg/graalvm/compiler/nodes/ValueNode;
41 44 10 result Ljdk/vm/ci/meta/TriState;
47 51 10 foldResult Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
49 51 11 result Ljdk/vm/ci/meta/TriState;
54 57 10 result Ljdk/vm/ci/meta/TriState;
60 69 10 binary Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
64 68 11 newStampX Lorg/graalvm/compiler/core/common/type/Stamp;
65 68 12 result Ljdk/vm/ci/meta/TriState;
72 77 10 and Lorg/graalvm/compiler/nodes/calc/AndNode;
74 77 11 op Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$Or;>;
75 77 12 newStampX Lorg/graalvm/compiler/core/common/type/IntegerStamp;
80 82 10 newStampX Lorg/graalvm/compiler/core/common/type/Stamp;
84 86 10 newStampY Lorg/graalvm/compiler/core/common/type/Stamp;
88 89 7 shortCircuitOrNode Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
Signature: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardedCondition;>;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
MethodParameters:
Name Flags
infoElementProvider
conditions
guardFolding
thisGuard
node
rewireGuardFunction
private static boolean lambda$0(org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, java.util.ArrayDeque, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=10, locals=9, args_size=9
start local 5 start local 6 start local 7 start local 8 0: iload 6
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isXNegated:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: int
1: iconst_1
StackMap locals: org.graalvm.compiler.nodes.ShortCircuitOrNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider java.util.ArrayDeque org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.nodes.extended.GuardingNode int org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
StackMap stack: int int
2: if_icmpne 4
3: aload 5
iconst_1
aload 8
aload 7
aload 1
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 4
aconst_null
aload 0
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getY:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 8
aload 5
aload 0
aload 7
aload 1
invokedynamic rewire(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
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/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
org/graalvm/compiler/phases/common/ConditionalEliminationUtil.lambda$1(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.tryProveGuardCondition:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
end local 8 end local 7 end local 6 end local 5 LocalVariableTable:
Start End Slot Name Signature
0 5 5 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
0 5 6 result Z
0 5 7 guardedValueStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 5 8 newInput Lorg/graalvm/compiler/nodes/ValueNode;
private static boolean lambda$1(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=10, args_size=9
start local 5 start local 6 start local 7 start local 8 0: aload 0
astore 9
start local 9 1: aload 9
ifnonnull 4
2: aload 8
astore 9
3: goto 7
StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
4: aload 8
ifnull 7
5: aload 8
aload 0
if_acmpeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 5
aload 1
if_acmpne 9
8: aload 1
iload 6
aload 2
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isYNegated:()Z
ixor
aload 9
aload 3
aload 4
invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 LocalVariableTable:
Start End Slot Name Signature
0 10 5 innerGuard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
0 10 6 innerResult Z
0 10 7 innerGuardedValueStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 10 8 innerNewInput Lorg/graalvm/compiler/nodes/ValueNode;
1 10 9 proxifiedInput Lorg/graalvm/compiler/nodes/ValueNode;
}
SourceFile: "ConditionalEliminationUtil.java"
NestMembers:
org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InputFilter org.graalvm.compiler.phases.common.ConditionalEliminationUtil$Marks
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract BinaryOp = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp of org.graalvm.compiler.core.common.type.ArithmeticOpTable
public abstract Or = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp$Or of org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp
public abstract GuardFolding = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
public abstract GuardRewirer = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
public final GuardedCondition = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
public final InfoElement = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
public abstract InfoElementProvider = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
public InputFilter = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InputFilter of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
public final Marks = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$Marks of org.graalvm.compiler.phases.common.ConditionalEliminationUtil