Mercurial > hg > graal-jvmci-8
changeset 16806:47bf3ec2ca61
Use ValueConsumer in RedundantMoveElimination.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 13 Aug 2014 10:11:43 +0200 |
parents | 3df013ee6c96 |
children | 487a4204f83d |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java |
diffstat | 1 files changed, 7 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java Wed Aug 13 10:11:27 2014 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java Wed Aug 13 10:11:43 2014 +0200 @@ -362,16 +362,16 @@ /* * Value procedure for the instruction's output and temp values */ - class OutputValueProc extends ValueProcedure { + class OutputValueConsumer extends ValueConsumer { int opValueNum; - OutputValueProc(int opValueNum) { + OutputValueConsumer(int opValueNum) { this.opValueNum = opValueNum; } @Override - public Value doValue(Value operand, OperandMode mode, EnumSet<OperandFlag> flags) { + public void visitValue(Value operand, OperandMode mode, EnumSet<OperandFlag> flags) { int stateIdx = getStateIdx(operand); if (stateIdx >= 0) { /* @@ -380,19 +380,18 @@ state[stateIdx] = encodeValueNum(opValueNum++, !operand.getLIRKind().isValue()); Debug.log("set def %d for register %s(%d): %d", opValueNum, operand, stateIdx, state[stateIdx]); } - return operand; } } - OutputValueProc outputValueProc = new OutputValueProc(valueNum); + OutputValueConsumer outputValueConsumer = new OutputValueConsumer(valueNum); - op.forEachTemp(outputValueProc); + op.visitEachTemp(outputValueConsumer); /* * Semantically the output values are written _after_ the temp values */ - op.forEachOutput(outputValueProc); + op.visitEachOutput(outputValueConsumer); - valueNum = outputValueProc.opValueNum; + valueNum = outputValueConsumer.opValueNum; if (op.hasState()) { /*