public class org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.phases.tiers.PhaseContext>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase
super_class: org.graalvm.compiler.phases.BasePhase
{
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/PropagateDeoptimizeProbabilityPhase;
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.PropagateDeoptimizeProbabilityPhase.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/PropagateDeoptimizeProbabilityPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
ifeq 1
new java.lang.AssertionError
dup
ldc "ConvertDeoptimizeToGuardPhase always creates proxies"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getstatic org.graalvm.compiler.nodes.AbstractDeoptimizeNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasNode:(Lorg/graalvm/compiler/graph/NodeClass;)Z
ifeq 45
2: new org.graalvm.compiler.graph.NodeStack
dup
invokespecial org.graalvm.compiler.graph.NodeStack.<init>:()V
astore 3
start local 3 3: invokestatic org.graalvm.util.EconomicMap.create:()Lorg/graalvm/util/EconomicMap;
astore 4
start local 4 4: aload 1
getstatic org.graalvm.compiler.nodes.AbstractDeoptimizeNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 33
StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractDeoptimizeNode
astore 5
start local 5 6: aload 3
aload 5
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
7: goto 32
8: StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.AbstractDeoptimizeNode java.util.Iterator
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 7
start local 7 9: aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 8
start local 8 10: aload 8
ifnull 32
11: aload 8
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 19
12: aload 8
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 9
start local 9 13: aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 11
goto 17
StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.AbstractDeoptimizeNode java.util.Iterator org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
StackMap stack:
14: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 10
start local 10 15: aload 10
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 12
start local 12 16: aload 3
aload 12
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
end local 12 end local 10 17: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 9 18: goto 32
StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.AbstractDeoptimizeNode java.util.Iterator org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
19: aload 8
instanceof org.graalvm.compiler.nodes.ControlSplitNode
ifeq 31
20: aload 8
checkcast org.graalvm.compiler.nodes.ControlSplitNode
astore 9
start local 9 21: aload 4
aload 9
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.util.EconomicSet
astore 10
start local 10 22: aload 10
ifnonnull 25
23: invokestatic org.graalvm.util.EconomicSet.create:()Lorg/graalvm/util/EconomicSet;
astore 10
24: aload 4
aload 9
aload 10
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: StackMap locals: org.graalvm.compiler.nodes.ControlSplitNode org.graalvm.util.EconomicSet
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.getSuccessorCount:()I
aload 10
invokeinterface org.graalvm.util.EconomicSet.size:()I
iconst_1
isub
if_icmpne 29
26: aload 4
aload 9
invokeinterface org.graalvm.util.EconomicMap.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 3
aload 9
invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
28: goto 32
29: StackMap locals:
StackMap stack:
aload 10
aload 7
invokeinterface org.graalvm.util.EconomicSet.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 30: goto 32
31: StackMap locals:
StackMap stack:
aload 3
aload 8
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 end local 7 32: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.graph.NodeStack.isEmpty:()Z
ifeq 8
end local 5 33: StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
34: aload 4
invokeinterface org.graalvm.util.EconomicMap.getEntries:()Lorg/graalvm/util/MapCursor;
astore 5
start local 5 35: goto 44
36: StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap org.graalvm.util.MapCursor
StackMap stack:
aload 5
invokeinterface org.graalvm.util.MapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ControlSplitNode
astore 6
start local 6 37: aload 5
invokeinterface org.graalvm.util.MapCursor.getValue:()Ljava/lang/Object;
checkcast org.graalvm.util.EconomicSet
astore 7
start local 7 38: aload 7
invokeinterface org.graalvm.util.EconomicSet.iterator:()Ljava/util/Iterator;
astore 9
goto 43
StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap org.graalvm.util.MapCursor org.graalvm.compiler.nodes.ControlSplitNode org.graalvm.util.EconomicSet top java.util.Iterator
StackMap stack:
39: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 8
start local 8 40: aload 6
aload 8
invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
dstore 10
start local 10 41: dload 10
dconst_0
dcmpl
ifeq 43
42: aload 6
aload 8
dconst_0
invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.setProbability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)Z
pop
end local 10 end local 8 43: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
end local 7 end local 6 44: StackMap locals: org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.graph.NodeStack org.graalvm.util.EconomicMap org.graalvm.util.MapCursor
StackMap stack:
aload 5
invokeinterface org.graalvm.util.MapCursor.advance:()Z
ifne 36
end local 5 end local 4 end local 3 45: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/graalvm/compiler/phases/common/PropagateDeoptimizeProbabilityPhase;
0 46 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 46 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
3 45 3 stack Lorg/graalvm/compiler/graph/NodeStack;
4 45 4 reachableSplits Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;>;
6 33 5 d Lorg/graalvm/compiler/nodes/AbstractDeoptimizeNode;
9 32 7 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
10 32 8 fixedNode Lorg/graalvm/compiler/nodes/FixedNode;
13 18 9 mergeNode Lorg/graalvm/compiler/nodes/AbstractMergeNode;
15 17 10 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
16 17 12 newBeginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
21 30 9 controlSplitNode Lorg/graalvm/compiler/nodes/ControlSplitNode;
22 30 10 reachableSuccessors Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
35 45 5 entries Lorg/graalvm/util/MapCursor<Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;>;
37 44 6 controlSplitNode Lorg/graalvm/compiler/nodes/ControlSplitNode;
38 44 7 value Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
40 43 8 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
41 43 10 probability D
MethodParameters:
Name Flags
graph final
context
protected void run(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.phases.tiers.PhaseContext
invokevirtual org.graalvm.compiler.phases.common.PropagateDeoptimizeProbabilityPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
SourceFile: "PropagateDeoptimizeProbabilityPhase.java"