diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java index 77f3c42c9f435014999682b20e0e5792010fa625..b48a1b574a0d8b2df50626011dee0964e5ed8cf0 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java @@ -1023,7 +1023,7 @@ public abstract class Unlist extends RBuiltinNode.Arg3 { private static int unlistValueInt(Object dataAtAsObject) { if (dataAtAsObject instanceof RRaw) { RRaw rRaw = (RRaw) dataAtAsObject; - return RRuntime.raw2int(rRaw); + return RRuntime.raw2int(rRaw.getValue()); } else if (dataAtAsObject instanceof Byte) { return RRuntime.logical2int((byte) dataAtAsObject); } else { @@ -1034,7 +1034,7 @@ public abstract class Unlist extends RBuiltinNode.Arg3 { private static byte unlistValueLogical(Object dataAtAsObject) { if (dataAtAsObject instanceof RRaw) { RRaw rRaw = (RRaw) dataAtAsObject; - return RRuntime.raw2logical(rRaw); + return RRuntime.raw2logical(rRaw.getValue()); } else { return (byte) dataAtAsObject; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleBaseNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleBaseNode.java index 15a9514d39ce31cb0f683a2a18472e2e6b626c5b..95fd1191fcdbcd6e966d315ee6365ca154958f89 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleBaseNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleBaseNode.java @@ -113,6 +113,6 @@ public abstract class CastDoubleBaseNode extends CastBaseNode { @Specialization protected double doRaw(RRaw operand) { - return RRuntime.raw2double(operand); + return RRuntime.raw2double(operand.getValue()); } } 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 485dbd68f372bef7a211e6adaa31ed2049a254a9..ef5078d262fe5c861850108a366bd2f55e6c0f4b 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 @@ -119,7 +119,7 @@ public abstract class CastDoubleNode extends CastDoubleBaseNode { if (useClosure()) { return (RAbstractDoubleVector) castWithReuse(RType.Double, operand, naProfile.getConditionProfile()); } - return createResultVector(operand, index -> RRuntime.raw2double(operand.getDataAt(index))); + return createResultVector(operand, index -> RRuntime.raw2double(operand.getRawDataAt(index))); } @Specialization diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerBaseNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerBaseNode.java index f2239927848c6102bf34bd31802ae2bd9f7656e6..e339bbce6d11c5a80aefb5fc9c7453ab7eba9f80 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerBaseNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerBaseNode.java @@ -115,6 +115,6 @@ public abstract class CastIntegerBaseNode extends CastBaseNode { @Specialization protected int doRaw(RRaw operand) { - return RRuntime.raw2int(operand); + return RRuntime.raw2int(operand.getValue()); } } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java index 132ddaa3f206dc4287774c7ddb79db2e0aabb203..5e80bbdf7b648c4ae75a2b936c80ff240c27dc11 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java @@ -187,7 +187,7 @@ public abstract class CastIntegerNode extends CastIntegerBaseNode { if (useClosure()) { return (RAbstractIntVector) castWithReuse(RType.Integer, operand, naProfile.getConditionProfile()); } - return createResultVector(operand, index -> RRuntime.raw2int(operand.getDataAt(index))); + return createResultVector(operand, index -> RRuntime.raw2int(operand.getRawDataAt(index))); } @Specialization diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalBaseNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalBaseNode.java index a01f4bdf4da8befd7a329a43ad79d321ac821dbf..ac3430fad11e70ccea31490611d08f9afc9fbc58 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalBaseNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalBaseNode.java @@ -77,6 +77,6 @@ public abstract class CastLogicalBaseNode extends CastBaseNode { @Specialization protected byte doRaw(RRaw operand) { - return RRuntime.raw2logical(operand); + return RRuntime.raw2logical(operand.getValue()); } } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java index be9c6edda8ea98621c62b4b43e6256f6ac5bcf6d..1d734075f147b55cb99371fe8d2405b1568f6870 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java @@ -144,7 +144,7 @@ public abstract class CastLogicalNode extends CastLogicalBaseNode { @Specialization protected RLogicalVector doRawVectorDims(RRawVector operand) { - return createResultVector(operand, index -> RRuntime.raw2logical(operand.getDataAt(index))); + return createResultVector(operand, index -> RRuntime.raw2logical(operand.getRawDataAt(index))); } @Specialization diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java index 29b41d3297e18ed9810fa9a551895735ed04ecef..098e7e4264a4faef4d1161f1bd1d8f88d288ddff 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java @@ -117,7 +117,7 @@ public abstract class ConvertBooleanNode extends RNode { @Specialization protected byte doRaw(RRaw value) { - return RRuntime.raw2logical(value); + return RRuntime.raw2logical(value.getValue()); } private void checkLength(RAbstractVector value) { diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FirstBooleanNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FirstBooleanNode.java index ef815934332625b14ffc8d617b111766db7a9c61..0f79c7a4d6bc1e22801feddcb7f9add2252820d9 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FirstBooleanNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FirstBooleanNode.java @@ -98,7 +98,7 @@ public abstract class FirstBooleanNode extends CastNode { @Specialization protected boolean firstVector(RAbstractRawVector argument) { checkLength(argument); - return firstScalar(RRuntime.raw2logical(argument.getDataAt(0))); + return firstScalar(RRuntime.raw2logical(argument.getRawDataAt(0))); } @Fallback diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java index 7e6238657bea5a96785727a90e211156e27b75de..d3965fab24e62015dbb1b7fe3377b7ca5df88c39 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java @@ -332,23 +332,19 @@ public class RRuntime { // conversions from raw - public static byte raw2logical(RRaw value) { - return value.getValue() == 0 ? LOGICAL_FALSE : LOGICAL_TRUE; - } - - public static int raw2int(RRaw value) { - return raw2int(value.getValue()); + public static byte raw2logical(byte value) { + return value == 0 ? LOGICAL_FALSE : LOGICAL_TRUE; } public static int raw2int(byte value) { return value & 0xFF; } - public static double raw2double(RRaw value) { - return int2double(value.getValue() & 0xFF); + public static double raw2double(byte value) { + return int2double(value & 0xFF); } - public static RComplex raw2complex(RRaw r) { + public static RComplex raw2complex(byte r) { return int2complex(raw2int(r)); } @@ -357,7 +353,7 @@ public class RRuntime { } @TruffleBoundary - public static String rawToString(RRaw operand) { + public static String rawToString(byte operand) { return intToString(raw2int(operand)); } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRaw.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRaw.java index b88afcc338f6d90911ef2b781574012345ee81fb..14e0d01fb12cd7f0d54a21ff0668c35526da1aaa 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRaw.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRaw.java @@ -56,7 +56,7 @@ public final class RRaw extends RScalarVector implements RAbstractRawVector { case Complex: return RComplex.valueOf(value, 0.0); case Character: - return RString.valueOf(RRuntime.rawToString(this)); + return RString.valueOf(RRuntime.rawToString(value)); default: return null; } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRawVector.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRawVector.java index 58025d7eb74306155c61ff4958f163c22f495a50..1fe82c7dc8986f2eac91a387ee8dbcfae30c8c01 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRawVector.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RRawVector.java @@ -125,7 +125,7 @@ public final class RRawVector extends RVector<byte[]> implements RAbstractRawVec @Override public String toString() { - return toString(i -> RRuntime.rawToString(getDataAt(i))); + return toString(i -> RRuntime.rawToString(getRawDataAt(i))); } @Override diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToComplexVectorClosure.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToComplexVectorClosure.java index 3932e3c982f38996b40e23e04baf91063b7f6c74..81c0735592ff2585726058b89b78bd4c7bfc3b57 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToComplexVectorClosure.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToComplexVectorClosure.java @@ -199,6 +199,6 @@ final class RRawToComplexVectorClosure extends RToComplexVectorClosure implement @Override public RComplex getDataAt(int index) { - return RRuntime.raw2complex(vector.getDataAt(index)); + return RRuntime.raw2complex(vector.getRawDataAt(index)); } } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToDoubleVectorClosure.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToDoubleVectorClosure.java index 79a57bf9fb9f29b3870406259ebeba2f9302e7ef..5a2c794e023648e1c9e3e7532548e56a138118f0 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToDoubleVectorClosure.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToDoubleVectorClosure.java @@ -161,6 +161,6 @@ final class RRawToDoubleVectorClosure extends RToDoubleVectorClosure implements @Override public double getDataAt(int index) { - return RRuntime.raw2double(vector.getDataAt(index)); + return RRuntime.raw2double(vector.getRawDataAt(index)); } } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToIntVectorClosure.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToIntVectorClosure.java index 6c925729975a0d1b883decff1924b03548041c2a..ef0f7cbe31300137f060243798ebff0697d70564 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToIntVectorClosure.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/closures/RToIntVectorClosure.java @@ -210,6 +210,6 @@ final class RRawToIntVectorClosure extends RToIntVectorClosure implements RAbstr @Override public int getDataAt(int index) { - return RRuntime.raw2int(vector.getDataAt(index)); + return RRuntime.raw2int(vector.getRawDataAt(index)); } }