changeset 16552:f4c7b92a592f

remove ControlSplitNode.setProbability
author Lukas Stadler <lukas.stadler@oracle.com>
date Thu, 17 Jul 2014 14:27:57 +0200
parents 5cdca60d0f9f
children c9d3d0964adb
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java
diffstat 5 files changed, 5 insertions(+), 60 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java	Thu Jul 17 14:27:23 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java	Thu Jul 17 14:27:57 2014 +0200
@@ -36,6 +36,4 @@
     }
 
     public abstract double probability(BeginNode successor);
-
-    public abstract void setProbability(BeginNode successor, double value);
 }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java	Thu Jul 17 14:27:23 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java	Thu Jul 17 14:27:57 2014 +0200
@@ -121,12 +121,6 @@
     }
 
     @Override
-    public void setProbability(BeginNode successor, double value) {
-        assert successor == trueSuccessor || successor == falseSuccessor;
-        setTrueSuccessorProbability(successor == trueSuccessor ? value : 1 - value);
-    }
-
-    @Override
     public void generate(NodeLIRBuilderTool gen) {
         gen.emitIf(this);
     }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java	Thu Jul 17 14:27:23 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java	Thu Jul 17 14:27:57 2014 +0200
@@ -201,12 +201,6 @@
     }
 
     @Override
-    public void setProbability(BeginNode successor, double value) {
-        assert successor == next || successor == exceptionEdge;
-        this.exceptionProbability = successor == next ? 1 - value : value;
-    }
-
-    @Override
     public boolean canDeoptimize() {
         return true;
     }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java	Thu Jul 17 14:27:23 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java	Thu Jul 17 14:27:57 2014 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,8 +22,6 @@
  */
 package com.oracle.graal.nodes.extended;
 
-import java.util.*;
-
 import com.oracle.graal.api.meta.*;
 import com.oracle.graal.compiler.common.*;
 import com.oracle.graal.compiler.common.type.*;
@@ -37,12 +35,12 @@
 
     @Successor private final NodeSuccessorList<BeginNode> successors;
     @Input private ValueNode value;
-    private double[] keyProbabilities;
-    private int[] keySuccessors;
+    private final double[] keyProbabilities;
+    private final int[] keySuccessors;
 
     /**
      * Constructs a new Switch.
-     * 
+     *
      * @param value the instruction that provides the value to be switched over
      * @param successors the list of successors of this switch
      */
@@ -87,33 +85,6 @@
         return sum;
     }
 
-    @Override
-    public void setProbability(BeginNode successor, double value) {
-        double changeInProbability = 0;
-        int nonZeroProbabilityCases = 0;
-        for (int i = 0; i < keySuccessors.length; i++) {
-            if (successors.get(keySuccessors[i]) == successor) {
-                changeInProbability += keyProbabilities[i] - value;
-                keyProbabilities[i] = value;
-            } else if (keyProbabilities[i] > 0) {
-                nonZeroProbabilityCases++;
-            }
-        }
-
-        if (nonZeroProbabilityCases > 0) {
-            double changePerEntry = changeInProbability / nonZeroProbabilityCases;
-            if (changePerEntry != 0) {
-                for (int i = 0; i < keyProbabilities.length; i++) {
-                    if (keyProbabilities[i] > 0) {
-                        keyProbabilities[i] = keyProbabilities[i] + changePerEntry;
-                    }
-                }
-            }
-        }
-
-        assertProbabilities();
-    }
-
     public ValueNode value() {
         return value;
     }
@@ -172,7 +143,7 @@
 
     /**
      * Gets the successor corresponding to the default (fall through) case.
-     * 
+     *
      * @return the default successor
      */
     public BeginNode defaultSuccessor() {
@@ -181,11 +152,4 @@
         }
         return defaultSuccessorIndex() == -1 ? null : successors.get(defaultSuccessorIndex());
     }
-
-    @Override
-    public void afterClone(Node other) {
-        SwitchNode oldSwitch = (SwitchNode) other;
-        keyProbabilities = Arrays.copyOf(oldSwitch.keyProbabilities, oldSwitch.keyProbabilities.length);
-        keySuccessors = Arrays.copyOf(oldSwitch.keySuccessors, oldSwitch.keySuccessors.length);
-    }
 }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java	Thu Jul 17 14:27:23 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java	Thu Jul 17 14:27:57 2014 +0200
@@ -48,11 +48,6 @@
         return successor == next ? 1 : 0;
     }
 
-    @Override
-    public void setProbability(BeginNode successor, double value) {
-        assert probability(successor) == value;
-    }
-
     public BeginNode getNext() {
         return next;
     }