Mercurial > hg > truffle
diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java @ 17419:83c3dd41ca64
Simplify ArithmeticOpTable implementation and make it type safe.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Mon, 13 Oct 2014 16:50:01 +0200 |
parents | 393fe459eadc |
children | 45b45f902bed |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Mon Oct 13 15:36:11 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Mon Oct 13 16:50:01 2014 +0200 @@ -23,6 +23,8 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.compiler.common.type.ArithmeticOpTable.IntegerConvertOp.Narrow; +import com.oracle.graal.compiler.common.type.ArithmeticOpTable.IntegerConvertOp.SignExtend; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodeinfo.*; @@ -33,7 +35,7 @@ * The {@code NarrowNode} converts an integer to a narrower integer. */ @NodeInfo -public class NarrowNode extends IntegerConvertNode { +public class NarrowNode extends IntegerConvertNode<Narrow, SignExtend> { public static NarrowNode create(ValueNode input, int resultBits) { return USE_GENERATED_NODES ? new NarrowNodeGen(input, resultBits) : new NarrowNode(input, resultBits); @@ -62,7 +64,7 @@ return NarrowNode.create(other.getValue(), getResultBits()); } else if (forValue instanceof IntegerConvertNode) { // SignExtendNode or ZeroExtendNode - IntegerConvertNode other = (IntegerConvertNode) forValue; + IntegerConvertNode<?, ?> other = (IntegerConvertNode<?, ?>) forValue; if (getResultBits() == other.getInputBits()) { // xxxx -(extend)-> yyyy xxxx -(narrow)-> xxxx // ==> no-op