changeset 16805:3df013ee6c96

Use ValueConsumer in HotSpotBackend.
author Josef Eisl <josef.eisl@jku.at>
date Wed, 13 Aug 2014 10:11:27 +0200
parents 1cba2ac4c0bb
children 47bf3ec2ca61
files graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java
diffstat 2 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java	Wed Aug 13 10:03:21 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java	Wed Aug 13 10:11:27 2014 +0200
@@ -224,7 +224,7 @@
         return kernel;
     }
 
-    static final class RegisterAnalysis extends ValueProcedure {
+    static final class RegisterAnalysis extends ValueConsumer {
         private final SortedSet<Integer> signed32 = new TreeSet<>();
         private final SortedSet<Integer> signed64 = new TreeSet<>();
 
@@ -260,7 +260,7 @@
         }
 
         @Override
-        public Value doValue(Value value, OperandMode mode, EnumSet<OperandFlag> flags) {
+        public void visitValue(Value value, OperandMode mode, EnumSet<OperandFlag> flags) {
             if (isVariable(value)) {
                 Variable regVal = (Variable) value;
                 Kind regKind = regVal.getKind();
@@ -309,7 +309,6 @@
                     }
                 }
             }
-            return value;
         }
     }
 
@@ -425,8 +424,8 @@
                     }
                     // Record registers used in the kernel
                     registerAnalysis.op = op;
-                    op.forEachTemp(registerAnalysis);
-                    op.forEachOutput(registerAnalysis);
+                    op.visitEachTemp(registerAnalysis);
+                    op.visitEachOutput(registerAnalysis);
                 }
             }
         }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java	Wed Aug 13 10:03:21 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java	Wed Aug 13 10:11:27 2014 +0200
@@ -151,15 +151,14 @@
      */
     protected static Set<Register> gatherDefinedRegisters(LIR lir) {
         final Set<Register> definedRegisters = new HashSet<>();
-        ValueProcedure defProc = new ValueProcedure() {
+        ValueConsumer defConsumer = new ValueConsumer() {
 
             @Override
-            public Value doValue(Value value) {
+            public void visitValue(Value value) {
                 if (ValueUtil.isRegister(value)) {
                     final Register reg = ValueUtil.asRegister(value);
                     definedRegisters.add(reg);
                 }
-                return value;
             }
         };
         for (AbstractBlock<?> block : lir.codeEmittingOrder()) {
@@ -167,8 +166,8 @@
                 if (op instanceof LabelOp) {
                     // Don't consider this as a definition
                 } else {
-                    op.forEachTemp(defProc);
-                    op.forEachOutput(defProc);
+                    op.visitEachTemp(defConsumer);
+                    op.visitEachOutput(defConsumer);
                 }
             }
         }