Lines Matching defs:current
86 FixedNode current = findBegin(node);
87 if (current == null) {
92 assert current instanceof AbstractBeginNode;
93 Double cachedValue = cache.get(current);
99 if (current.predecessor() == null) {
100 if (current instanceof AbstractMergeNode) {
101 probability = handleMerge(current, probability);
103 assert current instanceof StartNode;
107 ControlSplitNode split = (ControlSplitNode) current.predecessor();
108 probability = split.probability((AbstractBeginNode) current) * applyAsDouble(split);
110 assert !Double.isNaN(probability) && !Double.isInfinite(probability) : current + " " + probability;
111 cache.put(current, probability);
115 private double handleMerge(FixedNode current, double probability) {
117 AbstractMergeNode currentMerge = (AbstractMergeNode) current;
126 if (current instanceof LoopBeginNode) {
127 result *= ((LoopBeginNode) current).loopFrequency();
133 FixedNode current = node;
135 assert current != null;
136 Node predecessor = current.predecessor();
137 if (current instanceof AbstractBeginNode) {
141 assert predecessor instanceof ControlSplitNode : "a FixedNode with multiple successors needs to be a ControlSplitNode: " + current + " / " + predecessor;
145 current = null;
148 current = (FixedNode) predecessor;
150 return current;