diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java index 5f8e94ac36b35e1a6a6da06082760d7b82e10413..a135756833ffea7d43c49a09d1c33abcd724d83f 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java @@ -107,12 +107,12 @@ public abstract class CastDoubleNode extends CastDoubleBaseNode { return (RAbstractDoubleVector) castWithReuse(RType.Double, operand, naProfile.getConditionProfile()); } - @Specialization + @Specialization(guards = "!isReusable(operand)") protected RDoubleVector doIntVector(RAbstractIntVector operand) { return createResultVector(operand, index -> naCheck.convertIntToDouble(operand.getDataAt(index))); } - @Specialization + @Specialization(guards = "!isReusable(operand)") protected RDoubleVector doLogicalVectorDims(RAbstractLogicalVector operand) { return createResultVector(operand, index -> naCheck.convertLogicalToDouble(operand.getDataAt(index))); } @@ -172,7 +172,7 @@ public abstract class CastDoubleNode extends CastDoubleBaseNode { return vectorCopy(operand, ddata, naCheck.neverSeenNA()); } - @Specialization + @Specialization(guards = "!isReusable(operand)") protected RDoubleVector doRawVector(RRawVector operand) { return createResultVector(operand, index -> RRuntime.raw2double(operand.getDataAt(index))); }