# HG changeset patch # User Josef Eisl # Date 1407917487 -7200 # Node ID 3df013ee6c96db95edfb4c36aee2d684cfdea352 # Parent 1cba2ac4c0bb1f11aed97e6092d743028e3d2c99 Use ValueConsumer in HotSpotBackend. diff -r 1cba2ac4c0bb -r 3df013ee6c96 graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java --- a/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java Wed Aug 13 10:03:21 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java Wed Aug 13 10:11:27 2014 +0200 @@ -224,7 +224,7 @@ return kernel; } - static final class RegisterAnalysis extends ValueProcedure { + static final class RegisterAnalysis extends ValueConsumer { private final SortedSet signed32 = new TreeSet<>(); private final SortedSet signed64 = new TreeSet<>(); @@ -260,7 +260,7 @@ } @Override - public Value doValue(Value value, OperandMode mode, EnumSet flags) { + public void visitValue(Value value, OperandMode mode, EnumSet flags) { if (isVariable(value)) { Variable regVal = (Variable) value; Kind regKind = regVal.getKind(); @@ -309,7 +309,6 @@ } } } - return value; } } @@ -425,8 +424,8 @@ } // Record registers used in the kernel registerAnalysis.op = op; - op.forEachTemp(registerAnalysis); - op.forEachOutput(registerAnalysis); + op.visitEachTemp(registerAnalysis); + op.visitEachOutput(registerAnalysis); } } } diff -r 1cba2ac4c0bb -r 3df013ee6c96 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java Wed Aug 13 10:03:21 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java Wed Aug 13 10:11:27 2014 +0200 @@ -151,15 +151,14 @@ */ protected static Set gatherDefinedRegisters(LIR lir) { final Set definedRegisters = new HashSet<>(); - ValueProcedure defProc = new ValueProcedure() { + ValueConsumer defConsumer = new ValueConsumer() { @Override - public Value doValue(Value value) { + public void visitValue(Value value) { if (ValueUtil.isRegister(value)) { final Register reg = ValueUtil.asRegister(value); definedRegisters.add(reg); } - return value; } }; for (AbstractBlock block : lir.codeEmittingOrder()) { @@ -167,8 +166,8 @@ if (op instanceof LabelOp) { // Don't consider this as a definition } else { - op.forEachTemp(defProc); - op.forEachOutput(defProc); + op.visitEachTemp(defConsumer); + op.visitEachOutput(defConsumer); } } }