changeset 16800:a62a928287e4

Add LIRInstruction.visitEach{Input,Alive,Output,State}(InstructionValueConsumer).
author Josef Eisl <josef.eisl@jku.at>
date Tue, 12 Aug 2014 17:18:48 +0200
parents dc9f55fbbf38
children 067dbd8e7114
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java
diffstat 1 files changed, 24 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java	Tue Aug 12 16:59:07 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java	Tue Aug 12 17:18:48 2014 +0200
@@ -217,6 +217,7 @@
         return false;
     }
 
+    // ValuePositionProcedures
     public final void forEachInput(ValuePositionProcedure proc) {
         instructionClass.forEachUse(this, proc);
     }
@@ -233,6 +234,7 @@
         instructionClass.forEachDef(this, proc);
     }
 
+    // InstructionValueProcedures
     public final void forEachInput(InstructionValueProcedure proc) {
         instructionClass.forEachUse(this, proc);
     }
@@ -249,6 +251,7 @@
         instructionClass.forEachDef(this, proc);
     }
 
+    // States
     public final void forEachState(InstructionValueProcedure proc) {
         instructionClass.forEachState(this, proc);
     }
@@ -257,6 +260,27 @@
         instructionClass.forEachState(this, proc);
     }
 
+    // Consumers
+    public final void visitEachInput(InstructionValueConsumer proc) {
+        instructionClass.forEachUse(this, proc);
+    }
+
+    public final void visitEachAlive(InstructionValueConsumer proc) {
+        instructionClass.forEachAlive(this, proc);
+    }
+
+    public final void visitEachTemp(InstructionValueConsumer proc) {
+        instructionClass.forEachTemp(this, proc);
+    }
+
+    public final void visitEachOutput(InstructionValueConsumer proc) {
+        instructionClass.forEachDef(this, proc);
+    }
+
+    public final void visitEachState(InstructionValueConsumer proc) {
+        instructionClass.forEachState(this, proc);
+    }
+
     /**
      * Iterates all register hints for the specified value, i.e., all preferred candidates for the
      * register to be assigned to the value.