changeset 22842:b86ec09ecca6

Remove unused interface StackStoreOp.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 15 Oct 2015 15:33:37 +0200
parents 7f197e28f502
children ae8a63a7aa9e
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/trace/TraceLinearScanLifetimeAnalysisPhase.java
diffstat 3 files changed, 0 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java	Fri Oct 16 00:18:47 2015 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java	Thu Oct 15 15:33:37 2015 +0200
@@ -35,7 +35,6 @@
 import jdk.vm.ci.code.Register;
 import jdk.vm.ci.code.RegisterSaveLayout;
 import jdk.vm.ci.code.StackSlot;
-import jdk.vm.ci.code.StackSlotValue;
 import jdk.vm.ci.common.JVMCIError;
 import jdk.vm.ci.meta.AllocatableValue;
 import jdk.vm.ci.meta.Constant;
@@ -314,19 +313,6 @@
     }
 
     /**
-     * An operation that takes one input and stores it in a stack slot as well as to an ordinary
-     * variable.
-     */
-    public interface StackStoreOp {
-
-        Value getInput();
-
-        AllocatableValue getResult();
-
-        StackSlotValue getStackSlot();
-    }
-
-    /**
      * A LIR operation that does nothing. If the operation records its position, it can be
      * subsequently {@linkplain #replace(LIR, LIRInstruction) replaced}.
      */
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java	Fri Oct 16 00:18:47 2015 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java	Thu Oct 15 15:33:37 2015 +0200
@@ -60,7 +60,6 @@
 import com.oracle.graal.lir.LIRInstruction.OperandFlag;
 import com.oracle.graal.lir.LIRInstruction.OperandMode;
 import com.oracle.graal.lir.StandardOp.LoadConstantOp;
-import com.oracle.graal.lir.StandardOp.StackStoreOp;
 import com.oracle.graal.lir.StandardOp.ValueMoveOp;
 import com.oracle.graal.lir.ValueConsumer;
 import com.oracle.graal.lir.alloc.lsra.Interval.RegisterPriority;
@@ -578,12 +577,6 @@
                 interval.setSpillSlot(slot);
                 interval.assignLocation(slot);
             }
-        } else if (op instanceof StackStoreOp) {
-            StackStoreOp store = (StackStoreOp) op;
-            StackSlot slot = asStackSlot(store.getStackSlot());
-            Interval interval = allocator.intervalFor(store.getResult());
-            interval.setSpillSlot(slot);
-            interval.setSpillState(SpillState.StartInMemory);
         }
     }
 
@@ -665,8 +658,6 @@
             if (optimizeMethodArgument(move.getInput())) {
                 return RegisterPriority.None;
             }
-        } else if (op instanceof StackStoreOp) {
-            return RegisterPriority.ShouldHaveRegister;
         }
 
         // all other operands require a register
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/trace/TraceLinearScanLifetimeAnalysisPhase.java	Fri Oct 16 00:18:47 2015 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/trace/TraceLinearScanLifetimeAnalysisPhase.java	Thu Oct 15 15:33:37 2015 +0200
@@ -40,7 +40,6 @@
 import jdk.vm.ci.code.BailoutException;
 import jdk.vm.ci.code.Register;
 import jdk.vm.ci.code.RegisterValue;
-import jdk.vm.ci.code.StackSlot;
 import jdk.vm.ci.code.TargetDescription;
 import jdk.vm.ci.meta.AllocatableValue;
 import jdk.vm.ci.meta.JavaConstant;
@@ -61,7 +60,6 @@
 import com.oracle.graal.lir.StandardOp.BlockEndOp;
 import com.oracle.graal.lir.StandardOp.LabelOp;
 import com.oracle.graal.lir.StandardOp.LoadConstantOp;
-import com.oracle.graal.lir.StandardOp.StackStoreOp;
 import com.oracle.graal.lir.StandardOp.ValueMoveOp;
 import com.oracle.graal.lir.ValueConsumer;
 import com.oracle.graal.lir.Variable;
@@ -323,21 +321,6 @@
             }
         }
 
-        /**
-         * Optimizes moves related to incoming stack based arguments. The interval for the
-         * destination of such moves is assigned the stack slot (which is in the caller's frame) as
-         * its spill slot.
-         */
-        private void handleMethodArguments(LIRInstruction op) {
-            if (op instanceof StackStoreOp) {
-                StackStoreOp store = (StackStoreOp) op;
-                StackSlot slot = asStackSlot(store.getStackSlot());
-                TraceInterval interval = allocator.intervalFor(store.getResult());
-                interval.setSpillSlot(slot);
-                interval.setSpillState(SpillState.StartInMemory);
-            }
-        }
-
         private void addRegisterHint(final LIRInstruction op, final Value targetValue, OperandMode mode, EnumSet<OperandFlag> flags, final boolean hintAtDef) {
             if (flags.contains(OperandFlag.HINT) && TraceLinearScan.isVariableOrRegister(targetValue)) {
 
@@ -443,8 +426,6 @@
                 if (optimizeMethodArgument(move.getInput())) {
                     return RegisterPriority.None;
                 }
-            } else if (op instanceof StackStoreOp) {
-                return RegisterPriority.ShouldHaveRegister;
             }
 
             // all other operands require a register
@@ -558,10 +539,6 @@
                                  * would be in a register at the call otherwise).
                                  */
                                 op.visitEachState(stateProc);
-
-                                // special steps for some instructions (especially moves)
-                                handleMethodArguments(op);
-
                             }
 
                         } // end of instruction iteration