changeset 2847:caf55daa41dc

Fixed/FLoating Node
author Gilles Duboscq <gilles.duboscq@oracle.com>
date Tue, 31 May 2011 15:19:08 +0200
parents 775c31be565c
children c061a6be3728
files graal/GraalCompiler/src/com/oracle/max/graal/schedule/Schedule.java graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java graal/GraalCompiler/src/com/sun/c1x/ir/ArrayLength.java graal/GraalCompiler/src/com/sun/c1x/ir/Constant.java graal/GraalCompiler/src/com/sun/c1x/ir/Convert.java graal/GraalCompiler/src/com/sun/c1x/ir/Instruction.java graal/GraalCompiler/src/com/sun/c1x/ir/Local.java graal/GraalCompiler/src/com/sun/c1x/ir/NegateOp.java graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java graal/GraalCompiler/src/com/sun/c1x/ir/Op2.java graal/GraalCompiler/src/com/sun/c1x/ir/Phi.java
diffstat 12 files changed, 16 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/oracle/max/graal/schedule/Schedule.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/oracle/max/graal/schedule/Schedule.java	Tue May 31 15:19:08 2011 +0200
@@ -82,7 +82,7 @@
     }
 
     private static boolean isCFG(Node n) {
-        return n != null && ((n instanceof Instruction) || n == n.graph().start());
+        return n != null && ((n instanceof FixedNode) || n == n.graph().start());
     }
 
     public static boolean isBlockEnd(Node n) {
--- a/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java	Tue May 31 15:19:08 2011 +0200
@@ -42,7 +42,6 @@
 import com.sun.c1x.lir.*;
 import com.sun.c1x.util.*;
 import com.sun.c1x.value.*;
-import com.sun.cri.bytecode.*;
 import com.sun.cri.bytecode.Bytecodes.MemoryBarriers;
 import com.sun.cri.ci.*;
 import com.sun.cri.ri.*;
@@ -1408,7 +1407,7 @@
     protected void preGCWriteBarrier(CiValue addrOpr, boolean patch, LIRDebugInfo info) {
     }
 
-    protected void setNoResult(Instruction x) {
+    protected void setNoResult(Value x) {
         x.clearOperand();
     }
 
--- a/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java	Tue May 31 15:19:08 2011 +0200
@@ -29,17 +29,18 @@
 import java.util.*;
 
 import com.oracle.graal.graph.*;
-import com.oracle.max.graal.schedule.Schedule;
+import com.oracle.max.graal.schedule.*;
 import com.sun.c1x.*;
 import com.sun.c1x.debug.*;
-import com.sun.c1x.graph.BlockMap.*;
+import com.sun.c1x.graph.BlockMap.Block;
+import com.sun.c1x.graph.BlockMap.ExceptionBlock;
 import com.sun.c1x.ir.*;
 import com.sun.c1x.util.*;
 import com.sun.c1x.value.*;
 import com.sun.cri.bytecode.*;
 import com.sun.cri.ci.*;
 import com.sun.cri.ri.*;
-import com.sun.cri.ri.RiType.*;
+import com.sun.cri.ri.RiType.Representation;
 
 /**
  * The {@code GraphBuilder} class parses the bytecode of a method and builds the IR graph.
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/ArrayLength.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/ArrayLength.java	Tue May 31 15:19:08 2011 +0200
@@ -31,7 +31,7 @@
 /**
  * The {@code ArrayLength} instruction gets the length of an array.
  */
-public final class ArrayLength extends Value {
+public final class ArrayLength extends FloatingNode {
 
     private static final int INPUT_COUNT = 1;
     private static final int INPUT_ARRAY = 0;
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Constant.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Constant.java	Tue May 31 15:19:08 2011 +0200
@@ -33,7 +33,7 @@
  * The {@code Constant} instruction represents a constant such as an integer value,
  * long, float, object reference, address, etc.
  */
-public final class Constant extends Value {
+public final class Constant extends FloatingNode {
 
     private static final int INPUT_COUNT = 0;
     private static final int SUCCESSOR_COUNT = 0;
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Convert.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Convert.java	Tue May 31 15:19:08 2011 +0200
@@ -31,7 +31,7 @@
 /**
  * The {@code Convert} class represents a conversion between primitive types.
  */
-public final class Convert extends Value {
+public final class Convert extends FloatingNode {
 
     private static final int INPUT_COUNT = 1;
     private static final int INPUT_VALUE = 0;
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Instruction.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Instruction.java	Tue May 31 15:19:08 2011 +0200
@@ -41,7 +41,7 @@
  * Instruction nodes are chained together in a basic block through the embedded
  * {@link Instruction#next} field. An Instruction may also have a list of {@link ExceptionHandler}s.
  */
-public abstract class Instruction extends Value {
+public abstract class Instruction extends FixedNode {
 
     private static final int INPUT_COUNT = 0;
 
@@ -111,8 +111,7 @@
     }
 
     /**
-     * Gets the state after the instruction, if it is recorded. Typically only
-     * instances of {@link BlockEnd} have a non-null state after.
+     * Gets the state after the instruction, if it is recorded.
      * @return the state after the instruction
      */
     public FrameState stateAfter() {
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Local.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Local.java	Tue May 31 15:19:08 2011 +0200
@@ -31,7 +31,7 @@
  * The {@code Local} instruction is a placeholder for an incoming argument
  * to a function call.
  */
-public final class Local extends Value {
+public final class Local extends FloatingNode {
 
     private static final int INPUT_COUNT = 1;
 
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/NegateOp.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/NegateOp.java	Tue May 31 15:19:08 2011 +0200
@@ -31,7 +31,7 @@
 /**
  * The {@code NegateOp} instruction negates its operand.
  */
-public final class NegateOp extends Value {
+public final class NegateOp extends FloatingNode {
 
     private static final int INPUT_COUNT = 2;
     private static final int INPUT_X = 0;
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java	Tue May 31 15:19:08 2011 +0200
@@ -30,7 +30,7 @@
 /**
  * The {@code NewInstance} instruction represents the allocation of an instance class object.
  */
-public final class NewInstance extends Value {
+public final class NewInstance extends FloatingNode {
 
     private static final int INPUT_COUNT = 0;
     private static final int SUCCESSOR_COUNT = 0;
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Op2.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Op2.java	Tue May 31 15:19:08 2011 +0200
@@ -30,7 +30,7 @@
 /**
  * The {@code Op2} class is the base of arithmetic and logic operations with two inputs.
  */
-public abstract class Op2 extends Value {
+public abstract class Op2 extends FloatingNode {
 
     private static final int INPUT_COUNT = 2;
     private static final int INPUT_X = 0;
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Phi.java	Tue May 31 11:50:19 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Phi.java	Tue May 31 15:19:08 2011 +0200
@@ -30,7 +30,7 @@
  * The {@code Phi} instruction represents the merging of dataflow
  * in the instruction graph. It refers to a join block and a variable.
  */
-public final class Phi extends Value {
+public final class Phi extends FixedNode {
 
     private static final int DEFAULT_MAX_VALUES = 2;