# HG changeset patch # User Gilles Duboscq # Date 1306847948 -7200 # Node ID caf55daa41dcf1b06988017924630c29ce4fd9e4 # Parent 775c31be565cdf6d15dfdd823f1150a1dcb94024 Fixed/FLoating Node diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/oracle/max/graal/schedule/Schedule.java --- 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) { diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java --- 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(); } diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java --- 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. diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/ArrayLength.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/Constant.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/Convert.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/Instruction.java --- 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() { diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/Local.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/NegateOp.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/Op2.java --- 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; diff -r 775c31be565c -r caf55daa41dc graal/GraalCompiler/src/com/sun/c1x/ir/Phi.java --- 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;