Mercurial > hg > truffle
changeset 16805:3df013ee6c96
Use ValueConsumer in HotSpotBackend.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 13 Aug 2014 10:11:27 +0200 |
parents | 1cba2ac4c0bb |
children | 47bf3ec2ca61 |
files | graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java |
diffstat | 2 files changed, 8 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- 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<Integer> signed32 = new TreeSet<>(); private final SortedSet<Integer> signed64 = new TreeSet<>(); @@ -260,7 +260,7 @@ } @Override - public Value doValue(Value value, OperandMode mode, EnumSet<OperandFlag> flags) { + public void visitValue(Value value, OperandMode mode, EnumSet<OperandFlag> 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); } } }
--- 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<Register> gatherDefinedRegisters(LIR lir) { final Set<Register> 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); } } }