diff graal/GraalCompiler/src/com/sun/c1x/ir/Shift.java @ 2865:7a4e6e11877f

Subclasses for Shift
author Gilles Duboscq <gilles.duboscq@oracle.com>
date Tue, 07 Jun 2011 19:06:20 +0200
parents c6bdec623ef9
children
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Shift.java	Tue Jun 07 17:05:13 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Shift.java	Tue Jun 07 19:06:20 2011 +0200
@@ -24,13 +24,12 @@
 
 import com.oracle.graal.graph.*;
 import com.sun.c1x.debug.*;
-import com.sun.cri.bytecode.*;
 import com.sun.cri.ci.*;
 
 /**
  * The {@code ShiftOp} class represents shift operations.
  */
-public final class Shift extends Binary {
+public abstract class Shift extends Binary {
 
     private static final int INPUT_COUNT = 0;
     private static final int SUCCESSOR_COUNT = 0;
@@ -41,12 +40,8 @@
      * @param x the first input value
      * @param y the second input value
      */
-    public Shift(int opcode, Value x, Value y, Graph graph) {
-        super(x.kind, opcode, x, y, INPUT_COUNT, SUCCESSOR_COUNT, graph);
-    }
-
-    private Shift(CiKind kind, int opcode, Graph graph) {
-        super(kind, opcode, null, null, INPUT_COUNT, SUCCESSOR_COUNT, graph);
+    public Shift(CiKind kind, int opcode, Value x, Value y, Graph graph) {
+        super(kind, opcode, x, y, INPUT_COUNT, SUCCESSOR_COUNT, graph);
     }
 
     @Override
@@ -56,12 +51,9 @@
 
     @Override
     public void print(LogStream out) {
-        out.print(x()).print(' ').print(Bytecodes.operator(opcode)).print(' ').print(y());
+        out.print(x()).print(' ').print(this.shortName()).print(' ').print(y());
     }
 
     @Override
-    public Node copy(Graph into) {
-        Shift x = new Shift(kind, opcode, into);
-        return x;
-    }
+    public abstract String shortName();
 }