Mercurial > hg > truffle
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.