# HG changeset patch # User Josef Eisl # Date 1407856728 -7200 # Node ID a62a928287e469e942d6bbeb17cfdcdf3568908a # Parent dc9f55fbbf38fbc30460718d11154b265481b8fc Add LIRInstruction.visitEach{Input,Alive,Output,State}(InstructionValueConsumer). diff -r dc9f55fbbf38 -r a62a928287e4 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java --- 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.