# HG changeset patch # User Josef Eisl # Date 1424803516 -3600 # Node ID 54e696f67c86e74a039588aed88e5542aa3d6b5f # Parent a44de2ea5b61005fe56b78ff1d0a60b2ac1f644d constopt.DefUseTree: remove ValuePosition. diff -r a44de2ea5b61 -r 54e696f67c86 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Wed Feb 25 15:16:14 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Tue Feb 24 19:45:16 2015 +0100 @@ -195,14 +195,13 @@ } }; - ValuePositionProcedure useProcedure = (instruction, position) -> { - Value value = position.get(instruction); + InstructionValueConsumer useConsumer = (instruction, value, mode, flags) -> { if (isVariable(value)) { Variable var = (Variable) value; if (!phiConstants.get(var.index)) { DefUseTree tree = map.get(var); if (tree != null) { - tree.addUsage(block, instruction, position); + tree.addUsage(block, instruction, value); Debug.log("usage of %s : %s", var, instruction); } } @@ -214,8 +213,8 @@ // set instruction id to the index in the lir instruction list inst.setId(opId++); inst.visitEachOutput(loadConsumer); - inst.forEachInputPos(useProcedure); - inst.forEachAlivePos(useProcedure); + inst.forEachInput(useConsumer); + inst.forEachAlive(useConsumer); } } diff -r a44de2ea5b61 -r 54e696f67c86 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/DefUseTree.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/DefUseTree.java Wed Feb 25 15:16:14 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/DefUseTree.java Tue Feb 24 19:45:16 2015 +0100 @@ -66,8 +66,8 @@ return "DefUseTree [" + instruction + "|" + block + "," + uses + "]"; } - public void addUsage(AbstractBlockBase b, LIRInstruction inst, ValuePosition position) { - uses.add(new UseEntry(b, inst, position.get(inst))); + public void addUsage(AbstractBlockBase b, LIRInstruction inst, Value value) { + uses.add(new UseEntry(b, inst, value)); } public int usageCount() {