# HG changeset patch # User Josef Eisl # Date 1395755857 -3600 # Node ID 6c50d8a6d394a16df5a297b86223a60556ac9ae9 # Parent dbe762fc0eb1e09a6e52379be44db708e87896ea Split up ArithmeticLIRGenerator interface. diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -80,7 +80,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitAnd(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -64,7 +64,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { Value op1 = gen.operand(x()); Value op2 = gen.operand(y()); if (!y().isConstant() && !livesLonger(this, y(), gen)) { @@ -75,7 +75,7 @@ gen.setResult(this, gen.emitAdd(op1, op2)); } - public static boolean livesLonger(ValueNode after, ValueNode value, ArithmeticLIRGenerator gen) { + public static boolean livesLonger(ValueNode after, ValueNode value, NodeMappableArithmeticLIRGenerator gen) { for (Node usage : value.usages()) { if (usage != after && usage instanceof ValueNode && gen.operand(((ValueNode) usage)) != null) { return true; diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -191,7 +191,7 @@ tool.getLowerer().lower(this, tool); } - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitFloatConvert(op, gen.operand(getInput()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -56,7 +56,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitDiv(gen.operand(x()), gen.operand(y()), null)); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -59,7 +59,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { Value op1 = gen.operand(x()); Value op2 = gen.operand(y()); if (!y().isConstant() && !FloatAddNode.livesLonger(this, y(), gen)) { diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -56,7 +56,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitRem(gen.operand(x()), gen.operand(y()), null)); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -75,7 +75,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitSub(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -91,7 +91,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { Value op1 = gen.operand(x()); assert op1 != null : x() + ", this=" + this; Value op2 = gen.operand(y()); diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerMulNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerMulNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerMulNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -74,7 +74,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { Value op1 = gen.operand(x()); Value op2 = gen.operand(y()); if (!y().isConstant() && !FloatAddNode.livesLonger(this, y(), gen)) { diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -114,7 +114,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitSub(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -98,7 +98,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitShl(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -109,7 +109,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitNarrow(gen.operand(getInput()), getResultBits())); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -88,7 +88,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitNegate(gen.operand(x()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -73,7 +73,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitNot(gen.operand(x()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -72,7 +72,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitOr(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -101,7 +101,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { PlatformKind kind = gen.getPlatformKind(stamp()); gen.setResult(this, gen.emitReinterpret(kind, gen.operand(value()))); } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -104,7 +104,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitShr(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -104,7 +104,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitSignExtend(gen.operand(getInput()), getInputBits(), getResultBits())); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -98,7 +98,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitUShr(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -71,7 +71,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitXor(gen.operand(x()), gen.operand(y()))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -84,7 +84,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitZeroExtend(gen.operand(getInput()), getInputBits(), getResultBits())); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArithmeticLIRGenerator.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArithmeticLIRGenerator.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArithmeticLIRGenerator.java Tue Mar 25 14:57:37 2014 +0100 @@ -28,15 +28,13 @@ import com.oracle.graal.nodes.type.*; /** - * This interface can be used to generate LIR for arithmetic operations (@see - * ArithmeticLIRLowerable). + * This interface can be used to generate LIR for arithmetic operations. */ public interface ArithmeticLIRGenerator { - Value operand(ValueNode object); - - Value setResult(ValueNode x, Value operand); - + /** + * TODO remove reference to {@link Stamp}. + */ PlatformKind getPlatformKind(Stamp stamp); Value emitNegate(Value input); @@ -47,12 +45,24 @@ Value emitMul(Value a, Value b); + /** + * TODO remove {@link DeoptimizeNode} + */ Value emitDiv(Value a, Value b, DeoptimizingNode deopting); + /** + * TODO remove {@link DeoptimizeNode} + */ Value emitRem(Value a, Value b, DeoptimizingNode deopting); + /** + * TODO remove {@link DeoptimizeNode} + */ Value emitUDiv(Value a, Value b, DeoptimizingNode deopting); + /** + * TODO remove {@link DeoptimizeNode} + */ Value emitURem(Value a, Value b, DeoptimizingNode deopting); Value emitNot(Value input); diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArithmeticLIRLowerable.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArithmeticLIRLowerable.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArithmeticLIRLowerable.java Tue Mar 25 14:57:37 2014 +0100 @@ -26,5 +26,5 @@ public interface ArithmeticLIRLowerable extends ArithmeticOperation { - void generate(ArithmeticLIRGenerator gen); + void generate(NodeMappableArithmeticLIRGenerator gen); } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Tue Mar 25 14:57:37 2014 +0100 @@ -29,7 +29,7 @@ import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; -public interface LIRGeneratorTool extends ArithmeticLIRGenerator { +public interface LIRGeneratorTool extends NodeMappableArithmeticLIRGenerator { TargetDescription target(); diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/NodeMappableArithmeticLIRGenerator.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/NodeMappableArithmeticLIRGenerator.java Tue Mar 25 14:57:37 2014 +0100 @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package com.oracle.graal.nodes.spi; + +/** + * This interface can be used to generate LIR for arithmetic operations (@see + * ArithmeticLIRLowerable). + */ +public interface NodeMappableArithmeticLIRGenerator extends ArithmeticLIRGenerator, NodeMappableLIRGenerator { +} diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/NodeMappableLIRGenerator.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/NodeMappableLIRGenerator.java Tue Mar 25 14:57:37 2014 +0100 @@ -0,0 +1,12 @@ +package com.oracle.graal.nodes.spi; + +import com.oracle.graal.api.meta.*; +import com.oracle.graal.nodes.*; + +public interface NodeMappableLIRGenerator { + + Value operand(ValueNode object); + + Value setResult(ValueNode x, Value operand); + +} \ No newline at end of file diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java --- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -51,7 +51,7 @@ throw GraalInternalError.shouldNotReachHere(); } - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { gen.setResult(this, gen.emitFloatConvert(op, gen.operand(value))); } } diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java --- a/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -33,7 +33,7 @@ import com.oracle.graal.nodes.calc.FloatingNode; import com.oracle.graal.nodes.ConstantNode; import com.oracle.graal.nodes.ValueNode; -import com.oracle.graal.nodes.spi.ArithmeticLIRGenerator; +import com.oracle.graal.nodes.spi.NodeMappableArithmeticLIRGenerator; import com.oracle.graal.nodes.spi.ArithmeticLIRLowerable; import com.oracle.graal.nodes.type.StampFactory; @@ -86,7 +86,7 @@ * Generates the LIR instructions for the math operation represented by this node. */ @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { Value input = gen.operand(getParameter()); Value result; switch (operation()) { diff -r dbe762fc0eb1 -r 6c50d8a6d394 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Mon Mar 24 13:56:56 2014 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Tue Mar 25 14:57:37 2014 +0100 @@ -55,7 +55,7 @@ } @Override - public void generate(ArithmeticLIRGenerator gen) { + public void generate(NodeMappableArithmeticLIRGenerator gen) { Value input = gen.operand(x()); Value result; switch (operation()) {