src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ControlSplitNode.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ControlSplitNode.java

Print this page




  25 import org.graalvm.compiler.core.common.type.Stamp;
  26 import org.graalvm.compiler.graph.IterableNodeType;
  27 import org.graalvm.compiler.graph.NodeClass;
  28 import org.graalvm.compiler.nodeinfo.NodeInfo;
  29 
  30 /**
  31  * The {@code ControlSplitNode} is a base class for all instructions that split the control flow
  32  * (ie. have more than one successor).
  33  */
  34 @NodeInfo
  35 public abstract class ControlSplitNode extends FixedNode implements IterableNodeType {
  36     public static final NodeClass<ControlSplitNode> TYPE = NodeClass.create(ControlSplitNode.class);
  37 
  38     protected ControlSplitNode(NodeClass<? extends ControlSplitNode> c, Stamp stamp) {
  39         super(c, stamp);
  40     }
  41 
  42     public abstract double probability(AbstractBeginNode successor);
  43 
  44     /**






  45      * Primary successor of the control split. Data dependencies on the node have to be scheduled in
  46      * the primary successor.
  47      *
  48      * @return the primary successor
  49      */
  50     public abstract AbstractBeginNode getPrimarySuccessor();





  51 }


  25 import org.graalvm.compiler.core.common.type.Stamp;
  26 import org.graalvm.compiler.graph.IterableNodeType;
  27 import org.graalvm.compiler.graph.NodeClass;
  28 import org.graalvm.compiler.nodeinfo.NodeInfo;
  29 
  30 /**
  31  * The {@code ControlSplitNode} is a base class for all instructions that split the control flow
  32  * (ie. have more than one successor).
  33  */
  34 @NodeInfo
  35 public abstract class ControlSplitNode extends FixedNode implements IterableNodeType {
  36     public static final NodeClass<ControlSplitNode> TYPE = NodeClass.create(ControlSplitNode.class);
  37 
  38     protected ControlSplitNode(NodeClass<? extends ControlSplitNode> c, Stamp stamp) {
  39         super(c, stamp);
  40     }
  41 
  42     public abstract double probability(AbstractBeginNode successor);
  43 
  44     /**
  45      * Attempts to set the probability for the given successor to the passed value (which has to be
  46      * in the range of 0.0 and 1.0). Returns whether setting the probability was successful.
  47      */
  48     public abstract boolean setProbability(AbstractBeginNode successor, double value);
  49 
  50     /**
  51      * Primary successor of the control split. Data dependencies on the node have to be scheduled in
  52      * the primary successor.
  53      *
  54      * @return the primary successor
  55      */
  56     public abstract AbstractBeginNode getPrimarySuccessor();
  57 
  58     /**
  59      * Returns the number of successors.
  60      */
  61     public abstract int getSuccessorCount();
  62 }
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ControlSplitNode.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File