public class org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame extends org.graalvm.compiler.phases.common.LoweringPhase$Frame<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame
super_class: org.graalvm.compiler.phases.common.LoweringPhase$Frame
{
protected java.util.List<java.lang.Runnable> undoOperations;
descriptor: Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/List<Ljava/lang/Runnable;>;
final org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance this$1;
descriptor: Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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/DominatorConditionalEliminationPhase;
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.DominatorConditionalEliminationPhase$Instance$InstanceFrame.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame);
descriptor: (Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
1: aload 0
aload 2
aload 3
invokespecial org.graalvm.compiler.phases.common.LoweringPhase$Frame.<init>:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;)V
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.undoOperations:Ljava/util/List;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 4 2 block Lorg/graalvm/compiler/nodes/cfg/Block;
0 4 3 parent Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
MethodParameters:
Name Flags
this$0 final
block
parent
public org.graalvm.compiler.phases.common.LoweringPhase$Frame<?> enter(org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame
dup
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
aload 1
aload 0
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.<init>:(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 1 1 b Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
MethodParameters:
Name Flags
b
public void postprocess();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "[Post Processing block %s]"
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.undoOperations:Ljava/util/List;
invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$0(Ljava/lang/Runnable;)V (6)
(Ljava/lang/Runnable;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
protected void processConditionAnchor(org.graalvm.compiler.nodes.ConditionAnchorNode);
descriptor: (Lorg/graalvm/compiler/nodes/ConditionAnchorNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 1
invokedynamic rewire(Lorg/graalvm/compiler/nodes/ConditionAnchorNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$1(Lorg/graalvm/compiler/nodes/ConditionAnchorNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (6)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 2 1 node Lorg/graalvm/compiler/nodes/ConditionAnchorNode;
MethodParameters:
Name Flags
node
protected void processGuard(org.graalvm.compiler.nodes.GuardNode);
descriptor: (Lorg/graalvm/compiler/nodes/GuardNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.GuardNode.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 1
invokedynamic rewire(Lorg/graalvm/compiler/nodes/GuardNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$2(Lorg/graalvm/compiler/nodes/GuardNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (6)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveGuardCondition:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
1: ifne 3
2: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GuardNode.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.GuardNode.isNegated:()Z
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/ValueNode;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 4 1 node Lorg/graalvm/compiler/nodes/GuardNode;
MethodParameters:
Name Flags
node
protected void processFixedGuard(org.graalvm.compiler.nodes.FixedGuardNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 1
invokedynamic rewire(Lorg/graalvm/compiler/nodes/FixedGuardNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$3(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (6)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveGuardCondition:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
1: ifne 3
2: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.isNegated:()Z
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/ValueNode;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 4 1 node Lorg/graalvm/compiler/nodes/FixedGuardNode;
MethodParameters:
Name Flags
node
protected void processIf(org.graalvm.compiler.nodes.IfNode);
descriptor: (Lorg/graalvm/compiler/nodes/IfNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
aload 1
invokedynamic rewire(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;Lorg/graalvm/compiler/nodes/IfNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$4(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (7)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 2 1 node Lorg/graalvm/compiler/nodes/IfNode;
MethodParameters:
Name Flags
node
public void preprocess();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: ldc "[Pre Processing block %s]"
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 1
start local 1 2: aload 1
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 7
aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.isAlive:()Z
ifeq 7
3: aload 1
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 2
start local 2 4: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
aload 2
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
5: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.undoOperations:Ljava/util/List;
aload 0
invokedynamic run(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;)Ljava/lang/Runnable;
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:
()V
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$6()V (7)
()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 6: goto 14
StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack:
7: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
ifnull 14
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
if_icmpgt 9
8: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
if_icmpne 14
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
if_acmpeq 14
9: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
astore 2
start local 2 10: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
astore 3
start local 3 11: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
invokevirtual org.graalvm.compiler.graph.NodeMap.graph:()Lorg/graalvm/compiler/graph/Graph;
invokevirtual org.graalvm.compiler.graph.Graph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
12: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
13: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.undoOperations:Ljava/util/List;
aload 0
aload 2
aload 3
invokedynamic run(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;Lorg/graalvm/compiler/graph/NodeMap;Ljava/util/Deque;)Ljava/lang/Runnable;
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:
()V
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$7(Lorg/graalvm/compiler/graph/NodeMap;Ljava/util/Deque;)V (7)
()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 end local 2 14: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
15: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.blockToNodes:Ljava/util/function/Function;
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Iterable
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 19
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.AbstractBeginNode top java.util.Iterator
StackMap stack:
16: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 17: aload 2
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifeq 19
18: aload 0
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processNode:(Lorg/graalvm/compiler/graph/Node;)V
end local 2 19: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
20: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
2 21 1 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
4 6 2 loopExitNode Lorg/graalvm/compiler/nodes/LoopExitNode;
10 14 2 oldMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;>;
11 14 3 oldLoopExits Ljava/util/Deque<Lorg/graalvm/compiler/nodes/LoopExitNode;>;
17 19 2 n Lorg/graalvm/compiler/graph/Node;
protected void processNode(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.spi.NodeWithState
ifeq 2
aload 1
instanceof org.graalvm.compiler.nodes.extended.GuardingNode
ifne 2
1: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.AbstractBeginNode
ifeq 5
3: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processAbstractBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
4: goto 18
StackMap locals:
StackMap stack:
5: aload 1
instanceof org.graalvm.compiler.nodes.FixedGuardNode
ifeq 8
6: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.FixedGuardNode
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processFixedGuard:(Lorg/graalvm/compiler/nodes/FixedGuardNode;)V
7: goto 18
StackMap locals:
StackMap stack:
8: aload 1
instanceof org.graalvm.compiler.nodes.GuardNode
ifeq 11
9: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.GuardNode
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processGuard:(Lorg/graalvm/compiler/nodes/GuardNode;)V
10: goto 18
StackMap locals:
StackMap stack:
11: aload 1
instanceof org.graalvm.compiler.nodes.ConditionAnchorNode
ifeq 14
12: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.ConditionAnchorNode
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processConditionAnchor:(Lorg/graalvm/compiler/nodes/ConditionAnchorNode;)V
13: goto 18
StackMap locals:
StackMap stack:
14: aload 1
instanceof org.graalvm.compiler.nodes.IfNode
ifeq 17
15: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.IfNode
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processIf:(Lorg/graalvm/compiler/nodes/IfNode;)V
16: goto 18
17: StackMap locals:
StackMap stack:
return
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 19 1 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
protected void registerNewCondition(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifne 14
aload 1
instanceof org.graalvm.compiler.nodes.calc.PointerEqualsNode
ifeq 14
1: aload 1
checkcast org.graalvm.compiler.nodes.calc.PointerEqualsNode
astore 4
start local 4 2: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.PointerEqualsNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 3: aload 4
invokevirtual org.graalvm.compiler.nodes.calc.PointerEqualsNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 4: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 14
5: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 7
start local 7 6: aload 4
iload 2
invokevirtual org.graalvm.compiler.nodes.calc.PointerEqualsNode.getSucceedingStampForX:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 8
start local 8 7: aload 8
ifnonnull 9
aload 4
instanceof org.graalvm.compiler.nodes.calc.ObjectEqualsNode
ifeq 9
aload 3
instanceof org.graalvm.compiler.nodes.FixedGuardNode
ifeq 9
8: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 8
9: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.calc.PointerEqualsNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 8
ifnull 14
10: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.ObjectStamp
ifeq 14
11: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp
dup
aload 7
aload 8
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp.<init>:(Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/core/common/type/ObjectStamp;)V
astore 9
start local 9 12: aload 0
aload 5
aload 9
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
13: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 14: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
ifeq 19
15: aload 1
checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
astore 4
start local 4 16: aload 4
iload 2
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getSucceedingStampForValue:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 17: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 5
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 5 end local 4 18: goto 36
StackMap locals:
StackMap stack:
19: aload 1
instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
ifeq 36
20: aload 1
checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
astore 4
start local 4 21: aload 4
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 22: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 25
23: aload 4
iload 2
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForX:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 24: aload 0
aload 5
aload 6
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 6 25: StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 26: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 29
27: aload 4
iload 2
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForY:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 28: aload 0
aload 6
aload 7
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 7 29: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
ifeq 36
aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingGuard
ifeq 36
iload 2
ifne 36
30: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 36
aload 5
instanceof org.graalvm.compiler.nodes.calc.AndNode
ifeq 36
31: aload 5
checkcast org.graalvm.compiler.nodes.calc.AndNode
astore 7
start local 7 32: aload 7
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
if_acmpne 36
33: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 8
start local 8 34: aload 8
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 9
start local 9 35: aload 0
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 36: StackMap locals:
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingGuard
ifeq 38
37: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest
dup
aload 1
aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingGuard
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
38: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/ValueNode;)V
39: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 40 1 condition Lorg/graalvm/compiler/nodes/LogicNode;
0 40 2 negated Z
0 40 3 guard Lorg/graalvm/compiler/nodes/ValueNode;
2 14 4 pe Lorg/graalvm/compiler/nodes/calc/PointerEqualsNode;
3 14 5 x Lorg/graalvm/compiler/nodes/ValueNode;
4 14 6 y Lorg/graalvm/compiler/nodes/ValueNode;
6 14 7 constant Ljdk/vm/ci/meta/JavaConstant;
7 14 8 succeeding Lorg/graalvm/compiler/core/common/type/Stamp;
12 14 9 cos Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardedConstantStamp;
16 18 4 unaryLogicNode Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
17 18 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
21 36 4 binaryOpLogicNode Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
22 36 5 x Lorg/graalvm/compiler/nodes/ValueNode;
24 25 6 newStampX Lorg/graalvm/compiler/core/common/type/Stamp;
26 36 6 y Lorg/graalvm/compiler/nodes/ValueNode;
28 29 7 newStampY Lorg/graalvm/compiler/core/common/type/Stamp;
32 36 7 and Lorg/graalvm/compiler/nodes/calc/AndNode;
34 36 8 op Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$Or;>;
35 36 9 newStampX Lorg/graalvm/compiler/core/common/type/IntegerStamp;
MethodParameters:
Name Flags
condition
negated
guard
protected org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement, org.graalvm.compiler.core.common.type.Stamp> foldFromConstLoadField(org.graalvm.compiler.nodes.java.LoadFieldNode, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider);
descriptor: (Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
ifne 15
2: aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getConstantObjectStamp:(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aload 0
aload 3
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 4
5: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack:
aload 4
ifnull 15
6: aload 4
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
astore 5
start local 5 7: aload 5
instanceof org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp
ifeq 15
8: aload 0
aload 1
aload 4
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryFoldFromLoadField:(Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 6
start local 6 9: aload 6
ifnull 15
10: getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase.counterLFFolded:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
11: aload 6
invokevirtual org.graalvm.compiler.nodes.ConstantNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.ObjectStamp
ifeq 14
12: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp
dup
aload 6
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
aload 6
invokevirtual org.graalvm.compiler.nodes.ConstantNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp.<init>:(Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/core/common/type/ObjectStamp;)V
astore 7
start local 7 13: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 4
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
aload 7
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 7 14: StackMap locals: org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 4
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
aload 6
invokevirtual org.graalvm.compiler.nodes.ConstantNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 16 1 loadFieldNode Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
0 16 2 info Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;
1 16 3 object Lorg/graalvm/compiler/nodes/ValueNode;
3 15 4 pair Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
7 15 5 s Lorg/graalvm/compiler/core/common/type/Stamp;
9 15 6 c Lorg/graalvm/compiler/nodes/ConstantNode;
13 14 7 cos Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardedConstantStamp;
Signature: (Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
loadFieldNode
info
private org.graalvm.compiler.nodes.ConstantNode tryFoldFromLoadField(org.graalvm.compiler.nodes.java.LoadFieldNode, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/nodes/ConstantNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp
astore 3
start local 3 1: aload 1
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.tool:Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
aload 3
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp.objectConstant:Ljdk/vm/ci/meta/JavaConstant;
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.asConstant:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 2 1 lf Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
0 2 2 x Lorg/graalvm/compiler/core/common/type/Stamp;
1 2 3 cos Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardedConstantStamp;
MethodParameters:
Name Flags
lf
x
private org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement, org.graalvm.compiler.core.common.type.Stamp> getConstantObjectStamp(org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 3: aload 5
instanceof org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp
ifeq 5
4: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 3
aload 5
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 5 end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 7 1 infos Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;
0 7 2 n Lorg/graalvm/compiler/nodes/ValueNode;
2 5 3 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
3 5 5 s Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
infos
n
org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStamp(org.graalvm.compiler.graph.Node, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
flags: (0x0000)
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 4
1: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.foldFromConstLoadField:(Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.UnaryNode
ifeq 18
5: aload 1
checkcast org.graalvm.compiler.nodes.calc.UnaryNode
astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 7: aload 2
aload 4
invokeinterface org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.UnaryNode org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 5
start local 5 9: aload 3
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$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 7
start local 7 10: aload 7
ifnull 12
11: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 5
aload 7
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 7 end local 5 12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
13: aload 0
aload 4
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 5
start local 5 14: aload 5
ifnull 47
15: aload 3
aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.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 6
start local 6 16: aload 6
ifnull 47
17: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
aload 6
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 6 end local 5 end local 4 end local 3 18: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.BinaryNode
ifeq 47
19: aload 1
checkcast org.graalvm.compiler.nodes.calc.BinaryNode
astore 3
start local 3 20: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 21: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 22: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 34
23: aload 2
aload 5
invokeinterface org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 28
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
24: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 6
start local 6 25: aload 3
aload 6
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 8
start local 8 26: aload 8
ifnull 28
27: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 6
aload 8
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 8 end local 6 28: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
29: aload 0
aload 5
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 6
start local 6 30: aload 6
ifnull 47
31: aload 3
aload 6
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 7
start local 7 32: aload 7
ifnull 47
33: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 6
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
aload 7
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 7 end local 6 34: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifne 35
aload 4
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 47
35: StackMap locals:
StackMap stack:
aload 5
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
istore 6
start local 6 36: aload 0
iload 6
ifeq 37
aload 5
goto 38
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int
StackMap stack: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame
37: aload 4
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int
StackMap stack: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.ValueNode
38: aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 7
start local 7 39: aload 7
ifnull 47
40: aload 3
iload 6
ifeq 41
aload 7
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
goto 42
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack: org.graalvm.compiler.nodes.calc.BinaryNode
41: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack: org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.core.common.type.Stamp
42: iload 6
ifeq 43
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
goto 44
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack: org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.core.common.type.Stamp
43: aload 7
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack: org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp
44: 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 8
start local 8 45: aload 8
ifnull 47
46: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
dup
aload 7
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
aload 8
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 47: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 48 1 node Lorg/graalvm/compiler/graph/Node;
0 48 2 info Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;
2 4 3 pair Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
6 18 3 unary Lorg/graalvm/compiler/nodes/calc/UnaryNode;
7 18 4 value Lorg/graalvm/compiler/nodes/ValueNode;
9 12 5 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
10 12 7 result Lorg/graalvm/compiler/core/common/type/Stamp;
14 18 5 foldResult Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
16 18 6 result Lorg/graalvm/compiler/core/common/type/Stamp;
20 47 3 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
21 47 4 y Lorg/graalvm/compiler/nodes/ValueNode;
22 47 5 x Lorg/graalvm/compiler/nodes/ValueNode;
25 28 6 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
26 28 8 result Lorg/graalvm/compiler/core/common/type/Stamp;
30 34 6 foldResult Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
32 34 7 result Lorg/graalvm/compiler/core/common/type/Stamp;
36 47 6 useX Z
39 47 7 foldResult Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
45 47 8 result Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
node
info
org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStampFromInfo(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokedynamic getInfoElements(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;
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/ValueNode;)Ljava/lang/Iterable;
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$8(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable; (7)
(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 1 1 node Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
node
org.graalvm.compiler.core.common.type.Stamp recursiveFoldStamp(org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "Recursively fold stamp for node %s original %s stamp %s"
aload 1
aload 2
aload 3
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
dup
aload 3
aload 2
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 4
start local 4 2: aload 0
aload 1
aload 2
aload 4
invokedynamic getInfoElements(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;
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/ValueNode;)Ljava/lang/Iterable;
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$9(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable; (6)
(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElementProvider;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 5
start local 5 3: aload 5
ifnull 5
4: aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
areturn
5: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack:
aconst_null
areturn
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 6 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 6 1 node Lorg/graalvm/compiler/graph/Node;
0 6 2 original Lorg/graalvm/compiler/nodes/ValueNode;
0 6 3 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
2 6 4 element Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
3 6 5 result Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
MethodParameters:
Name Flags
node
original
newStamp
protected boolean foldPendingTest(org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 6
goto 33
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer top java.util.Iterator
StackMap stack:
1: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest
astore 5
start local 5 2: getstatic jdk.vm.ci.meta.TriState.UNKNOWN:Ljdk/vm/ci/meta/TriState;
astore 7
start local 7 3: aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest.condition:Lorg/graalvm/compiler/nodes/LogicNode;
instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
ifeq 12
4: aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest.condition:Lorg/graalvm/compiler/nodes/LogicNode;
checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
astore 8
start local 8 5: aload 8
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 7
6: aload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 7
7: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest java.util.Iterator jdk.vm.ci.meta.TriState org.graalvm.compiler.nodes.UnaryOpLogicNode
StackMap stack:
aload 7
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifne 28
8: aload 0
aload 8
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 9
start local 9 9: aload 9
ifnull 28
10: aload 8
aload 9
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 7
end local 9 end local 8 11: goto 28
StackMap locals:
StackMap stack:
12: aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest.condition:Lorg/graalvm/compiler/nodes/LogicNode;
instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
ifeq 28
13: aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest.condition:Lorg/graalvm/compiler/nodes/LogicNode;
checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
astore 8
start local 8 14: aload 8
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 15: aload 8
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 16: aload 8
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 19
17: aload 8
aload 3
aload 8
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 7
18: goto 24
StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
19: aload 8
instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
ifeq 24
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 24
aload 9
instanceof org.graalvm.compiler.nodes.calc.AndNode
ifeq 24
20: aload 9
checkcast org.graalvm.compiler.nodes.calc.AndNode
astore 11
start local 11 21: aload 11
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 10
if_acmpne 24
aload 11
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 24
22: aload 3
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.getAnd:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
astore 12
start local 12 23: aload 8
aload 12
aload 3
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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;
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 7
end local 12 end local 11 24: StackMap locals:
StackMap stack:
aload 7
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifne 28
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 28
25: aload 0
aload 9
aload 2
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 11
start local 11 26: aload 11
ifnull 28
27: aload 8
aload 11
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 7
end local 11 end local 10 end local 9 end local 8 28: StackMap locals:
StackMap stack:
aload 7
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 33
29: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InputFilter
dup
aload 2
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InputFilter.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 8
start local 8 30: aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 8
invokevirtual org.graalvm.compiler.nodes.LogicNode.applyInputs:(Lorg/graalvm/compiler/graph/Node$EdgeVisitor;)V
31: aload 8
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InputFilter.ok:Z
ifeq 33
aload 0
aload 1
aload 5
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest.guard:Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
aload 4
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ifeq 33
32: iconst_1
ireturn
end local 8 end local 7 end local 5 33: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
34: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 35 1 thisGuard Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
0 35 2 original Lorg/graalvm/compiler/nodes/ValueNode;
0 35 3 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 35 4 rewireGuardFunction Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;
2 33 5 pending Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$PendingTest;
3 33 7 result Ljdk/vm/ci/meta/TriState;
5 11 8 unaryLogicNode Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
9 11 9 foldResult Lorg/graalvm/compiler/core/common/type/Stamp;
14 28 8 binaryOpLogicNode Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
15 28 9 x Lorg/graalvm/compiler/nodes/ValueNode;
16 28 10 y Lorg/graalvm/compiler/nodes/ValueNode;
21 24 11 and Lorg/graalvm/compiler/nodes/calc/AndNode;
23 24 12 andOp Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$And;>;
26 28 11 foldResult Lorg/graalvm/compiler/core/common/type/Stamp;
30 33 8 v Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InputFilter;
MethodParameters:
Name Flags
thisGuard
original
newStamp
rewireGuardFunction
protected boolean foldGuard(org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
if_acmpne 6
aload 2
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
if_acmpne 6
aload 2
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
if_acmpne 6
1: aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.LogicNode.copyWithInputs:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 4
start local 4 2: aload 3
aload 2
aload 4
aload 1
invokedynamic rewire(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$10(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (6)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
astore 5
start local 5 3: aload 0
aload 2
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer
StackMap stack: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.ValueNode
4: iconst_1
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer
StackMap stack: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.ValueNode int
5: aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 5 end local 4 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 7 1 thisGuard Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
0 7 2 otherGuard Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
0 7 3 rewireGuardFunction Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;
2 6 4 condition Lorg/graalvm/compiler/nodes/LogicNode;
3 6 5 rewirer Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;
MethodParameters:
Name Flags
thisGuard
otherGuard
rewireGuardFunction
protected void registerCondition(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
ifeq 1
invokestatic org.graalvm.compiler.core.common.type.StampFactory.contradiction:()Lorg/graalvm/compiler/core/common/type/Stamp;
goto 2
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.LogicNode
1: invokestatic org.graalvm.compiler.core.common.type.StampFactory.tautology:()Lorg/graalvm/compiler/core/common/type/Stamp;
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.core.common.type.Stamp
2: aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 4 1 condition Lorg/graalvm/compiler/nodes/LogicNode;
0 4 2 negated Z
0 4 3 guard Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
condition
negated
guard
protected java.lang.Iterable<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement> getInfoElements(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
aload 2
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
astore 3
start local 3 4: aload 3
ifnonnull 6
5: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
6: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info.getElements:()Ljava/lang/Iterable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 7 1 proxiedValue Lorg/graalvm/compiler/nodes/ValueNode;
1 7 2 value Lorg/graalvm/compiler/nodes/ValueNode;
4 7 3 info Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;>;
MethodParameters:
Name Flags
proxiedValue
protected boolean rewireGuards(org.graalvm.compiler.nodes.ValueNode, boolean, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.compiler.nodes.extended.GuardingNode
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase.counterStampsFound:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
2: aload 0
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.proxyGuard:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 3: aload 3
aload 4
iload 2
invokeinterface org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer.rewire:(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 4 1 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 4 2 result Z
0 4 3 rewireGuardFunction Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;
3 4 4 proxiedGuard Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
guard
result
rewireGuardFunction
protected org.graalvm.compiler.nodes.ValueNode proxyGuard(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 16
2: goto 4
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
checkcast org.graalvm.compiler.nodes.GuardProxyNode
invokevirtual org.graalvm.compiler.nodes.GuardProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.GuardProxyNode
ifne 3
5: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.nodeToBlock:Ljava/util/function/Function;
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 3
start local 3 6: getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.$assertionsDisabled:Z
ifne 7
aload 3
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
invokeinterface java.util.Deque.descendingIterator:()Ljava/util/Iterator;
astore 4
start local 4 8: goto 15
9: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 5
start local 5 10: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.nodeToBlock:Ljava/util/function/Function;
aload 5
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 6
start local 6 11: aload 3
aload 6
if_acmpeq 15
aload 3
aload 6
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.dominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 15
12: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.nodeToBlock:Ljava/util/function/Function;
aload 5
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 7
start local 7 13: aload 3
aload 7
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.dominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 14
aload 3
aload 7
if_acmpne 15
14: StackMap locals: org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.GuardProxyNode
dup
aload 2
checkcast org.graalvm.compiler.nodes.extended.GuardingNode
aload 5
invokespecial org.graalvm.compiler.nodes.GuardProxyNode.<init>:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 2
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 17 1 guard Lorg/graalvm/compiler/nodes/ValueNode;
1 17 2 proxiedGuard Lorg/graalvm/compiler/nodes/ValueNode;
6 16 3 guardBlock Lorg/graalvm/compiler/nodes/cfg/Block;
8 16 4 iter Ljava/util/Iterator<Lorg/graalvm/compiler/nodes/LoopExitNode;>;
10 15 5 loopExitNode Lorg/graalvm/compiler/nodes/LoopExitNode;
11 15 6 loopExitBlock Lorg/graalvm/compiler/nodes/cfg/Block;
13 15 7 loopBeginBlock Lorg/graalvm/compiler/nodes/cfg/Block;
MethodParameters:
Name Flags
guard
protected boolean tryProveCondition(org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveGuardCondition:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 1 1 node Lorg/graalvm/compiler/nodes/LogicNode;
0 1 2 rewireGuardFunction Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;
MethodParameters:
Name Flags
node
rewireGuardFunction
protected boolean tryProveGuardCondition(org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer);
descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 4
start local 4 2: aload 4
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.asConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.meta.JavaConstant
astore 7
start local 7 4: aload 7
ifnull 6
5: aload 0
aload 4
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 7
invokeinterface jdk.vm.ci.meta.JavaConstant.asBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 7 end local 6 end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: aload 2
instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
ifeq 26
8: aload 2
checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
astore 4
start local 4 9: aload 4
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 10: aload 0
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 16
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.UnaryOpLogicNode org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
11: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 6
start local 6 12: aload 6
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 8
start local 8 13: aload 4
aload 8
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
astore 9
start local 9 14: aload 9
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 16
15: aload 0
aload 6
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 9 end local 8 end local 6 16: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
17: aload 0
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 6
start local 6 18: aload 6
ifnull 22
19: aload 4
aload 6
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second: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 7
start local 7 20: aload 7
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 22
21: aload 0
aload 6
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 7
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 7 22: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.UnaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair
StackMap stack:
aload 1
ifnull 86
23: aload 4
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getSucceedingStampForValue:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 24: aload 7
ifnull 86
aload 0
aload 1
aload 5
aload 7
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ifeq 86
25: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 26: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
ifeq 82
27: aload 2
checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
astore 4
start local 4 28: aload 0
aload 4
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 34
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode top java.util.Iterator
StackMap stack:
29: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 5
start local 5 30: aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.contradiction:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 32
31: aload 0
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
iconst_0
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
32: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement java.util.Iterator
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.tautology:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 34
33: aload 0
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
iconst_1
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 5 34: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
35: aload 4
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 36: aload 4
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 37: aload 0
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 42
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
38: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 7
start local 7 39: aload 4
aload 7
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 9
start local 9 40: aload 9
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 42
41: aload 0
aload 7
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 9 end local 7 42: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
43: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 49
44: aload 0
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair;
astore 7
start local 7 45: aload 7
ifnull 55
46: aload 4
aload 7
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.second:Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 8
start local 8 47: aload 8
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 55
48: aload 0
aload 7
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair.first:Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 8
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 8 end local 7 49: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 6
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 54
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
50: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 7
start local 7 51: aload 4
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 7
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$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 9
start local 9 52: aload 9
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 54
53: aload 0
aload 7
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 9 end local 7 54: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
55: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
instanceof org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
ifeq 65
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 65
56: aload 5
checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
astore 7
start local 7 57: aload 7
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 65
58: aload 0
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 9
goto 64
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.calc.BinaryArithmeticNode top java.util.Iterator
StackMap stack:
59: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
astore 8
start local 8 60: aload 7
aload 8
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 10
start local 10 61: aload 4
aload 10
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 62: aload 11
invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
ifeq 64
63: aload 0
aload 8
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 11
invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 11 end local 10 end local 8 64: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 59
end local 7 65: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
ifnull 73
aload 4
instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
ifeq 73
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
ifne 73
66: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 73
aload 5
instanceof org.graalvm.compiler.nodes.calc.AndNode
ifeq 73
67: aload 5
checkcast org.graalvm.compiler.nodes.calc.AndNode
astore 7
start local 7 68: aload 7
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
if_acmpne 73
69: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 8
start local 8 70: aload 8
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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 9
start local 9 71: aload 0
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ifeq 73
72: iconst_1
ireturn
end local 9 end local 8 end local 7 73: StackMap locals:
StackMap stack:
aload 1
ifnull 86
74: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 78
75: aload 4
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForX:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 76: aload 7
ifnull 78
aload 0
aload 1
aload 5
aload 7
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ifeq 78
77: iconst_1
ireturn
end local 7 78: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 86
79: aload 4
aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForY:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 80: aload 7
ifnull 86
aload 0
aload 1
aload 6
aload 7
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ifeq 86
81: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 82: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.ShortCircuitOrNode
ifeq 86
83: aload 2
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
astore 4
start local 4 84: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 86
85: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getX:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
aload 4
aload 3
invokedynamic rewire(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$11(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (7)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 4 86: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 87 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 87 1 thisGuard Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
0 87 2 node Lorg/graalvm/compiler/nodes/LogicNode;
0 87 3 rewireGuardFunction Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;
2 6 4 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
3 6 6 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
4 6 7 constant Ljdk/vm/ci/meta/JavaConstant;
9 26 4 unaryLogicNode Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
10 26 5 value Lorg/graalvm/compiler/nodes/ValueNode;
12 16 6 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
13 16 8 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
14 16 9 result Ljdk/vm/ci/meta/TriState;
18 26 6 foldResult Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
20 22 7 result Ljdk/vm/ci/meta/TriState;
24 26 7 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
28 82 4 binaryOpLogicNode Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
30 34 5 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
36 82 5 x Lorg/graalvm/compiler/nodes/ValueNode;
37 82 6 y Lorg/graalvm/compiler/nodes/ValueNode;
39 42 7 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
40 42 9 result Ljdk/vm/ci/meta/TriState;
45 49 7 foldResult Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Pair<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
47 49 8 result Ljdk/vm/ci/meta/TriState;
51 54 7 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
52 54 9 result Ljdk/vm/ci/meta/TriState;
57 65 7 binary Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
60 64 8 infoElement Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;
61 64 10 newStampX Lorg/graalvm/compiler/core/common/type/Stamp;
62 64 11 result Ljdk/vm/ci/meta/TriState;
68 73 7 and Lorg/graalvm/compiler/nodes/calc/AndNode;
70 73 8 op Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$Or;>;
71 73 9 newStampX Lorg/graalvm/compiler/core/common/type/IntegerStamp;
76 78 7 newStampX Lorg/graalvm/compiler/core/common/type/Stamp;
80 82 7 newStampY Lorg/graalvm/compiler/core/common/type/Stamp;
84 86 4 shortCircuitOrNode Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
MethodParameters:
Name Flags
thisGuard
node
rewireGuardFunction
protected void registerNewStamp(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.$assertionsDisabled:Z
ifne 2
aload 3
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnull 15
3: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 4: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
aload 4
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
astore 5
start local 5 5: aload 5
ifnonnull 8
6: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
dup
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info.<init>:()V
astore 5
7: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
aload 4
aload 5
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
8: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
StackMap stack:
getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase.counterStampsRegistered:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
9: aload 5
astore 6
start local 6 10: ldc "\t Saving stamp for node %s stamp %s guarded by %s"
aload 4
aload 2
aload 3
ifnonnull 11
ldc "null"
goto 12
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
StackMap stack: java.lang.String org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp
11: aload 3
StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info
StackMap stack: java.lang.String org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp java.lang.Object
12: invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 6
new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement
dup
aload 2
aload 3
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info.pushElement:(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;)V
14: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.undoOperations:Ljava/util/List;
aload 6
invokedynamic run(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;)Ljava/lang/Runnable;
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:
()V
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$13(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;)V (6)
()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 16 1 proxiedValue Lorg/graalvm/compiler/nodes/ValueNode;
0 16 2 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 16 3 guard Lorg/graalvm/compiler/nodes/ValueNode;
4 15 4 value Lorg/graalvm/compiler/nodes/ValueNode;
5 15 5 info Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;
10 15 6 finalInfo Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;
MethodParameters:
Name Flags
proxiedValue
newStamp
guard
protected void processAbstractBegin(org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.IfNode
ifeq 9
2: aload 2
checkcast org.graalvm.compiler.nodes.IfNode
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 1
if_acmpne 4
iconst_1
goto 5
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.IfNode
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
astore 5
start local 5 7: aload 0
aload 5
iload 4
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/ValueNode;)V
end local 5 end local 4 end local 3 8: goto 16
StackMap locals:
StackMap stack:
9: aload 2
instanceof org.graalvm.compiler.nodes.java.TypeSwitchNode
ifeq 13
10: aload 2
checkcast org.graalvm.compiler.nodes.java.TypeSwitchNode
astore 3
start local 3 11: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processTypeSwitch:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;)V
end local 3 12: goto 16
StackMap locals:
StackMap stack:
13: aload 2
instanceof org.graalvm.compiler.nodes.extended.IntegerSwitchNode
ifeq 16
14: aload 2
checkcast org.graalvm.compiler.nodes.extended.IntegerSwitchNode
astore 3
start local 3 15: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.processIntegerSwitch:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;)V
end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 17 1 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
1 17 2 predecessor Lorg/graalvm/compiler/graph/Node;
3 8 3 ifNode Lorg/graalvm/compiler/nodes/IfNode;
6 8 4 negated Z
7 8 5 condition Lorg/graalvm/compiler/nodes/LogicNode;
11 12 3 typeSwitch Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;
15 16 3 integerSwitchNode Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;
MethodParameters:
Name Flags
beginNode
protected void processIntegerSwitch(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.extended.IntegerSwitchNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 9
3: StackMap locals: org.graalvm.compiler.core.common.type.Stamp int
StackMap stack:
aload 3
iload 5
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keySuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 2
if_acmpne 8
4: aload 4
ifnonnull 7
5: aload 3
iload 5
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keyAt:(I)Ljdk/vm/ci/meta/JavaConstant;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forConstant:(Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
6: goto 8
7: StackMap locals:
StackMap stack:
aload 4
aload 3
iload 5
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keyAt:(I)Ljdk/vm/ci/meta/JavaConstant;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forConstant:(Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.meet:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
aload 3
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keyCount:()I
if_icmplt 3
end local 5 10: aload 4
ifnull 12
11: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 4
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
12: 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 13 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 13 1 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 13 2 predecessor Lorg/graalvm/compiler/graph/Node;
0 13 3 integerSwitchNode Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;
1 13 4 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
2 10 5 i I
MethodParameters:
Name Flags
beginNode
predecessor
integerSwitchNode
protected void processTypeSwitch(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.java.TypeSwitchNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 1: aload 4
instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
ifeq 15
2: aload 4
checkcast org.graalvm.compiler.nodes.extended.LoadHubNode
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: iconst_0
istore 7
start local 7 5: goto 12
6: StackMap locals: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.java.TypeSwitchNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.LoadHubNode org.graalvm.compiler.core.common.type.Stamp int
StackMap stack:
aload 3
iload 7
invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.keySuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 2
if_acmpne 11
7: aload 6
ifnonnull 10
8: aload 3
iload 7
invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.typeAt:(I)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createExactTrusted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 6
9: goto 11
10: StackMap locals:
StackMap stack:
aload 6
aload 3
iload 7
invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.typeAt:(I)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createExactTrusted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.meet:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
11: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
aload 3
invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.keyCount:()I
if_icmplt 6
end local 7 13: aload 6
ifnull 15
14: aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 6 end local 5 15: 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 16 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 16 1 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 16 2 predecessor Lorg/graalvm/compiler/graph/Node;
0 16 3 typeSwitch Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;
1 16 4 hub Lorg/graalvm/compiler/nodes/ValueNode;
3 15 5 loadHub Lorg/graalvm/compiler/nodes/extended/LoadHubNode;
4 15 6 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
5 13 7 i I
MethodParameters:
Name Flags
beginNode
predecessor
typeSwitch
private static void lambda$0(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.Runnable.run:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Runnable;
private static boolean lambda$1(org.graalvm.compiler.nodes.ConditionAnchorNode, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ConditionAnchorNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=3
start local 1 start local 2 0: iload 2
aload 0
invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.isNegated:()Z
if_icmpeq 5
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
2: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
3: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.extended.ValueAnchorNode
dup
aconst_null
invokespecial org.graalvm.compiler.nodes.extended.ValueAnchorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.ValueAnchorNode
astore 3
start local 3 6: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
7: aload 0
invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 3 8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 9 1 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 9 2 result Z
6 8 3 valueAnchor Lorg/graalvm/compiler/nodes/extended/ValueAnchorNode;
private static boolean lambda$2(org.graalvm.compiler.nodes.GuardNode, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/GuardNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=3
start local 1 start local 2 0: iload 2
aload 0
invokevirtual org.graalvm.compiler.nodes.GuardNode.isNegated:()Z
if_icmpeq 3
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GuardNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.GuardNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.DeoptimizeNode
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.GuardNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
aload 0
invokevirtual org.graalvm.compiler.nodes.GuardNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
aload 0
invokevirtual org.graalvm.compiler.nodes.GuardNode.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.DeoptimizeNode
astore 3
start local 3 4: aload 0
invokevirtual org.graalvm.compiler.nodes.GuardNode.getAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 4
start local 4 5: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 5
start local 5 6: aload 4
aload 3
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
7: aload 5
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 5 end local 4 end local 3 8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 9 1 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 9 2 result Z
4 8 3 deopt Lorg/graalvm/compiler/nodes/DeoptimizeNode;
5 8 4 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
6 8 5 next Lorg/graalvm/compiler/nodes/FixedNode;
private static boolean lambda$3(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=4, args_size=3
start local 1 start local 2 0: iload 2
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.isNegated:()Z
if_icmpeq 5
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
2: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
3: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
4: goto 9
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.DeoptimizeNode
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.DeoptimizeNode
astore 3
start local 3 6: aload 3
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
7: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
8: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 3 9: StackMap locals:
StackMap stack:
ldc "Kill fixed guard guard"
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;)V
10: iconst_1
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 11 1 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 11 2 result Z
6 9 3 deopt Lorg/graalvm/compiler/nodes/DeoptimizeNode;
private boolean lambda$4(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 2 start local 3 0: aload 1
iload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.getSuccessor:(Z)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 4
start local 4 1: aload 4
getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
aload 2
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
2: aload 4
aconst_null
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
3: aload 1
aload 4
invokevirtual org.graalvm.compiler.nodes.IfNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
4: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
5: aload 4
instanceof org.graalvm.compiler.nodes.BeginNode
ifeq 7
6: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.undoOperations:Ljava/util/List;
aload 4
invokedynamic run(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Ljava/lang/Runnable;
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:
()V
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$5(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V (6)
()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack:
ldc "Kill if"
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;)V
8: getstatic org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase.counterIfsKilled:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
9: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 10 2 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 10 3 result Z
1 10 4 survivingSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
private void lambda$6();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
private void lambda$7(org.graalvm.compiler.graph.NodeMap, java.util.Deque);
descriptor: (Lorg/graalvm/compiler/graph/NodeMap;Ljava/util/Deque;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
aload 1
putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
1: aload 0
getfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.this$1:Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
aload 2
putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
private java.lang.Iterable lambda$8(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 1 1 value Lorg/graalvm/compiler/nodes/ValueNode;
private static java.lang.Iterable lambda$9(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Iterable;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 2
aload 0
if_acmpne 1
aload 1
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
StackMap locals:
StackMap stack: java.util.Collection
2: areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 value Lorg/graalvm/compiler/nodes/ValueNode;
private static boolean lambda$10(org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=6, args_size=6
start local 4 start local 5 0: aload 0
aload 4
iload 5
invokeinterface org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer.rewire:(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
ifeq 3
1: aload 1
aload 2
aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.setCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Z)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.LogicNode.safeDelete:()V
4: iconst_0
ireturn
end local 5 end local 4 LocalVariableTable:
Start End Slot Name Signature
0 5 4 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 5 5 result Z
private boolean lambda$11(org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 3 start local 4 0: iload 4
aload 1
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.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame org.graalvm.compiler.nodes.ShortCircuitOrNode org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.ValueNode int
StackMap stack: int int
2: if_icmpne 4
3: aload 0
aload 3
iconst_1
aload 2
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getY:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
aload 3
aload 1
aload 2
invokedynamic rewire(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$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/ValueNode;Z)Z
org/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame.lambda$12(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z (7)
(Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 5 3 guard Lorg/graalvm/compiler/nodes/ValueNode;
0 5 4 result Z
private static void lambda$13(org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info);
descriptor: (Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info.popElement:()V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$5(org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.isAlive:()Z
ifeq 2
1: aload 0
checkcast org.graalvm.compiler.nodes.BeginNode
invokevirtual org.graalvm.compiler.nodes.BeginNode.trySimplify:()V
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
private boolean lambda$12(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 4 start local 5 0: aload 4
aload 1
if_acmpne 2
1: aload 0
aload 1
iload 5
aload 2
invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isYNegated:()Z
ixor
aload 3
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.rewireGuards:(Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$GuardRewirer;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;
0 3 4 innerGuard Lorg/graalvm/compiler/nodes/ValueNode;
0 3 5 innerResult Z
}
Signature: Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;>;
SourceFile: "DominatorConditionalEliminationPhase.java"
NestHost: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
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 And = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp$And of org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp
public abstract Or = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp$Or of org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp
public abstract EdgeVisitor = org.graalvm.compiler.graph.Node$EdgeVisitor of org.graalvm.compiler.graph.Node
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
protected abstract GuardRewirer = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardRewirer of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
private GuardedConstantStamp = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$GuardedConstantStamp of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
protected final Info = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
protected final InfoElement = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElement of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
protected abstract InfoElementProvider = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InfoElementProvider of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
InputFilter = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$InputFilter of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
public Instance = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
public InstanceFrame = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance
protected Pair = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Pair of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
protected PendingTest = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
public abstract Frame = org.graalvm.compiler.phases.common.LoweringPhase$Frame of org.graalvm.compiler.phases.common.LoweringPhase