diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/APerm.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/APerm.java index 5aee6fb1f50b6d24060d23202d0699fd04c87611..b52b9448e8bb482464f6dc82fd25e85f1e640fca 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/APerm.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/APerm.java @@ -52,7 +52,6 @@ public abstract class APerm extends RBuiltinNode { @Specialization protected RAbstractVector aPerm(RAbstractVector vector, @SuppressWarnings("unused") RNull permVector, byte resize) { - controlVisibility(); checkErrorConditions(vector, resize); int[] dim = vector.getDimensions(); @@ -93,7 +92,6 @@ public abstract class APerm extends RBuiltinNode { @Specialization protected RAbstractVector aPerm(RAbstractVector vector, RAbstractIntVector permVector, byte resize) { - controlVisibility(); checkErrorConditions(vector, resize); int[] dim = vector.getDimensions(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java index 49d29501da4e180ec46737c20d963a9e7d05481d..8159aeb5faecf54ae02af6f62653f4c90a1657d7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java @@ -61,25 +61,21 @@ public abstract class All extends RBuiltinNode { @Specialization protected byte all(byte value, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); return value; } @Specialization protected byte all(RLogicalVector vector, byte naRm) { - controlVisibility(); return accumulate(vector, naRm); } @Specialization protected byte all(@SuppressWarnings("unused") RNull vector, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization protected byte all(@SuppressWarnings("unused") RMissing vector, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -89,7 +85,6 @@ public abstract class All extends RBuiltinNode { CompilerDirectives.transferToInterpreterAndInvalidate(); castLogicalNode = insert(CastLogicalNodeGen.create(true, false, false)); } - controlVisibility(); Object[] argValues = args.getArguments(); for (Object argValue : argValues) { byte result; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java index a95f3ab6a2ba33a217c9f051b8f43aa4ea708e98..e5cb5fea4d3b207a6a16fbd7ab32b604923d3260 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java @@ -68,7 +68,6 @@ public abstract class Any extends RBuiltinNode { @ExplodeLoop protected byte anyCachedLength(RArgsValuesAndNames args, byte naRm, // @Cached("args.getLength()") int cachedLength) { - controlVisibility(); boolean profiledNaRm = naRmProfile.profile(naRm != RRuntime.LOGICAL_FALSE); Object[] arguments = args.getArguments(); @@ -87,7 +86,6 @@ public abstract class Any extends RBuiltinNode { @Specialization(contains = "anyCachedLength") protected byte any(RArgsValuesAndNames args, byte naRm) { - controlVisibility(); boolean profiledNaRm = naRmProfile.profile(naRm != RRuntime.LOGICAL_FALSE); byte result = RRuntime.LOGICAL_FALSE; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyNA.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyNA.java index 509f1530af8e24882639278777ffb6175802b258..a4cdc0b8ada025afa9292f6d0ec98f2bc2af4a99 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyNA.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyNA.java @@ -53,7 +53,6 @@ public abstract class AnyNA extends RBuiltinNode { public abstract byte execute(VirtualFrame frame, Object value); private byte doScalar(boolean isNA) { - controlVisibility(); return RRuntime.asLogical(isNA); } @@ -63,7 +62,6 @@ public abstract class AnyNA extends RBuiltinNode { } private <T extends RAbstractVector> byte doVector(T vector, VectorIndexPredicate<T> predicate) { - controlVisibility(); naCheck.enable(vector); for (int i = 0; i < vector.getLength(); i++) { if (predicate.apply(vector, i)) { @@ -148,7 +146,6 @@ public abstract class AnyNA extends RBuiltinNode { @Cached("createRecursive()") AnyNA recursive, // @Cached("createClassProfile()") ValueProfile elementProfile, // @Cached("create()") RLengthNode length) { - controlVisibility(); for (int i = 0; i < list.getLength(); i++) { Object value = elementProfile.profile(list.getDataAt(i)); if (length.executeInteger(frame, value) == 1) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Args.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Args.java index 4f906479ecc75725edc0df32346593b20c0d4934..0a85d197b7cc0075adec13b76503de87e978c7ea 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Args.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Args.java @@ -77,7 +77,6 @@ public abstract class Args extends RBuiltinNode { @Specialization @TruffleBoundary protected Object args(RFunction fun) { - controlVisibility(); if (fun.isBuiltin()) { return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java index 43d564c6715056c3ac3695de2760d43884cddde7..b8e87f257228377f9efb18dbc058b78f834b4e45 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java @@ -107,7 +107,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RIntVector doArrayNoDimNames(RAbstractIntVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayInt(vec, dim); } @@ -115,7 +114,6 @@ public abstract class Array extends RBuiltinNode { protected RIntVector doArray(RAbstractIntVector vec, RAbstractIntVector dim, RList dimnames) { RIntVector ret = doArrayInt(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } @@ -131,7 +129,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RDoubleVector doArrayNoDimNames(RAbstractDoubleVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayDouble(vec, dim); } @@ -139,7 +136,6 @@ public abstract class Array extends RBuiltinNode { protected RDoubleVector doArray(RAbstractDoubleVector vec, RAbstractIntVector dim, RList dimnames) { RDoubleVector ret = doArrayDouble(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } @@ -155,7 +151,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RLogicalVector doArrayNoDimNames(RAbstractLogicalVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayLogical(vec, dim); } @@ -163,7 +158,6 @@ public abstract class Array extends RBuiltinNode { protected RLogicalVector doArray(RAbstractLogicalVector vec, RAbstractIntVector dim, RList dimnames) { RLogicalVector ret = doArrayLogical(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } @@ -179,7 +173,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RStringVector doArrayNoDimNames(RAbstractStringVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayString(vec, dim); } @@ -187,7 +180,6 @@ public abstract class Array extends RBuiltinNode { protected RStringVector doArray(RAbstractStringVector vec, RAbstractIntVector dim, RList dimnames) { RStringVector ret = doArrayString(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } @@ -206,7 +198,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RComplexVector doArrayNoDimNames(RAbstractComplexVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayComplex(vec, dim); } @@ -214,7 +205,6 @@ public abstract class Array extends RBuiltinNode { protected RComplexVector doArray(RAbstractComplexVector vec, RAbstractIntVector dim, RList dimnames) { RComplexVector ret = doArrayComplex(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } @@ -230,7 +220,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RRawVector doArrayNoDimNames(RAbstractRawVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayRaw(vec, dim); } @@ -238,7 +227,6 @@ public abstract class Array extends RBuiltinNode { protected RRawVector doArray(RAbstractRawVector vec, RAbstractIntVector dim, RList dimnames) { RRawVector ret = doArrayRaw(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } @@ -254,7 +242,6 @@ public abstract class Array extends RBuiltinNode { @Specialization protected RList doArrayNoDimeNames(RList vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { - controlVisibility(); return doArrayList(vec, dim); } @@ -262,7 +249,6 @@ public abstract class Array extends RBuiltinNode { protected RList doArray(RList vec, RAbstractIntVector dim, RList dimnames) { RList ret = doArrayList(vec, dim); updateDimNames(ret, dimnames); - controlVisibility(); return ret; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacter.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacter.java index 8d759b57285f68697382c6c263aebb33297f66c2..3aff0b6e173b266892df371993290c7820ce51e0 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacter.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacter.java @@ -81,56 +81,47 @@ public abstract class AsCharacter extends RBuiltinNode { @Specialization protected String doInt(int value) { - controlVisibility(); return castString(value); } @Specialization protected String doDouble(double value) { - controlVisibility(); return castString(value); } @Specialization protected String doLogical(byte value) { - controlVisibility(); return castString(value); } @Specialization protected String doRaw(RRaw value) { - controlVisibility(); initCast(); return (String) castStringNode.executeString(value); } @Specialization protected String doString(String value) { - controlVisibility(); return value; } @Specialization protected String doSymbol(RSymbol value) { - controlVisibility(); return value.getName(); } @Specialization protected RStringVector doNull(@SuppressWarnings("unused") RNull value) { - controlVisibility(); return RDataFactory.createStringVector(0); } @Specialization protected RStringVector doStringVector(RStringVector vector) { - controlVisibility(); return RDataFactory.createStringVector(vector.getDataCopy(), vector.isComplete()); } @Specialization protected RStringVector doList(RList list) { - controlVisibility(); int len = list.getLength(); boolean complete = RDataFactory.COMPLETE_VECTOR; String[] data = new String[len]; @@ -152,7 +143,6 @@ public abstract class AsCharacter extends RBuiltinNode { @Specialization(guards = "!isRList(container)") protected RStringVector doVector(RAbstractContainer container) { - controlVisibility(); return castStringVector(container); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsComplex.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsComplex.java index 23bfa6368f12d198aaac482b99a1143a8eeb3a7f..6c3623f6cc2954fa5354d63a1dfa9f811ff67e5a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsComplex.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsComplex.java @@ -50,53 +50,45 @@ public abstract class AsComplex extends RBuiltinNode { @Specialization protected RComplex doComplex(RComplex value) { - controlVisibility(); return value; } @Specialization protected RComplex doInt(int value) { - controlVisibility(); initCast(); return (RComplex) castComplexNode.executeComplex(value); } @Specialization protected RComplex doDouble(double value) { - controlVisibility(); initCast(); return (RComplex) castComplexNode.executeComplex(value); } @Specialization protected RComplex doLogical(byte value) { - controlVisibility(); initCast(); return (RComplex) castComplexNode.executeComplex(value); } @Specialization protected RComplex doString(String value) { - controlVisibility(); initCast(); return (RComplex) castComplexNode.executeComplex(value); } @Specialization protected RComplexVector doNull(@SuppressWarnings("unused") RNull value) { - controlVisibility(); return RDataFactory.createComplexVector(0); } @Specialization protected RComplexVector doComplexVector(RComplexVector vector) { - controlVisibility(); return RDataFactory.createComplexVector(vector.getDataCopy(), vector.isComplete()); } @Specialization protected RComplexVector doIntVector(RAbstractVector vector) { - controlVisibility(); initCast(); return (RComplexVector) castComplexNode.executeComplex(vector); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java index 6cfb74ee4e5baec51de465a2a79c1224ab584c29..2d1259aef13953bb8228849bb260462a68d0ccc5 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java @@ -53,65 +53,55 @@ public abstract class AsDouble extends RBuiltinNode { @Specialization protected double asDouble(double value) { - controlVisibility(); return value; } @Specialization protected double asDoubleInt(int value) { - controlVisibility(); initCast(); return (double) castDoubleNode.executeDouble(value); } @Specialization protected double asDouble(byte value) { - controlVisibility(); initCast(); return (double) castDoubleNode.executeDouble(value); } @Specialization protected double asDouble(RComplex value) { - controlVisibility(); initCast(); return (double) castDoubleNode.executeDouble(value); } @Specialization protected double asDouble(String value) { - controlVisibility(); initCast(); return (double) castDoubleNode.executeDouble(value); } @Specialization protected RDoubleVector asDouble(@SuppressWarnings("unused") RNull vector) { - controlVisibility(); return RDataFactory.createDoubleVector(0); } @Specialization protected RDoubleVector asDouble(RDoubleVector vector) { - controlVisibility(); return RDataFactory.createDoubleVector(vector.getDataCopy(), vector.isComplete()); } @Specialization protected RDoubleSequence asDouble(RDoubleSequence sequence) { - controlVisibility(); return sequence; } @Specialization protected RDoubleSequence asDouble(RIntSequence sequence) { - controlVisibility(); return RDataFactory.createDoubleSequence(sequence.getStart(), sequence.getStride(), sequence.getLength()); } @Specialization protected RDoubleVector asDouble(RAbstractVector vector) { - controlVisibility(); initCast(); return (RDoubleVector) castDoubleNode.executeDouble(vector); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java index d1cc65baddea37ce8e5ea754dafd9e8bf19d02a2..bedbe5a585fd06ee45257822ffc5fdb83e429369 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java @@ -54,66 +54,56 @@ public abstract class AsInteger extends RBuiltinNode { @Specialization protected int asInteger(int value) { - controlVisibility(); return value; } @Specialization protected int asInteger(double value) { - controlVisibility(); initCast(); return (int) castIntNode.executeInt(value); } @Specialization protected int asInteger(byte value) { - controlVisibility(); initCast(); return (int) castIntNode.executeInt(value); } @Specialization protected int asInteger(RComplex value) { - controlVisibility(); initCast(); return (int) castIntNode.executeInt(value); } @Specialization protected int asInteger(RRaw value) { - controlVisibility(); initCast(); return (int) castIntNode.executeInt(value); } @Specialization protected int asInteger(String value) { - controlVisibility(); initCast(); return (int) castIntNode.executeInt(value); } @Specialization protected RIntVector asInteger(@SuppressWarnings("unused") RNull value) { - controlVisibility(); return RDataFactory.createEmptyIntVector(); } @Specialization protected RIntVector asInteger(RIntVector vector) { - controlVisibility(); return RDataFactory.createIntVector(vector.getDataCopy(), vector.isComplete()); } @Specialization protected RIntVector asInteger(RIntSequence sequence) { - controlVisibility(); return (RIntVector) sequence.createVector(); } @Specialization protected RAbstractIntVector asInteger(RAbstractVector vector) { - controlVisibility(); initCast(); return (RAbstractIntVector) castIntNode.executeInt(vector); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java index 0a3200dffcb9e7ef081f75ed584a504c6a31a9a3..65c091df97352dd9bb0d3c214f9bd77b767b0b00 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java @@ -59,49 +59,41 @@ public abstract class AsLogical extends RBuiltinNode { @Specialization protected byte asLogical(byte value) { - controlVisibility(); return value; } @Specialization protected byte asLogical(int value) { - controlVisibility(); return castLogical(value); } @Specialization protected byte asLogical(double value) { - controlVisibility(); return castLogical(value); } @Specialization protected byte asLogical(RComplex value) { - controlVisibility(); return castLogical(value); } @Specialization protected byte asLogical(String value) { - controlVisibility(); return castLogical(value); } @Specialization protected RLogicalVector asLogical(@SuppressWarnings("unused") RNull vector) { - controlVisibility(); return RDataFactory.createLogicalVector(0); } @Specialization protected RLogicalVector asLogical(RLogicalVector vector) { - controlVisibility(); return RDataFactory.createLogicalVector(vector.getDataCopy(), vector.isComplete()); } @Specialization protected RLogicalVector asLogical(RAbstractContainer container) { - controlVisibility(); return castLogicalVector(container); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsRaw.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsRaw.java index 7ab3c9cfb4f4ebc49ce715a551545e33ec98ab35..077de464fed979af82e6efe76db0d29f27a763ed 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsRaw.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsRaw.java @@ -54,60 +54,51 @@ public abstract class AsRaw extends RBuiltinNode { @Specialization protected RRawVector asRaw(@SuppressWarnings("unused") RNull vector) { - controlVisibility(); return RDataFactory.createRawVector(0); } @Specialization protected RRaw asRaw(byte logical) { - controlVisibility(); initCast(); return (RRaw) castRawNode.executeRaw(logical); } @Specialization protected RRaw asRaw(int value) { - controlVisibility(); initCast(); return (RRaw) castRawNode.executeRaw(value); } @Specialization protected RRaw asRaw(double value) { - controlVisibility(); initCast(); return (RRaw) castRawNode.executeRaw(value); } @Specialization protected RRaw asRaw(RComplex value) { - controlVisibility(); initCast(); return (RRaw) castRawNode.executeRaw(value); } @Specialization protected RRaw asRaw(String value) { - controlVisibility(); initCast(); return (RRaw) castRawNode.executeRaw(value); } @Specialization protected RRaw asRaw(RRaw value) { - controlVisibility(); return value; } @Specialization protected RRawVector asRaw(RRawVector value) { - controlVisibility(); return RDataFactory.createRawVector(value.getDataCopy()); } @Specialization protected RRawVector asRaw(RList value) { - controlVisibility(); initCast(); int length = value.getLength(); RRawVector result = RDataFactory.createRawVector(length); @@ -119,7 +110,6 @@ public abstract class AsRaw extends RBuiltinNode { @Specialization protected RRawVector asRaw(RAbstractVector vector) { - controlVisibility(); initCast(); return (RRawVector) castRawNode.executeRaw(vector); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java index 6aa16aab6fc70f330f8266336febcf3e2ab097a9..e672553e703ed634d74ee3f3e1b21b6eeceaa4bf 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java @@ -91,7 +91,6 @@ public abstract class AsVector extends RBuiltinNode { @Specialization protected Object asVector(VirtualFrame frame, Object x, String mode) { - controlVisibility(); RStringVector clazz = classHierarchy.execute(x); if (hasClassProfile.profile(clazz != null)) { if (useMethod == null) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java index 92741dc79a67b6d62d440d6c24dcc84a2e1b51a0..7c050c8a3f49a9a22594c967a18048426507310a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java @@ -85,7 +85,6 @@ public abstract class Assign extends RBuiltinNode { @Specialization protected Object assignInherit(RAbstractStringVector xVec, Object value, REnvironment envir, byte inherits, // @Cached("createBinaryProfile()") ConditionProfile inheritsProfile) { - controlVisibility(); String x = checkVariable(xVec); REnvironment env = envir; if (inheritsProfile.profile(inherits == RRuntime.LOGICAL_TRUE)) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java index 88bb959a958bdc8ad77755d2c1888d020c7f6550..d36683f74e81a4a3762c95530a66f17fc7bd6541 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java @@ -56,7 +56,6 @@ public class AttachFunctions { @Specialization @TruffleBoundary protected REnvironment doAttach(@SuppressWarnings("unused") RNull what, RAbstractIntVector pos, RAbstractStringVector name) { - controlVisibility(); REnvironment env = RDataFactory.createNewEnv(name.getDataAt(0)); doAttachEnv(pos.getDataAt(0), env); return env; @@ -65,7 +64,6 @@ public class AttachFunctions { @Specialization @TruffleBoundary protected REnvironment doAttach(REnvironment what, RAbstractIntVector pos, RAbstractStringVector name) { - controlVisibility(); REnvironment env = RDataFactory.createNewEnv(name.getDataAt(0)); RStringVector names = what.ls(true, null, false); for (int i = 0; i < names.getLength(); i++) { @@ -81,7 +79,6 @@ public class AttachFunctions { @Specialization @TruffleBoundary protected REnvironment doAttach(RList what, RAbstractIntVector pos, RAbstractStringVector name) { - controlVisibility(); REnvironment env = RDataFactory.createNewEnv(name.getDataAt(0)); RStringVector names = what.getNames(attrProfiles); for (int i = 0; i < names.getLength(); i++) { @@ -119,7 +116,6 @@ public class AttachFunctions { @Specialization @TruffleBoundary protected Object doDetach(RAbstractIntVector pos) { - controlVisibility(); try { return REnvironment.detach(pos.getDataAt(0)); } catch (DetachException ex) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java index a9b57a7b2a689b5b10b490dd1c732014d892132f..c685475df731712b12a7f41d22df26357438b07f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java @@ -114,7 +114,6 @@ public abstract class Attr extends RBuiltinNode { @Specialization(guards = "!isRowNamesAttr(name)") protected Object attr(RAbstractContainer container, String name) { - controlVisibility(); return attrRA(container, intern(name)); } @@ -130,7 +129,6 @@ public abstract class Attr extends RBuiltinNode { @Specialization(guards = "isRowNamesAttr(name)") protected Object attrRowNames(RAbstractContainer container, @SuppressWarnings("unused") String name) { - controlVisibility(); RAttributes attributes = container.getAttributes(); if (attributes == null) { return RNull.instance; @@ -152,7 +150,6 @@ public abstract class Attr extends RBuiltinNode { @SuppressWarnings("unused") @Specialization(guards = "!exactlyOne(name)") protected Object attrEmtpyName(RAbstractContainer container, RStringVector name) { - controlVisibility(); throw RError.error(this, RError.Message.EXACTLY_ONE_WHICH); } @@ -162,7 +159,6 @@ public abstract class Attr extends RBuiltinNode { @Fallback @TruffleBoundary protected Object attr(Object object, Object name) { - controlVisibility(); String sname = RRuntime.asString(name); if (sname == null) { throw RError.error(this, RError.Message.MUST_BE_CHARACTER, "which"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java index f40049c0bed17e71607dc32b84e676e25bb43282..a3ad15593847ee6d3da152e2505624ec12fd88b4 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java @@ -54,7 +54,6 @@ public abstract class Attributes extends RBuiltinNode { @Specialization protected Object attributesNull(RAbstractContainer container, // @Cached("createBinaryProfile()") ConditionProfile hasAttributesProfile) { - controlVisibility(); if (hasAttributesProfile.profile(hasAttributes(container))) { return createResult(container, container instanceof RLanguage); } else { @@ -70,7 +69,6 @@ public abstract class Attributes extends RBuiltinNode { @Fallback @TruffleBoundary protected Object attributes(Object object) { - controlVisibility(); if (object instanceof RAttributable) { if (!hasAttributes((RAttributable) object)) { return RNull.instance; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BaseGammaFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BaseGammaFunctions.java index c40642105b76d82ace43cf9a4be38b3d7cec84c6..98ac9575c76ee9b487ed6688156f14ef8f5787c6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BaseGammaFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BaseGammaFunctions.java @@ -79,7 +79,6 @@ public class BaseGammaFunctions { result[i] = GammaFunctions.lgammafn(xv); naValCheck.check(result[i]); } - controlVisibility(); return RDataFactory.createDoubleVector(result, naValCheck.neverSeenNA()); } @@ -123,7 +122,6 @@ public class BaseGammaFunctions { @Specialization protected RDoubleVector digamma(RAbstractDoubleVector x) { - controlVisibility(); naValCheck.enable(x); double[] result = new double[x.getLength()]; boolean warnNaN = false; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java index 388a82fdd3bc3c88380099f16bc2248765cb6c51..a87ca621d4a476f6a95cb274d4654d33045ffde2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java @@ -409,7 +409,6 @@ public abstract class Bind extends RBaseNode { @Specialization protected Object bind(VirtualFrame frame, Object deparseLevelObj, RArgsValuesAndNames args) { - controlVisibility(); return bind.execute(frame, deparseLevelObj, args.getArguments(), (RArgsValuesAndNames) RArguments.getArgument(frame, 0), precedence(args.getArguments())); } } @@ -524,7 +523,6 @@ public abstract class Bind extends RBaseNode { @Specialization protected Object bind(VirtualFrame frame, Object deparseLevelObj, RArgsValuesAndNames args) { - controlVisibility(); return bind.execute(frame, deparseLevelObj, args.getArguments(), (RArgsValuesAndNames) RArguments.getArgument(frame, 0), precedence(args.getArguments())); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java index 52706b6d1f9ac16d06cc345ac4894e54c99e05a1..2aad58eac63aadb179b8c5a8cc46544998fcbb8d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java @@ -174,7 +174,6 @@ public class BitwiseFunctions { @Specialization protected Object bitwAnd(RAbstractVector a, RAbstractVector b) { - controlVisibility(); return basicBit(a, b, Operation.AND); } } @@ -184,7 +183,6 @@ public class BitwiseFunctions { @Specialization protected Object bitwOr(RAbstractVector a, RAbstractVector b) { - controlVisibility(); return basicBit(a, b, Operation.OR); } } @@ -194,7 +192,6 @@ public class BitwiseFunctions { @Specialization protected Object bitwXor(RAbstractVector a, RAbstractVector b) { - controlVisibility(); return basicBit(a, b, Operation.XOR); } } @@ -204,14 +201,12 @@ public class BitwiseFunctions { @Specialization(guards = {"!shiftByCharacter(n)"}) protected Object bitwShiftR(RAbstractVector a, RAbstractVector n) { - controlVisibility(); return basicBit(a, n, Operation.SHIFTR); } @Specialization(guards = {"shiftByCharacter(n)"}) @SuppressWarnings("unused") protected Object bitwShiftRChar(RAbstractVector a, RAbstractVector n) { - controlVisibility(); checkShiftOrNot(a, Operation.SHIFTR); return makeNA(a.getLength()); } @@ -222,14 +217,12 @@ public class BitwiseFunctions { @Specialization(guards = {"!shiftByCharacter(n)"}) protected Object bitwShiftR(RAbstractVector a, RAbstractVector n) { - controlVisibility(); return basicBit(a, n, Operation.SHIFTL); } @Specialization(guards = {"shiftByCharacter(n)"}) @SuppressWarnings("unused") protected Object bitwShiftRChar(RAbstractVector a, RAbstractVector n) { - controlVisibility(); checkShiftOrNot(a, Operation.SHIFTL); return makeNA(a.getLength()); } @@ -240,7 +233,6 @@ public class BitwiseFunctions { @Specialization protected Object bitwNot(RAbstractVector a) { - controlVisibility(); checkShiftOrNot(a, Operation.NOT); return bitNot(a); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java index 25a4cdaa19900d479e4562c478e06a7ffae673c1..976104e6de46b4f3cc2299140335ac13d584e036 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java @@ -121,14 +121,12 @@ public class BrowserFunctions { @Specialization @TruffleBoundary protected String browserText(int n) { - controlVisibility(); return getHelperState(n).text; } @Specialization @TruffleBoundary protected String browserText(double n) { - controlVisibility(); return getHelperState((int) n).text; } } @@ -139,14 +137,12 @@ public class BrowserFunctions { @Specialization @TruffleBoundary protected Object browserCondition(int n) { - controlVisibility(); return getHelperState(n).condition; } @Specialization @TruffleBoundary protected Object browserCondition(double n) { - controlVisibility(); return getHelperState((int) n).condition; } } @@ -158,7 +154,6 @@ public class BrowserFunctions { @TruffleBoundary protected RNull browserSetDebug(@SuppressWarnings("unused") int n) { // TODO implement - controlVisibility(); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CacheClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CacheClass.java index 3c8ca4515b5a6a6cc4f9fbce15873a5d26dcfabc..ce2bfd638f7fe120b375aebf8473aec70aea03b9 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CacheClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CacheClass.java @@ -29,7 +29,6 @@ public abstract class CacheClass extends RBuiltinNode { @TruffleBoundary @Specialization protected RAbstractStringVector getClass(Object cl, RAbstractStringVector ext) { - controlVisibility(); String clString; if (cl instanceof String) { clString = (String) cl; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CapabilitiesFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CapabilitiesFunctions.java index 068e53d99c7b444cb90ac5436f0a5a6eb434f19c..9d9cf7ea93c4cb2e9abf7b9237251b77b1816814 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CapabilitiesFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CapabilitiesFunctions.java @@ -77,7 +77,6 @@ public class CapabilitiesFunctions { @Specialization protected RLogicalVector capabilities() { - controlVisibility(); byte[] data = new byte[NAMES.getLength()]; for (Capability c : Capability.values()) { boolean value = c.defValue; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Cat.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Cat.java index a7ce1c28d1d4e488663aaf787b648b3c02186e5b..b8d845a5a579a27c58255656d7856a61766516e7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Cat.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Cat.java @@ -33,7 +33,6 @@ import com.oracle.truffle.api.dsl.Fallback; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.r.nodes.builtin.CastBuilder; import com.oracle.truffle.r.nodes.builtin.RBuiltinNode; -import com.oracle.truffle.r.nodes.builtin.RInvisibleBuiltinNode; import com.oracle.truffle.r.nodes.unary.ToStringNode; import com.oracle.truffle.r.nodes.unary.ToStringNodeGen; import com.oracle.truffle.r.runtime.RBuiltin; @@ -215,7 +214,6 @@ public abstract class Cat extends RBuiltinNode { throw RError.error(this, RError.Message.GENERIC, ex.getMessage()); } - controlVisibility(); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Col.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Col.java index fac9d270c1803b0a7dddda9689b609610713b0d5..b31bbf00f348b77dd1202ab37ba6628b17342c6e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Col.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Col.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -41,7 +41,6 @@ public abstract class Col extends RBuiltinNode { @Specialization protected RIntVector col(RAbstractIntVector x) { - controlVisibility(); int nrows = x.getDataAt(0); int ncols = x.getDataAt(1); int[] result = new int[nrows * ncols]; @@ -55,7 +54,6 @@ public abstract class Col extends RBuiltinNode { @Specialization @TruffleBoundary protected RIntVector col(@SuppressWarnings("unused") RNull x) { - controlVisibility(); throw RError.error(this, RError.Message.MATRIX_LIKE_REQUIRED, "col"); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java index 3faf17382abcd0c725ea12058fe65b49c067b14c..db30c7722f571ae7fa5a5ffb2afe0ae55e95d8f9 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java @@ -40,7 +40,6 @@ public abstract class ColMeans extends RBuiltinNode { @Specialization(guards = "!isNaRm(naRm)") protected RDoubleVector colMeansNaRmFalse(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; na.enable(x); @@ -66,7 +65,6 @@ public abstract class ColMeans extends RBuiltinNode { @Specialization(guards = "isNaRm(naRm)") protected RDoubleVector colMeansNaRmTrue(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; na.enable(x); @@ -92,7 +90,6 @@ public abstract class ColMeans extends RBuiltinNode { @Specialization(guards = "!isNaRm(naRm)") protected RDoubleVector colMeansNaRmFalse(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[colNum]; na.enable(x); nextCol: for (int c = 0; c < colNum; c++) { @@ -112,7 +109,6 @@ public abstract class ColMeans extends RBuiltinNode { @Specialization(guards = "isNaRm(naRm)") protected RDoubleVector colMeansNaRmTrue(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; na.enable(x); @@ -138,7 +134,6 @@ public abstract class ColMeans extends RBuiltinNode { @Specialization(guards = "!isNaRm(naRm)") protected RDoubleVector colMeansNaRmFalse(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[colNum]; na.enable(x); nextCol: for (int c = 0; c < colNum; c++) { @@ -158,7 +153,6 @@ public abstract class ColMeans extends RBuiltinNode { @Specialization(guards = "isNaRm(naRm)") protected RDoubleVector colMeansNaRmTrue(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; na.enable(x); @@ -185,7 +179,6 @@ public abstract class ColMeans extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RDoubleVector colMeans(RAbstractStringVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); throw RError.error(this, RError.Message.X_NUMERIC); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java index 683c515be04ac9daa3f05d61ba294bcaf960012a..52c08b735e1893937e9ce34b04c4ecc5c5b221ae 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java @@ -55,7 +55,6 @@ public abstract class ColSums extends RBuiltinNode { @Specialization protected RDoubleVector colSums(RDoubleVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; final boolean rna = removeNA.profile(naRm == RRuntime.LOGICAL_TRUE); @@ -92,7 +91,6 @@ public abstract class ColSums extends RBuiltinNode { @Specialization protected RDoubleVector colSums(RLogicalVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; final boolean rna = removeNA.profile(naRm == RRuntime.LOGICAL_TRUE); @@ -124,7 +122,6 @@ public abstract class ColSums extends RBuiltinNode { @Specialization protected RDoubleVector colSums(RIntVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); double[] result = new double[colNum]; boolean isComplete = true; final boolean rna = removeNA.profile(naRm == RRuntime.LOGICAL_TRUE); @@ -157,7 +154,6 @@ public abstract class ColSums extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RDoubleVector colSums(RAbstractStringVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); throw RError.error(this, RError.Message.X_NUMERIC); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java index ee4eaf0f8e8a4a43460084ca1ee882000eeea795..08105dfe95a252ae97762d984d60ec2564abbcd7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java @@ -98,7 +98,6 @@ public abstract class Combine extends RBuiltinNode { @Specialization(guards = "isSimpleArguments(args)") protected Object combineSimple(RArgsValuesAndNames args) { - controlVisibility(); return args.getArgument(0); } @@ -112,7 +111,6 @@ public abstract class Combine extends RBuiltinNode { @Cached("create()") NACheck naCheck, // @Cached("create()") NACheck naNameCheck, // @Cached("createBinaryProfile()") ConditionProfile hasNamesProfile) { - controlVisibility(); CompilerAsserts.partialEvaluationConstant(cachedSignature); CompilerAsserts.partialEvaluationConstant(cachedPrecedence); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CommandArgs.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CommandArgs.java index 5761a81b7085b5dec671d043107746cc18ba2331..9e784aad764cfe8bf3cc0ff1dac668a767e672af 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CommandArgs.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CommandArgs.java @@ -38,7 +38,6 @@ public abstract class CommandArgs extends RBuiltinNode { @Specialization @TruffleBoundary protected RStringVector commandArgs() { - controlVisibility(); String[] s = RContext.getInstance().getOptions().getArguments(); return RDataFactory.createStringVector(s, RDataFactory.COMPLETE_VECTOR); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Complex.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Complex.java index 1b81856fd5c01487fa9a8db12260908b4f930835..ce364a8e0471b9ab7be948c354bace2715bd96b7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Complex.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Complex.java @@ -52,7 +52,6 @@ public abstract class Complex extends RBuiltinNode { @Specialization(guards = "!resultEmpty(lengthOut, realAbsVec, imaginaryAbsVec)") protected RComplexVector complex(int lengthOut, RAbstractDoubleVector realAbsVec, RAbstractDoubleVector imaginaryAbsVec) { - controlVisibility(); RDoubleVector real = checkLength(realAbsVec); RDoubleVector imaginary = checkLength(imaginaryAbsVec); int realLength = real.getLength(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java index eeb986fded9ca5b11becade15bc49fcedaf4e31d..f93716723500c8c3cb82d53016f05a02245a87f2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java @@ -96,14 +96,12 @@ public class ConditionFunctions { public abstract static class AddRestart extends RestartAdapter { @Specialization protected Object addRestart(RList restart) { - controlVisibility(); RErrorHandling.addRestart(restart); return RNull.instance; } @Specialization(guards = "lengthok(restart)") protected Object addRestart(@SuppressWarnings("unused") Object restart) { - controlVisibility(); throw badRestart(); } } @@ -117,7 +115,6 @@ public class ConditionFunctions { @Specialization protected Object getRestart(int index) { - controlVisibility(); Object result = RErrorHandling.getRestart(index); return result; } @@ -127,7 +124,6 @@ public class ConditionFunctions { public abstract static class InvokeRestart extends RestartAdapter { @Specialization(guards = "lengthok(restart)") protected RNull invokeRestart(RList restart, Object args) { - controlVisibility(); if (RErrorHandling.invokeRestart(restart, args) == null) { throw RError.error(this, RError.Message.RESTART_NOT_ON_STACK); } else { @@ -138,7 +134,6 @@ public class ConditionFunctions { @SuppressWarnings("unused") @Fallback protected Object invokeRestart(Object restart, Object args) { - controlVisibility(); throw badRestart(); } } @@ -147,7 +142,6 @@ public class ConditionFunctions { public abstract static class SignalCondition extends RBuiltinNode { @Specialization protected RNull signalCondition(RList condition, RAbstractStringVector msg, Object call) { - controlVisibility(); RErrorHandling.signalCondition(condition, msg.getDataAt(0), call); return RNull.instance; } @@ -157,7 +151,6 @@ public class ConditionFunctions { public abstract static class Geterrmessage extends RBuiltinNode { @Specialization protected String geterrmessage() { - controlVisibility(); return RErrorHandling.geterrmessage(); } } @@ -176,7 +169,6 @@ public class ConditionFunctions { public abstract static class DfltWarn extends RBuiltinNode { @Specialization protected RNull dfltWarn(RAbstractStringVector msg, Object call) { - controlVisibility(); RErrorHandling.dfltWarn(msg.getDataAt(0), call); return RNull.instance; } @@ -186,7 +178,6 @@ public class ConditionFunctions { public abstract static class DfltStop extends RBuiltinNode { @Specialization protected Object dfltStop(RAbstractStringVector message, Object call) { - controlVisibility(); RErrorHandling.dfltStop(message.getDataAt(0), call); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java index 500631d17b686bc4ced61ffec361a4120561d938..ed5ba69dceb171d509b94277077b8fb27212f452 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java @@ -96,7 +96,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RConnection stdin() { - controlVisibility(); return getStdin(); } } @@ -106,7 +105,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RConnection stdout() { - controlVisibility(); return getStdout(); } } @@ -116,7 +114,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RConnection stderr() { - controlVisibility(); return getStderr(); } } @@ -127,7 +124,6 @@ public abstract class ConnectionFunctions { @TruffleBoundary @SuppressWarnings("unused") protected Object file(RAbstractStringVector description, RAbstractStringVector openVec, byte blocking, RAbstractStringVector encoding, byte raw) { - controlVisibility(); if (!RRuntime.fromLogical(blocking)) { throw RError.nyi(this, "non-blocking mode not supported"); } @@ -162,7 +158,6 @@ public abstract class ConnectionFunctions { @SuppressWarnings("unused") @Fallback protected Object file(Object description, Object open, Object blocking, Object encoding, Object raw) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_UNNAMED_ARGUMENTS); } } @@ -178,7 +173,6 @@ public abstract class ConnectionFunctions { @TruffleBoundary @SuppressWarnings("unused") protected Object gzFile(RAbstractStringVector description, RAbstractStringVector open, RAbstractStringVector encoding, double compression) { - controlVisibility(); try { return new GZIPRConnection(description.getDataAt(0), open.getDataAt(0)); } catch (ZipException ex) { @@ -204,7 +198,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected Object textConnection(RAbstractStringVector nm, RAbstractStringVector object, RAbstractStringVector open, REnvironment env, @SuppressWarnings("unused") RAbstractIntVector encoding) { - controlVisibility(); if (nm.getLength() != 1) { throw RError.error(this, RError.Message.INVALID_ARGUMENT, "description"); } @@ -228,7 +221,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected Object textConnection(RConnection conn) { - controlVisibility(); if (conn instanceof TextRConnection) { return RDataFactory.createStringVector(((TextRConnection) conn).getValue(), RDataFactory.COMPLETE_VECTOR); } else { @@ -270,7 +262,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected Object urlConnection(RAbstractStringVector url, RAbstractStringVector open, @SuppressWarnings("unused") byte blocking, @SuppressWarnings("unused") RAbstractStringVector encoding) { - controlVisibility(); try { return new URLRConnection(url.getDataAt(0), open.getDataAt(0)); } catch (MalformedURLException ex) { @@ -356,7 +347,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RLogicalVector isOpen(RConnection con, RAbstractIntVector rw) { - controlVisibility(); BaseRConnection baseCon = getBaseConnection(con); boolean result = baseCon.isOpen(); switch (rw.getDataAt(0)) { @@ -433,7 +423,6 @@ public abstract class ConnectionFunctions { @TruffleBoundary protected Object readLines(RConnection con, int n, byte ok, byte warn, @SuppressWarnings("unused") String encoding, byte skipNul) { // TODO implement all the arguments - controlVisibility(); try (RConnection openConn = con.forceOpen("rt")) { String[] lines = openConn.readLines(n, RRuntime.fromLogical(warn), RRuntime.fromLogical(skipNul)); if (n > 0 && lines.length < n && ok == RRuntime.LOGICAL_FALSE) { @@ -454,7 +443,6 @@ public abstract class ConnectionFunctions { @SuppressWarnings("unused") @Fallback protected Object readLines(Object con, Object n, Object ok, Object warn, Object encoding, Object skipNul) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_UNNAMED_ARGUMENTS); } } @@ -476,7 +464,6 @@ public abstract class ConnectionFunctions { @SuppressWarnings("unused") @Fallback protected RNull writeLines(Object text, Object con, Object sep, Object useBytes) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_UNNAMED_ARGUMENTS); } } @@ -486,7 +473,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RNull flush(RConnection con) { - controlVisibility(); try { con.flush(); } catch (IOException x) { @@ -507,7 +493,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RNull pushBack(RAbstractStringVector data, RConnection connection, RAbstractLogicalVector newLine, @SuppressWarnings("unused") RAbstractIntVector type) { - controlVisibility(); if (newLine.getLength() == 0) { throw RError.error(this, RError.Message.INVALID_ARGUMENT, "newLine"); } @@ -519,7 +504,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected Object pushBack(RAbstractStringVector data, RConnection connection, RNull newLine, RAbstractIntVector type) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "newLine"); } @@ -527,7 +511,6 @@ public abstract class ConnectionFunctions { @Specialization(guards = "!newLineIsLogical(newLine)") @TruffleBoundary protected Object pushBack(RAbstractStringVector data, RConnection connection, RAbstractVector newLine, RAbstractIntVector type) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "newLine"); } @@ -535,7 +518,6 @@ public abstract class ConnectionFunctions { @Fallback @TruffleBoundary protected Object pushBack(Object data, Object connection, Object newLine, Object encoding) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_CONNECTION); } @@ -549,13 +531,11 @@ public abstract class ConnectionFunctions { @Specialization protected int pushBackLength(RConnection connection) { - controlVisibility(); return connection.pushBackLength(); } @Fallback protected Object pushBacklLength(@SuppressWarnings("unused") Object connection) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_CONNECTION); } } @@ -565,14 +545,12 @@ public abstract class ConnectionFunctions { @Specialization protected RNull pushBackClear(RConnection connection) { - controlVisibility(); connection.pushBackClear(); return RNull.instance; } @Fallback protected Object pushBackClear(@SuppressWarnings("unused") Object connection) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_CONNECTION); } } @@ -583,21 +561,18 @@ public abstract class ConnectionFunctions { @SuppressWarnings("unused") @Specialization(guards = "ncharsEmpty(nchars)") protected RStringVector readCharNcharsEmpty(RConnection con, RAbstractIntVector nchars, RAbstractLogicalVector useBytes) { - controlVisibility(); return RDataFactory.createEmptyStringVector(); } @SuppressWarnings("unused") @Specialization(guards = "useBytesEmpty(useBytes)") protected RStringVector readCharUseBytesEmpty(RConnection con, RAbstractIntVector nchars, RAbstractLogicalVector useBytes) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "useBytes"); } @Specialization(guards = {"!ncharsEmpty(nchars)", "!useBytesEmpty(useBytes)"}) @TruffleBoundary protected RStringVector readChar(RConnection con, RAbstractIntVector nchars, RAbstractLogicalVector useBytes) { - controlVisibility(); try (RConnection openConn = con.forceOpen("rb")) { String[] data = new String[nchars.getLength()]; for (int i = 0; i < data.length; i++) { @@ -623,7 +598,6 @@ public abstract class ConnectionFunctions { @TruffleBoundary @Specialization protected RNull writeChar(RAbstractStringVector object, RConnection con, RAbstractIntVector nchars, RAbstractStringVector eos, byte useBytes) { - controlVisibility(); try (RConnection openConn = con.forceOpen("wb")) { int length = object.getLength(); for (int i = 0; i < length; i++) { @@ -982,7 +956,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RConnection getConnection(int what) { - controlVisibility(); BaseRConnection con = RContext.getInstance().stateRConnection.getConnection(what); if (con == null) { throw RError.error(this, RError.Message.NO_SUCH_CONNECTION, what); @@ -997,7 +970,6 @@ public abstract class ConnectionFunctions { @Specialization @TruffleBoundary protected RIntVector getAllConnections() { - controlVisibility(); return RContext.getInstance().stateRConnection.getAllConnections(); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Contributors.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Contributors.java index 79330a0373662de4435610562d1d40bacb75e205..ee5aa390fc5b3989cff35d2ba17b0b71ad14c762 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Contributors.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Contributors.java @@ -44,7 +44,6 @@ public abstract class Contributors extends RBuiltinNode { @Specialization @TruffleBoundary protected Object contributors() { - controlVisibility(); try { StdConnections.getStdout().writeString(CONTRIBUTORS, true); } catch (IOException ex) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java index 9b20ddde2e00ba69199369e2ad2104916927c404..1888cf82cd4b14c56a3622360cebba3bb8af03bf 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java @@ -61,7 +61,6 @@ public abstract class Crossprod extends RBuiltinNode { @Specialization(guards = {"isMatrix(x)", "isMatrix(y)"}) protected RDoubleVector crossprod(RAbstractDoubleVector x, RAbstractDoubleVector y) { - controlVisibility(); ensureMatMult(); int xRows = x.getDimensions()[0]; int xCols = x.getDimensions()[1]; @@ -92,13 +91,11 @@ public abstract class Crossprod extends RBuiltinNode { @Specialization protected Object crossprod(RAbstractVector x, RAbstractVector y) { - controlVisibility(); return matMult(transpose(x), y); } @Specialization(guards = "isMatrix(x)") protected Object crossprodDoubleMatrix(RAbstractDoubleVector x, @SuppressWarnings("unused") RNull y) { - controlVisibility(); ensureMatMult(); int xRows = x.getDimensions()[0]; int xCols = x.getDimensions()[1]; @@ -107,7 +104,6 @@ public abstract class Crossprod extends RBuiltinNode { @Specialization protected Object crossprod(RAbstractVector x, @SuppressWarnings("unused") RNull y) { - controlVisibility(); return matMult(transpose(x), x); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMax.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMax.java index 5a7904ed469a4640e2e80c85d176cafe400fe5f8..55cc481f9e172afa537d97723b53973a054f1daa 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMax.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMax.java @@ -49,25 +49,21 @@ public abstract class CumMax extends RBuiltinNode { @Specialization protected double cummax(double arg) { - controlVisibility(); return arg; } @Specialization protected int cummax(int arg) { - controlVisibility(); return arg; } @Specialization protected Object cummax(String arg) { - controlVisibility(); return na.convertStringToDouble(arg); } @Specialization protected int cummax(byte arg) { - controlVisibility(); na.enable(arg); if (na.check(arg)) { return RRuntime.INT_NA; @@ -78,7 +74,6 @@ public abstract class CumMax extends RBuiltinNode { @Specialization protected RAbstractIntVector cummaxIntSequence(RIntSequence v, // @Cached("createBinaryProfile()") ConditionProfile negativeStrideProfile) { - controlVisibility(); if (negativeStrideProfile.profile(v.getStride() < 0)) { // all numbers are smaller than the first one return RDataFactory.createIntSequence(v.getStart(), 0, v.getLength()); @@ -89,7 +84,6 @@ public abstract class CumMax extends RBuiltinNode { @Specialization protected RDoubleVector cummax(RAbstractDoubleVector v) { - controlVisibility(); double[] cmaxV = new double[v.getLength()]; double max = v.getDataAt(0); cmaxV[0] = max; @@ -112,7 +106,6 @@ public abstract class CumMax extends RBuiltinNode { @Specialization(contains = "cummaxIntSequence") protected RIntVector cummax(RAbstractIntVector v) { - controlVisibility(); int[] cmaxV = new int[v.getLength()]; int max = v.getDataAt(0); cmaxV[0] = max; @@ -135,7 +128,6 @@ public abstract class CumMax extends RBuiltinNode { @Specialization protected RIntVector cummax(RAbstractLogicalVector v) { - controlVisibility(); int[] cmaxV = new int[v.getLength()]; int max = v.getDataAt(0); cmaxV[0] = max; @@ -158,7 +150,6 @@ public abstract class CumMax extends RBuiltinNode { @Specialization protected RDoubleVector cummax(RAbstractStringVector v) { - controlVisibility(); if (castDouble == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); castDouble = insert(CastDoubleNodeGen.create(false, false, false)); @@ -169,7 +160,6 @@ public abstract class CumMax extends RBuiltinNode { @Specialization @TruffleBoundary protected RComplexVector cummax(@SuppressWarnings("unused") RAbstractComplexVector v) { - controlVisibility(); throw RError.error(this, RError.Message.CUMMAX_UNDEFINED_FOR_COMPLEX); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMin.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMin.java index 1b29bd5f27a30c21c0bdaea3e753c9dd30949c68..c5652b5ebf61bcd88d63c5ba7c16b227c6de236b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMin.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumMin.java @@ -50,19 +50,16 @@ public abstract class CumMin extends RBuiltinNode { @Specialization protected double cummin(double arg) { - controlVisibility(); return arg; } @Specialization protected int cummin(int arg) { - controlVisibility(); return arg; } @Specialization protected int cummin(byte arg) { - controlVisibility(); na.enable(arg); if (na.check(arg)) { return RRuntime.INT_NA; @@ -72,14 +69,12 @@ public abstract class CumMin extends RBuiltinNode { @Specialization protected double cummin(String arg) { - controlVisibility(); return na.convertStringToDouble(arg); } @Specialization protected RAbstractIntVector cumminIntSequence(RIntSequence v, // @Cached("createBinaryProfile()") ConditionProfile negativeStrideProfile) { - controlVisibility(); if (negativeStrideProfile.profile(v.getStride() > 0)) { // all numbers are bigger than the first one return RDataFactory.createIntSequence(v.getStart(), 0, v.getLength()); @@ -90,7 +85,6 @@ public abstract class CumMin extends RBuiltinNode { @Specialization protected RDoubleVector cummin(RAbstractDoubleVector v) { - controlVisibility(); double[] cminV = new double[v.getLength()]; double min = v.getDataAt(0); cminV[0] = min; @@ -113,7 +107,6 @@ public abstract class CumMin extends RBuiltinNode { @Specialization(contains = "cumminIntSequence") protected RIntVector cummin(RAbstractIntVector v) { - controlVisibility(); int[] cminV = new int[v.getLength()]; int min = v.getDataAt(0); cminV[0] = min; @@ -136,7 +129,6 @@ public abstract class CumMin extends RBuiltinNode { @Specialization protected RIntVector cummin(RAbstractLogicalVector v) { - controlVisibility(); int[] cminV = new int[v.getLength()]; int min = v.getDataAt(0); cminV[0] = min; @@ -159,7 +151,6 @@ public abstract class CumMin extends RBuiltinNode { @Specialization protected RDoubleVector cummin(RAbstractStringVector v) { - controlVisibility(); if (castDouble == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); castDouble = insert(CastDoubleNodeGen.create(false, false, false)); @@ -170,7 +161,6 @@ public abstract class CumMin extends RBuiltinNode { @Specialization @TruffleBoundary protected RComplexVector cummin(@SuppressWarnings("unused") RAbstractComplexVector v) { - controlVisibility(); throw RError.error(this, RError.Message.CUMMIN_UNDEFINED_FOR_COMPLEX); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumProd.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumProd.java index 2c6794ebb029ec7d0504bd10f698d918efe30b2b..c00effddff95f8f2f580e5bc733f570dcf79cf4d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumProd.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumProd.java @@ -44,19 +44,16 @@ public abstract class CumProd extends RBuiltinNode { @Specialization protected int cumprod(int arg) { - controlVisibility(); return arg; } @Specialization protected double cumrpod(double arg) { - controlVisibility(); return arg; } @Specialization protected int cumprod(byte arg) { - controlVisibility(); na.enable(arg); if (na.check(arg)) { return RRuntime.INT_NA; @@ -66,7 +63,6 @@ public abstract class CumProd extends RBuiltinNode { @Specialization protected RIntVector cumprod(RAbstractIntVector arg) { - controlVisibility(); int[] array = new int[arg.getLength()]; na.enable(arg); int prev = 1; @@ -89,7 +85,6 @@ public abstract class CumProd extends RBuiltinNode { @Specialization protected RDoubleVector cumprod(RAbstractDoubleVector arg) { - controlVisibility(); double[] array = new double[arg.getLength()]; na.enable(arg); double prev = 1; @@ -112,7 +107,6 @@ public abstract class CumProd extends RBuiltinNode { @Specialization protected RIntVector cumprod(RAbstractLogicalVector arg) { - controlVisibility(); int[] array = new int[arg.getLength()]; na.enable(arg); int prev = 1; @@ -135,7 +129,6 @@ public abstract class CumProd extends RBuiltinNode { @Specialization protected RDoubleVector cumprod(RAbstractStringVector arg) { - controlVisibility(); double[] array = new double[arg.getLength()]; na.enable(arg); double prev = 1; @@ -155,7 +148,6 @@ public abstract class CumProd extends RBuiltinNode { @Specialization protected RComplexVector cumprod(RAbstractComplexVector arg) { - controlVisibility(); double[] array = new double[arg.getLength() * 2]; na.enable(arg); RComplex prev = RDataFactory.createComplex(1, 0); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumSum.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumSum.java index 3888b985cc19052ddb49b025d4e2065469a8dcb3..22c6d7aeae888c272c0a2d9e4badd1dc80b3764d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumSum.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/CumSum.java @@ -57,19 +57,16 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected double cumsum(double arg) { - controlVisibility(); return arg; } @Specialization protected int cumsum(int arg) { - controlVisibility(); return arg; } @Specialization protected int cumsum(byte arg) { - controlVisibility(); na.enable(arg); if (na.check(arg)) { return RRuntime.INT_NA; @@ -79,7 +76,6 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected RIntVector cumsum(RIntSequence arg) { - controlVisibility(); int[] res = new int[arg.getLength()]; int current = arg.getStart(); int prev = 0; @@ -101,7 +97,6 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected RDoubleVector cumsum(RAbstractDoubleVector arg) { - controlVisibility(); double[] res = new double[arg.getLength()]; double prev = 0.0; na.enable(true); @@ -121,7 +116,6 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected RIntVector cumsum(RAbstractIntVector arg) { - controlVisibility(); int[] res = new int[arg.getLength()]; int prev = 0; int i; @@ -144,7 +138,6 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected RIntVector cumsum(RAbstractLogicalVector arg) { - controlVisibility(); int[] res = new int[arg.getLength()]; int prev = 0; int i; @@ -164,7 +157,6 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected RDoubleVector cumsum(RAbstractStringVector arg) { - controlVisibility(); double[] res = new double[arg.getLength()]; double prev = 0.0; na.enable(true); @@ -185,7 +177,6 @@ public abstract class CumSum extends RBuiltinNode { @Specialization protected RComplexVector cumsum(RAbstractComplexVector arg) { - controlVisibility(); double[] res = new double[arg.getLength() * 2]; RComplex prev = RDataFactory.createComplex(0.0, 0.0); int i; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DPut.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DPut.java index a5c8923240805cb49c64e82fba63b67913c22188..cac2f3f6fa31e385d92bfa7b990fc8d13dad7226 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DPut.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DPut.java @@ -50,7 +50,6 @@ public abstract class DPut extends RBuiltinNode { @Specialization @TruffleBoundary protected Object dput(Object x, RConnection file, int opts) { - controlVisibility(); String string = RDeparse.deparse(x, RDeparse.DEFAULT_Cutoff, true, opts, -1); try (RConnection openConn = file.forceOpen("wt")) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DebugFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DebugFunctions.java index 02e517b4a8a02a82662590ffabfb1b31cde0e77a..d05284297c72299c3c583321f9eb7aa3559742db 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DebugFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DebugFunctions.java @@ -66,7 +66,6 @@ public class DebugFunctions { @Specialization @TruffleBoundary protected RNull doDebug(RFunction fun, Object text, Object condition) { - controlVisibility(); doDebug(fun, text, condition, false); return RNull.instance; } @@ -86,7 +85,6 @@ public class DebugFunctions { @TruffleBoundary protected RNull debugonce(RFunction fun, Object text, Object condition) { // TODO implement - controlVisibility(); doDebug(fun, text, condition, true); return RNull.instance; } @@ -104,7 +102,6 @@ public class DebugFunctions { @Specialization @TruffleBoundary protected RNull undebug(RFunction func) { - controlVisibility(); if (!DebugHandling.undebug(func)) { throw RError.error(this, RError.Message.NOT_DEBUGGED); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java index 807804c165750c4d3e32f08b22a63e6b44158834..7e6ef1c1da0f4dc681d2861fa3abf1be2d6538bc 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java @@ -43,7 +43,6 @@ public abstract class DelayedAssign extends RBuiltinNode { @Specialization protected Object doDelayedAssign(RAbstractStringVector nameVec, Object value, REnvironment evalEnv, REnvironment assignEnv) { - controlVisibility(); String name = nameVec.getDataAt(0); try { assignEnv.put(name, RDataFactory.createPromise(RASTUtils.createNodeForValue(value), evalEnv)); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Deparse.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Deparse.java index d9914efa4c3a8fefdc75aa6137b1dda75ef5f14c..8a14c6143ca3f9bb6000f90719fedf6049f0016a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Deparse.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Deparse.java @@ -40,7 +40,6 @@ public abstract class Deparse extends RBuiltinNode { @Specialization @TruffleBoundary protected RStringVector deparse(Object expr, int widthCutoffArg, RAbstractLogicalVector backtick, int control, int nlines) { - controlVisibility(); int widthCutoff = widthCutoffArg; if (widthCutoff == RRuntime.INT_NA || widthCutoff < RDeparse.MIN_Cutoff || widthCutoff > RDeparse.MAX_Cutoff) { RError.warning(this, RError.Message.DEPARSE_INVALID_CUTOFF); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java index ed46a4b894b8310e2ecc16cf2a27b8557682b6bd..a1480bbfbfbbfb5a3925ae85dfe57368021cee89 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java @@ -70,7 +70,6 @@ public abstract class Diag extends RBuiltinNode { @Specialization protected Object diag(@SuppressWarnings("unused") RNull x, int nrow, int ncol) { - controlVisibility(); checkParams(nrow, ncol); if (nrow == 0 && ncol == 0) { return RDataFactory.createDoubleVector(new double[]{}, true, new int[]{0, 0}); @@ -81,7 +80,6 @@ public abstract class Diag extends RBuiltinNode { @Specialization protected Object diag(RAbstractComplexVector x, int nrow, int ncol) { - controlVisibility(); checkParams(nrow, ncol); int mn = checkX(x, nrow, ncol); @@ -99,7 +97,6 @@ public abstract class Diag extends RBuiltinNode { @Specialization(guards = "!isRAbstractComplexVector(x)") protected Object diag(RAbstractVector x, int nrow, int ncol, // @Cached("create()") CastDoubleNode cast) { - controlVisibility(); checkParams(nrow, ncol); int mn = checkX(x, nrow, ncol); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Dim.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Dim.java index 5df319034c1c2616b52ad99849cb2e729b74711e..81ec3bcbf69a0fe404f25a2b2981bdb582bf9bf6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Dim.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Dim.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2016, 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 @@ -40,7 +40,6 @@ public abstract class Dim extends RBuiltinNode { @Specialization protected Object dim(RAbstractContainer container, // @Cached("createBinaryProfile()") ConditionProfile hasDimensionsProfile) { - controlVisibility(); if (hasDimensionsProfile.profile(container.hasDimensions())) { return RDataFactory.createIntVector(container.getDimensions(), RDataFactory.COMPLETE_VECTOR); } else { @@ -50,7 +49,6 @@ public abstract class Dim extends RBuiltinNode { @Specialization(guards = "!isRAbstractContainer(vector)") protected RNull dim(@SuppressWarnings("unused") Object vector) { - controlVisibility(); return RNull.instance; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DimNames.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DimNames.java index 269a3a17a3ca5e0e54c063e6cc907ad9ce5fdefb..fa8fb47069bc489d581d885def8606198fb56acc 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DimNames.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DimNames.java @@ -42,13 +42,11 @@ public abstract class DimNames extends RBuiltinNode { @Specialization protected RNull getDimNames(@SuppressWarnings("unused") RNull operand) { - controlVisibility(); return RNull.instance; } @Specialization protected Object getDimNames(RAbstractContainer container) { - controlVisibility(); RList names = container.getDimNames(attrProfiles); return nullProfile.profile(names == null) ? RNull.instance : names; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Drop.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Drop.java index 3efa6cc572c15cdeba46f1cebfbc01fe031ced08..b29da219362d0750dd2a1ca0eba45a51240eeb1d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Drop.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Drop.java @@ -42,7 +42,6 @@ public abstract class Drop extends RBuiltinNode { @Specialization protected RAbstractVector doDrop(RAbstractVector x, // @Cached("createBinaryProfile()") ConditionProfile nullDimensions) { - controlVisibility(); int[] dims = x.getDimensions(); if (nullDimensions.profile(dims == null)) { return x; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DynLoadFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DynLoadFunctions.java index 106b043902e40dfcb0d253a0a3d43e0f91262b8f..721b06ae46bc41107aa2229acc8adfc5c7ef9cdb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DynLoadFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DynLoadFunctions.java @@ -57,7 +57,6 @@ public class DynLoadFunctions { @Specialization @TruffleBoundary protected RList doDynLoad(RAbstractStringVector libVec, RAbstractLogicalVector localVec, byte now, @SuppressWarnings("unused") String unused) { - controlVisibility(); // Length checked by GnuR if (libVec.getLength() > 1) { throw RError.error(this, RError.Message.TYPE_EXPECTED, RType.Character.getName()); @@ -86,7 +85,6 @@ public class DynLoadFunctions { @Specialization @TruffleBoundary protected RNull doDynunload(RAbstractStringVector lib) { - controlVisibility(); try { DLL.unload(lib.getDataAt(0)); } catch (DLLException ex) { @@ -101,7 +99,6 @@ public class DynLoadFunctions { @Specialization @TruffleBoundary protected RList doGetLoadedDLLs() { - controlVisibility(); ArrayList<DLLInfo> dlls = DLL.getLoadedDLLs(); String[] names = new String[dlls.size()]; Object[] data = new Object[names.length]; @@ -122,7 +119,6 @@ public class DynLoadFunctions { @Specialization @TruffleBoundary protected byte isLoaded(RAbstractStringVector symbol, RAbstractStringVector packageName, RAbstractStringVector typeVec) { - controlVisibility(); String type = typeVec.getDataAt(0); NativeSymbolType nst = null; switch (type) { @@ -152,7 +148,6 @@ public class DynLoadFunctions { @Specialization @TruffleBoundary protected Object getSymbolInfo(RAbstractStringVector symbolVec, String packageName, byte withReg) { - controlVisibility(); String symbol = symbolVec.getDataAt(0); DLL.RegisteredNativeSymbol rns = DLL.RegisteredNativeSymbol.any(); long f = DLL.findSymbol(RRuntime.asString(symbol), packageName, rns); @@ -166,7 +161,6 @@ public class DynLoadFunctions { @Specialization(guards = "isDLLInfo(externalPtr)") @TruffleBoundary protected Object getSymbolInfo(RAbstractStringVector symbolVec, RExternalPtr externalPtr, byte withReg) { - controlVisibility(); DLL.DLLInfo dllInfo = DLL.getDLLInfoForId((int) externalPtr.getAddr()); if (dllInfo == null) { throw RError.error(this, RError.Message.REQUIRES_NAME_DLLINFO); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java index c22a2dcbbca792e3c3637b8fde9d5d3e72f3ff0d..4d1c8a39cd3c0e8ef4ddef00f3b33c3b7e2170ea 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java @@ -100,7 +100,6 @@ public class EnvFunctions { @Specialization protected REnvironment asEnvironment(REnvironment env) { - controlVisibility(); return env; } @@ -115,7 +114,6 @@ public class EnvFunctions { } private REnvironment asEnvironmentInt(VirtualFrame frame, int pos) { - controlVisibility(); if (pos == -1) { Frame callerFrame = Utils.getCallerFrame(frame, FrameAccess.MATERIALIZE); if (callerFrame == null) { @@ -140,7 +138,6 @@ public class EnvFunctions { @Specialization protected REnvironment asEnvironment(RAbstractStringVector nameVec) { - controlVisibility(); String name = nameVec.getDataAt(0); String[] searchPath = REnvironment.searchPath(); for (String e : searchPath) { @@ -189,7 +186,6 @@ public class EnvFunctions { @Specialization protected REnvironment emptyenv() { - controlVisibility(); return REnvironment.emptyEnv(); } } @@ -199,7 +195,6 @@ public class EnvFunctions { @Specialization protected Object globalenv() { - controlVisibility(); return REnvironment.globalEnv(); } } @@ -212,7 +207,6 @@ public class EnvFunctions { @Specialization protected Object baseenv() { - controlVisibility(); return REnvironment.baseEnv(); } } @@ -271,7 +265,6 @@ public class EnvFunctions { @Specialization protected REnvironment parentenv(REnvironment env) { - controlVisibility(); if (env == REnvironment.emptyEnv()) { errorProfile.enter(); throw RError.error(this, RError.Message.EMPTY_NO_PARENT); @@ -286,7 +279,6 @@ public class EnvFunctions { @Specialization @TruffleBoundary protected REnvironment setParentenv(REnvironment env, REnvironment parent) { - controlVisibility(); if (env == REnvironment.emptyEnv()) { throw RError.error(this, RError.Message.CANNOT_SET_PARENT); } @@ -300,7 +292,6 @@ public class EnvFunctions { @Specialization protected byte isEnvironment(Object env) { - controlVisibility(); return env instanceof REnvironment ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } } @@ -312,7 +303,6 @@ public class EnvFunctions { protected Object environment(VirtualFrame frame, @SuppressWarnings("unused") RNull fun, // @Cached("new()") GetCallerFrameNode callerFrame, // @Cached("new()") PromiseDeoptimizeFrameNode deoptFrameNode) { - controlVisibility(); MaterializedFrame matFrame = callerFrame.execute(frame); deoptFrameNode.deoptimizeFrame(matFrame); return REnvironment.frameToEnvironment(matFrame); @@ -325,7 +315,6 @@ public class EnvFunctions { protected Object environment(RFunction fun, // @Cached("createBinaryProfile()") ConditionProfile noEnvProfile, // @Cached("createBinaryProfile()") ConditionProfile createProfile) { - controlVisibility(); Frame enclosing = fun.getEnclosingFrame(); if (noEnvProfile.profile(enclosing == null)) { return RNull.instance; @@ -340,14 +329,12 @@ public class EnvFunctions { @Specialization(guards = "isRFormula(formula)") protected Object environment(RLanguage formula, // @Cached("create()") RAttributeProfiles attrProfiles) { - controlVisibility(); return formula.getAttr(attrProfiles, RRuntime.DOT_ENVIRONMENT); } @Specialization(guards = {"!isRNull(fun)", "!isRFunction(fun)", "!isRFormula(fun)"}) protected Object environment(@SuppressWarnings("unused") Object fun) { // Not an error according to GnuR - controlVisibility(); return RNull.instance; } } @@ -402,13 +389,11 @@ public class EnvFunctions { @Specialization protected String environmentName(REnvironment env) { - controlVisibility(); return env.getName(); } @Specialization(guards = "!isREnvironment(env)") protected String environmentName(@SuppressWarnings("unused") Object env) { - controlVisibility(); // Not an error according to GnuR return ""; } @@ -425,7 +410,6 @@ public class EnvFunctions { @Specialization @TruffleBoundary protected REnvironment newEnv(byte hash, REnvironment parent, int size) { - controlVisibility(); REnvironment env = RDataFactory.createNewEnv(null, RRuntime.fromLogical(hash), size); RArguments.initializeEnclosingFrame(env.getFrame(), parent.getFrame()); return env; @@ -445,7 +429,6 @@ public class EnvFunctions { @Specialization protected Object lockEnvironment(REnvironment env, byte bindings) { - controlVisibility(); env.lock(bindings == RRuntime.LOGICAL_TRUE); return RNull.instance; } @@ -455,7 +438,6 @@ public class EnvFunctions { public abstract static class EnvironmentIsLocked extends RBuiltinNode { @Specialization protected Object lockEnvironment(REnvironment env) { - controlVisibility(); return RDataFactory.createLogicalVectorFromScalar(env.isLocked()); } } @@ -473,7 +455,6 @@ public class EnvFunctions { public abstract static class LockBinding extends RBuiltinNode { @Specialization protected Object lockBinding(RSymbol sym, REnvironment env) { - controlVisibility(); env.lockBinding(sym.getName()); return RNull.instance; } @@ -488,7 +469,6 @@ public class EnvFunctions { public abstract static class UnlockBinding extends RBuiltinNode { @Specialization protected RNull unlockBinding(RSymbol sym, REnvironment env) { - controlVisibility(); env.unlockBinding(sym.getName()); return RNull.instance; } @@ -503,7 +483,6 @@ public class EnvFunctions { public abstract static class BindingIsLocked extends RBuiltinNode { @Specialization protected Object bindingIsLocked(RSymbol sym, REnvironment env) { - controlVisibility(); return RDataFactory.createLogicalVectorFromScalar(env.bindingIsLocked(sym.getName())); } @@ -519,7 +498,6 @@ public class EnvFunctions { @Specialization protected Object makeActiveBinding(Object sym, Object fun, Object env) { // TODO implement - controlVisibility(); throw RError.nyi(this, "makeActiveBinding"); } } @@ -530,7 +508,6 @@ public class EnvFunctions { @Specialization protected Object bindingIsActive(Object sym, Object fun, Object env) { // TODO implement - controlVisibility(); throw RError.nyi(this, "bindingIsActive"); } } @@ -552,7 +529,6 @@ public class EnvFunctions { protected RList envToListAllNames(VirtualFrame frame, REnvironment env, RAbstractLogicalVector allNamesVec, RAbstractLogicalVector sortedVec) { // according to the docs it is expected to be slow as it creates a copy of environment // objects - controlVisibility(); boolean allNames = allNamesVec.getLength() == 0 || allNamesVec.getDataAt(0) == RRuntime.LOGICAL_FALSE ? false : true; boolean sorted = sortedVec.getLength() == 0 || sortedVec.getDataAt(0) == RRuntime.LOGICAL_FALSE ? false : true; RStringVector keys = envls(env, allNames, sorted); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EvalFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EvalFunctions.java index e07bb7d7a82d56a283a8003b30916bc8dac316ae..9fbbb769a1251a4eb9898eaf6445fa1b313d7f4f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EvalFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EvalFunctions.java @@ -105,7 +105,6 @@ public class EvalFunctions { @Specialization protected Object doEval(VirtualFrame frame, Object expr, Object envir, REnvironment enclos, // @Cached("createCast()") EvalEnvCast envCast) { - controlVisibility(); return doEvalBody(RArguments.getDepth(frame) + 1, expr, envCast.execute(envir, enclos)); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java index 3a8ac4992022a03fd673792e5eebab772d4c4a13..7bf781d8d08be41b09ce15791a4b29dd12b77a04 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2016, 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 @@ -48,7 +48,6 @@ public abstract class Exists extends RBuiltinNode { @TruffleBoundary protected byte existsStringEnv(RAbstractStringVector nameVec, REnvironment env, String mode, byte inherits) { String name = nameVec.getDataAt(0); - controlVisibility(); RType modeType = typeFromMode.execute(mode); if (inherits == RRuntime.LOGICAL_FALSE) { Object obj = env.get(name); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java index ef57b8d8043324ce070de6d7d3e80043cbe47eef..f4c96efec81f155ade653fb641ecd98f54e21b9c 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java @@ -203,7 +203,6 @@ public class FileFunctions { @Specialization @TruffleBoundary protected Object doFileCreate(RAbstractStringVector vec, byte showWarnings) { - controlVisibility(); byte[] status = new byte[vec.getLength()]; for (int i = 0; i < status.length; i++) { String path = vec.getDataAt(i); @@ -228,7 +227,6 @@ public class FileFunctions { @Fallback @TruffleBoundary protected Object doFileCreate(@SuppressWarnings("unused") Object x, @SuppressWarnings("unused") Object y) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "file"); } } @@ -266,7 +264,6 @@ public class FileFunctions { * * TODO implement extras_cols=FALSE */ - controlVisibility(); int vecLength = vec.getLength(); Object[] data = new Object[NAMES.length]; boolean[] complete = new boolean[NAMES.length]; @@ -439,14 +436,12 @@ public class FileFunctions { @Specialization @TruffleBoundary protected Object doFileLink(RAbstractStringVector vecFrom, RAbstractStringVector vecTo) { - controlVisibility(); return doFileLink(vecFrom, vecTo, false); } @Fallback @TruffleBoundary protected Object doFileLink(@SuppressWarnings("unused") Object from, @SuppressWarnings("unused") Object to) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "file"); } } @@ -456,14 +451,12 @@ public class FileFunctions { @Specialization @TruffleBoundary protected Object doFileSymLink(RAbstractStringVector vecFrom, RAbstractStringVector vecTo) { - controlVisibility(); return doFileLink(vecFrom, vecTo, true); } @Fallback @TruffleBoundary protected Object doFileSymLink(@SuppressWarnings("unused") Object from, @SuppressWarnings("unused") Object to) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "file"); } } @@ -474,7 +467,6 @@ public class FileFunctions { @Specialization @TruffleBoundary protected Object doFileRemove(RAbstractStringVector vec) { - controlVisibility(); byte[] status = new byte[vec.getLength()]; for (int i = 0; i < status.length; i++) { String path = vec.getDataAt(i); @@ -495,7 +487,6 @@ public class FileFunctions { @Fallback @TruffleBoundary protected Object doFileRemove(@SuppressWarnings("unused") Object x) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "file"); } } @@ -505,7 +496,6 @@ public class FileFunctions { @Specialization @TruffleBoundary protected Object doFileRename(RAbstractStringVector vecFrom, RAbstractStringVector vecTo) { - controlVisibility(); int len = vecFrom.getLength(); if (len != vecTo.getLength()) { throw RError.error(this, RError.Message.FROM_TO_DIFFERENT); @@ -532,7 +522,6 @@ public class FileFunctions { @Fallback @TruffleBoundary protected Object doFileRename(@SuppressWarnings("unused") Object from, @SuppressWarnings("unused") Object to) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "file"); } } @@ -543,7 +532,6 @@ public class FileFunctions { @Specialization @TruffleBoundary protected Object doFileExists(RAbstractStringVector vec) { - controlVisibility(); byte[] status = new byte[vec.getLength()]; for (int i = 0; i < status.length; i++) { String path = vec.getDataAt(i); @@ -560,7 +548,6 @@ public class FileFunctions { @Fallback protected Object doFileExists(@SuppressWarnings("unused") Object vec) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "file"); } } @@ -596,7 +583,6 @@ public class FileFunctions { } private RStringVector doListFilesBody(RAbstractStringVector vec, String patternString, byte allFilesL, byte fullNamesL, byte recursiveL, byte ignoreCaseL, byte includeDirsL, byte noDotDotL) { - controlVisibility(); boolean allFiles = RRuntime.fromLogical(allFilesL); boolean fullNames = RRuntime.fromLogical(fullNamesL); boolean recursive = RRuntime.fromLogical(recursiveL); @@ -1116,7 +1102,6 @@ public class FileFunctions { @Specialization @TruffleBoundary protected byte dirCreate(RAbstractStringVector pathVec, byte showWarnings, byte recursive, RIntVector octMode) { - controlVisibility(); boolean ok = true; if (pathVec.getLength() != 1) { throw RError.error(this, RError.Message.INVALID_ARGUMENT, "path"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Formals.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Formals.java index dc106414d96bbe8ea08c60bb96f4f0883d4cfc76..129d5bcc6fd2675196a178a000e47f247c2f54bc 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Formals.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Formals.java @@ -44,13 +44,11 @@ public abstract class Formals extends RBuiltinNode { protected Object formalsCached(RFunction fun, // @Cached("fun") RFunction cachedFunction, // @Cached("createFormals(fun)") Object formals) { - controlVisibility(); return formals; } @Specialization(contains = "formalsCached") protected Object formals(RFunction fun) { - controlVisibility(); return createFormals(fun); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FrameFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FrameFunctions.java index e5ea02653dfbcc3af72deb90f72a7730fac71638..42a88d7a353c2938104e6765c6b66b37bfa952eb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FrameFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FrameFunctions.java @@ -191,7 +191,6 @@ public class FrameFunctions { /* * sys.call preserves provided names but does not create them, unlike match.call. */ - controlVisibility(); Frame cframe = getFrame(frame, which); if (RArguments.getFunction(cframe) == null) { return RNull.instance; @@ -240,7 +239,6 @@ public class FrameFunctions { * definition==null in the standard (default) case, in which case we get the RFunction * from the calling frame */ - controlVisibility(); RLanguage call = checkCall(callObj); if (expandDotsL == RRuntime.LOGICAL_NA) { throw RError.error(this, RError.Message.INVALID_ARGUMENT, "expand.dots"); @@ -395,7 +393,6 @@ public class FrameFunctions { @Specialization @SuppressWarnings("unused") protected RLanguage matchCall(Object definition, Object call, Object expandDots, Object envir) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_OR_UNIMPLEMENTED_ARGUMENTS); } @@ -419,7 +416,6 @@ public class FrameFunctions { public abstract static class SysNFrame extends FrameDepthHelper { @Specialization protected int sysNFrame(VirtualFrame frame) { - controlVisibility(); return getEffectiveDepth(frame) - 1; } } @@ -441,7 +437,6 @@ public class FrameFunctions { @Specialization protected REnvironment sysFrame(VirtualFrame frame, int which) { - controlVisibility(); REnvironment result; if (zeroProfile.profile(which == 0)) { result = REnvironment.globalEnv(); @@ -470,7 +465,6 @@ public class FrameFunctions { @Specialization protected Object sysFrames(VirtualFrame frame) { - controlVisibility(); int depth = getEffectiveDepth(frame); if (depth == 1) { return RNull.instance; @@ -506,7 +500,6 @@ public class FrameFunctions { @Specialization protected Object sysCalls(VirtualFrame frame) { - controlVisibility(); int depth = getEffectiveDepth(frame); if (depth == 1) { return RNull.instance; @@ -549,7 +542,6 @@ public class FrameFunctions { @Specialization protected int sysParent(VirtualFrame frame, int n) { - controlVisibility(); int p = getEffectiveDepth(frame) - n - 1; return p < 0 ? 0 : p; } @@ -572,7 +564,6 @@ public class FrameFunctions { @Specialization protected Object sysFunction(VirtualFrame frame, int which) { - controlVisibility(); // N.B. Despite the spec, n==0 is treated as the current function Frame callerFrame = getFrame(frame, which); RFunction func = RArguments.getFunction(callerFrame); @@ -599,7 +590,6 @@ public class FrameFunctions { @Specialization protected RIntVector sysParents(VirtualFrame frame) { - controlVisibility(); int d = getEffectiveDepth(frame) - 1; int[] data = new int[d]; for (int i = 0; i < d; i++) { @@ -631,7 +621,6 @@ public class FrameFunctions { @Specialization protected REnvironment parentFrame(VirtualFrame frame, int n) { - controlVisibility(); if (n <= 0) { errorProfile.enter(); throw RError.error(this, RError.Message.INVALID_VALUE, "n"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Gc.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Gc.java index 05c1b0a03c920cfe22688c5e078f9b2ede58cb61..6de029a68e68a984b81fcd88e9c16c1421cbc9a7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Gc.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Gc.java @@ -40,7 +40,6 @@ public abstract class Gc extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RDoubleVector gc(RAbstractLogicalVector verbose, RAbstractLogicalVector reset) { - controlVisibility(); // manually triggering gc in Java is typically not a terribly good idea so we don't do it // here at all diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java index f3e7393cf939c7636690ab4c9a6b36818bd91225..268d2d8dc84325b3b4b8f13807c016d1dfa6ce80 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java @@ -26,7 +26,6 @@ public abstract class GetClass extends RBuiltinNode { @Specialization protected RAbstractStringVector getClass(Object x) { - controlVisibility(); return classHierarchy.execute(x); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetFunctions.java index f69af929c49b70b59219713690c75394a39ceeac..9d91ca94ce321daafbdd294007dcb029c16000e4 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetFunctions.java @@ -131,14 +131,12 @@ public class GetFunctions { @Specialization(guards = "!isInherits(inherits)") protected Object getNonInherit(VirtualFrame frame, RAbstractStringVector xv, REnvironment envir, String mode, @SuppressWarnings("unused") byte inherits) { - controlVisibility(); RType modeType = typeFromMode.execute(mode); return getAndCheck(frame, xv, envir, modeType, true); } @Specialization(guards = "isInherits(inherits)") protected Object getInherit(VirtualFrame frame, RAbstractStringVector xv, REnvironment envir, String mode, @SuppressWarnings("unused") byte inherits) { - controlVisibility(); Object result = getInherits(frame, xv, envir, mode, true); return result; } @@ -148,7 +146,6 @@ public class GetFunctions { public abstract static class Get0 extends Adapter { @Specialization(guards = "!isInherits(inherits)") protected Object get0NonInherit(VirtualFrame frame, RAbstractStringVector xv, REnvironment envir, String mode, @SuppressWarnings("unused") byte inherits, Object ifnotfound) { - controlVisibility(); RType modeType = typeFromMode.execute(mode); Object result = getAndCheck(frame, xv, envir, modeType, false); if (result == null) { @@ -159,7 +156,6 @@ public class GetFunctions { @Specialization(guards = "isInherits(inherits)") protected Object get0Inherit(VirtualFrame frame, RAbstractStringVector xv, REnvironment envir, String mode, @SuppressWarnings("unused") byte inherits, Object ifnotfound) { - controlVisibility(); Object result = getInherits(frame, xv, envir, mode, false); if (result == null) { result = ifnotfound; @@ -229,7 +225,6 @@ public class GetFunctions { @Specialization(guards = "!isInherits(inherits)") protected RList mgetNonInherit(VirtualFrame frame, RAbstractStringVector xv, REnvironment env, RAbstractStringVector mode, RList ifNotFound, @SuppressWarnings("unused") byte inherits) { - controlVisibility(); State state = checkArgs(xv, mode, ifNotFound); for (int i = 0; i < state.svLength; i++) { String x = state.checkNA(xv.getDataAt(i)); @@ -247,7 +242,6 @@ public class GetFunctions { @Specialization(guards = "isInherits(inherits)") protected RList mgetInherit(VirtualFrame frame, RAbstractStringVector xv, REnvironment envir, RAbstractStringVector mode, RList ifNotFound, @SuppressWarnings("unused") byte inherits) { - controlVisibility(); State state = checkArgs(xv, mode, ifNotFound); for (int i = 0; i < state.svLength; i++) { String x = state.checkNA(xv.getDataAt(i)); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetOldClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetOldClass.java index 1629ea1e3682753f963cd33728133482519481ce..439ae310b47a32e064a6cffb104a104bb1982cb2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetOldClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetOldClass.java @@ -43,7 +43,6 @@ public abstract class GetOldClass extends RBuiltinNode { @Specialization protected Object getOldClass(RAbstractContainer arg) { - controlVisibility(); if (isObjectProfile.profile(arg.isObject(attrProfiles))) { return arg.getClassHierarchy(); } else { @@ -53,13 +52,11 @@ public abstract class GetOldClass extends RBuiltinNode { @Specialization protected Object getOldClass(@SuppressWarnings("unused") RFunction arg) { - controlVisibility(); return RNull.instance; } @Specialization protected Object getOldClass(@SuppressWarnings("unused") RNull arg) { - controlVisibility(); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Getwd.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Getwd.java index 3dbe064d4614a02dcca4e63579aaa4a1f189ecbf..511962dfb6ba4248a9c4dd31c06ee5ae9ae0b8f2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Getwd.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Getwd.java @@ -37,7 +37,6 @@ public abstract class Getwd extends RBuiltinNode { @Specialization @TruffleBoundary protected Object getwd() { - controlVisibility(); String result = RFFIFactory.getRFFI().getBaseRFFI().getwd(); return RDataFactory.createStringVector(result); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java index 9b1582f1a01d39b0d8b1c4255d78c2f6f2e8620a..c8c6f1c527adbe2a407845fc1621d3a092511e09 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java @@ -159,7 +159,6 @@ public class GrepFunctions { private abstract static class GrepAdapter extends CommonCodeAdapter { protected Object doGrep(RAbstractStringVector patternArgVec, RAbstractStringVector vector, byte ignoreCaseLogical, byte valueLogical, byte perlLogical, byte fixedLogical, @SuppressWarnings("unused") byte useBytes, byte invertLogical, boolean grepl) { - controlVisibility(); boolean value = RRuntime.fromLogical(valueLogical); boolean invert = RRuntime.fromLogical(invertLogical); boolean perl = RRuntime.fromLogical(perlLogical); @@ -547,7 +546,6 @@ public class GrepFunctions { @TruffleBoundary protected RStringVector subRegexp(RAbstractStringVector patternArgVec, RAbstractStringVector replacementVec, RAbstractStringVector x, byte ignoreCaseLogical, byte perlLogical, byte fixedLogical, byte useBytes) { - controlVisibility(); return doSub(patternArgVec, replacementVec, x, ignoreCaseLogical, perlLogical, fixedLogical, useBytes, false); } } @@ -559,7 +557,6 @@ public class GrepFunctions { @TruffleBoundary protected RStringVector gsub(RAbstractStringVector patternArgVec, RAbstractStringVector replacementVec, RAbstractStringVector x, byte ignoreCaseLogical, byte perlLogical, byte fixedLogical, byte useBytes) { - controlVisibility(); return doSub(patternArgVec, replacementVec, x, ignoreCaseLogical, perlLogical, fixedLogical, useBytes, true); } } @@ -570,7 +567,6 @@ public class GrepFunctions { @Specialization @TruffleBoundary protected Object regexp(RAbstractStringVector patternArg, RAbstractStringVector vector, byte ignoreCaseL, byte perlL, byte fixedL, byte useBytesL) { - controlVisibility(); checkExtraArgs(RRuntime.LOGICAL_FALSE, perlL, RRuntime.LOGICAL_FALSE, useBytesL, RRuntime.LOGICAL_FALSE); boolean ignoreCase = RRuntime.fromLogical(ignoreCaseL); String pattern = RegExp.checkPreDefinedClasses(patternArg.getDataAt(0)); @@ -618,7 +614,6 @@ public class GrepFunctions { @TruffleBoundary @Override protected Object regexp(RAbstractStringVector patternArg, RAbstractStringVector vector, byte ignoreCaseL, byte perlL, byte fixedL, byte useBytesL) { - controlVisibility(); checkExtraArgs(RRuntime.LOGICAL_FALSE, perlL, fixedL, useBytesL, RRuntime.LOGICAL_FALSE); boolean ignoreCase = RRuntime.fromLogical(ignoreCaseL); String pattern = RegExp.checkPreDefinedClasses(patternArg.getDataAt(0)); @@ -647,7 +642,6 @@ public class GrepFunctions { @TruffleBoundary protected Object aGrep(RAbstractStringVector patternArg, RAbstractStringVector vector, byte ignoreCase, byte value, RIntVector costs, RDoubleVector bounds, byte useBytes, byte fixed) { // TODO implement completely; this is a very basic implementation for fixed=TRUE only. - controlVisibility(); checkExtraArgs(ignoreCase, RRuntime.LOGICAL_FALSE, RRuntime.LOGICAL_FALSE, useBytes, RRuntime.LOGICAL_FALSE); valueCheck(value); checkNotImplemented(!RRuntime.fromLogical(fixed), "fixed", false); @@ -752,7 +746,6 @@ public class GrepFunctions { @TruffleBoundary protected Object aGrep(RAbstractStringVector patternArg, RAbstractStringVector vector, byte ignoreCase, RIntVector costs, RDoubleVector bounds, byte useBytes, byte fixed) { // TODO implement properly, this only supports strict equality! - controlVisibility(); checkExtraArgs(ignoreCase, RRuntime.LOGICAL_FALSE, RRuntime.LOGICAL_FALSE, useBytes, RRuntime.LOGICAL_FALSE); byte[] data = new byte[vector.getLength()]; String pattern = patternArg.getDataAt(0); @@ -771,7 +764,6 @@ public class GrepFunctions { @Specialization @TruffleBoundary protected RList split(RAbstractStringVector x, RAbstractStringVector splitArg, byte fixedLogical, byte perlLogical, @SuppressWarnings("unused") byte useBytes) { - controlVisibility(); boolean fixed = RRuntime.fromLogical(fixedLogical); boolean perl = checkPerlFixed(RRuntime.fromLogical(perlLogical), fixed); RStringVector[] result = new RStringVector[x.getLength()]; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/HiddenInternalFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/HiddenInternalFunctions.java index f389970a5c90c5577a9bbe97c1177b0e56d6854e..89d027fb88ccdf098a44994a99177012906e51df 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/HiddenInternalFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/HiddenInternalFunctions.java @@ -102,7 +102,6 @@ public class HiddenInternalFunctions { @Specialization @TruffleBoundary protected RNull doMakeLazy(RAbstractStringVector names, RList values, RLanguage expr, REnvironment eenv, REnvironment aenv) { - controlVisibility(); initEval(); for (int i = 0; i < names.getLength(); i++) { String name = names.getDataAt(i); @@ -143,7 +142,6 @@ public class HiddenInternalFunctions { @Specialization @TruffleBoundary protected RNull importIntoEnv(REnvironment impEnv, RAbstractStringVector impNames, REnvironment expEnv, RAbstractStringVector expNames) { - controlVisibility(); int length = impNames.getLength(); if (length != expNames.getLength()) { throw RError.error(this, Message.IMP_EXP_NAMES_MATCH); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java index da961f5fe53a0143873721827758164ec5f95da4..9c86d76106b540ff298ff0570f5df7846c137e6b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java @@ -105,45 +105,35 @@ public abstract class Identical extends RBuiltinNode { @SuppressWarnings("unused") @Specialization(guards = "isRNull(x) || isRNull(y)") protected byte doInternalIdenticalNull(Object x, Object y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return x == y ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization(guards = "isRMissing(x) || isRMissing(y)") protected byte doInternalIdenticalMissing(Object x, Object y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return x == y ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(byte x, byte y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return x == y ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(String x, String y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return x.equals(y) ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(double x, double y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); boolean truth = numEq ? x == y : Double.doubleToRawLongBits(x) == Double.doubleToRawLongBits(y); return truth ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @@ -177,27 +167,21 @@ public abstract class Identical extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(RAbstractLogicalVector x, REnvironment y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(REnvironment x, RAbstractLogicalVector y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(REnvironment x, REnvironment y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); // reference equality for environments return x == y ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @@ -205,9 +189,7 @@ public abstract class Identical extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected byte doInternalIdentical(RSymbol x, RSymbol y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); assert x.getName() == x.getName().intern() && y.getName() == y.getName().intern(); return x.getName() == y.getName() ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @@ -215,9 +197,7 @@ public abstract class Identical extends RBuiltinNode { @Specialization @TruffleBoundary protected byte doInternalIdentical(RLanguage x, RLanguage y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); if (x == y) { return RRuntime.LOGICAL_TRUE; } @@ -232,17 +212,13 @@ public abstract class Identical extends RBuiltinNode { @SuppressWarnings("unused") @Specialization byte doInternalIdentical(RFunction x, RFunction y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.asLogical(x == y); } @Specialization(guards = "!vectorsLists(x, y)") protected byte doInternalIdenticalGeneric(RAbstractVector x, RAbstractVector y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); if (vecLengthProfile.profile(x.getLength() != y.getLength())) { return RRuntime.LOGICAL_FALSE; } else { @@ -257,9 +233,7 @@ public abstract class Identical extends RBuiltinNode { @Specialization protected byte doInternalIdenticalGeneric(RList x, RList y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); if (x.getLength() != y.getLength()) { return RRuntime.LOGICAL_FALSE; } @@ -275,35 +249,27 @@ public abstract class Identical extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected byte doInternalIdenticalGeneric(RFunction x, RAbstractContainer y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdenticalGeneric(RLanguage x, RAbstractContainer y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") @Specialization protected byte doInternalIdenticalGeneric(RAbstractContainer x, RFunction y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.LOGICAL_FALSE; } @Specialization protected byte doInternalIdenticalGeneric(RS4Object x, RS4Object y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); if (x.isS4() != y.isS4()) { return RRuntime.LOGICAL_FALSE; } @@ -313,17 +279,13 @@ public abstract class Identical extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected byte doInternalIdenticalGeneric(RExternalPtr x, RExternalPtr y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return RRuntime.asLogical(x.getAddr() == y.getAddr()); } @Specialization protected byte doInternalIdenticalGeneric(RPairList x, RPairList y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); if (identicalRecursive(x.car(), y.car(), numEq, singleNA, attribAsSet, ignoreBytecode, ignoreEnvironment) == RRuntime.LOGICAL_FALSE) { return RRuntime.LOGICAL_FALSE; } @@ -375,18 +337,14 @@ public abstract class Identical extends RBuiltinNode { @Specialization protected byte doInternalIdenticalGeneric(RExpression x, RExpression y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); return doInternalIdenticalGeneric(x.getList(), y.getList(), numEq, singleNA, attribAsSet, ignoreBytecode, ignoreEnvironment); } @SuppressWarnings("unused") @Fallback protected byte doInternalIdenticalWrongTypes(Object x, Object y, boolean numEq, boolean singleNA, boolean attribAsSet, boolean ignoreBytecode, boolean ignoreEnvironment) { - if (!recursive) { - controlVisibility(); - } + updateVisibility(); if (x.getClass() != y.getClass()) { return RRuntime.LOGICAL_FALSE; } else { @@ -394,6 +352,15 @@ public abstract class Identical extends RBuiltinNode { } } + /** + * Common visibility related code that should be invoked in each specialization. + */ + private void updateVisibility() { + // this is the original code, + // TODO: what difference did it make, why is GnuR 'identical' visibility set to 'force ON' + // if (!recursive) setVisibility() + } + protected boolean vectorsLists(RAbstractVector x, RAbstractVector y) { return x instanceof RList && y instanceof RList; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IntToBits.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IntToBits.java index 1e3d728682b623b74a8d7d7228531e5ce41552a4..9364b83fa93ecafb4b86a0c1306bb49e327d8747 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IntToBits.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IntToBits.java @@ -42,13 +42,11 @@ public abstract class IntToBits extends RBuiltinNode { @Specialization protected RAbstractRawVector intToBits(@SuppressWarnings("unused") RNull x) { - controlVisibility(); return RDataFactory.createEmptyRawVector(); } @Specialization protected RAbstractRawVector intToBits(RAbstractIntVector x) { - controlVisibility(); byte[] result = new byte[32 * x.getLength()]; int pos = 0; for (int j = 0; j < x.getLength(); j++) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Interactive.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Interactive.java index 0c102c32d714d8a0b556f9bff006f0ec3086ce18..9a70126cbe34810af72f0c8fe0d00055e429e917 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Interactive.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Interactive.java @@ -33,7 +33,6 @@ import com.oracle.truffle.r.runtime.context.RContext; public abstract class Interactive extends RBuiltinNode { @Specialization protected byte interactive() { - controlVisibility(); return RRuntime.asLogical(RContext.getInstance().isInteractive()); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Internal.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Internal.java index 7a587e3652b1e32adb8c8849efc4033350f78fe8..9efe984d50488761b94d6c9406ab34ecd9521531 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Internal.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Internal.java @@ -75,7 +75,6 @@ public abstract class Internal extends RBuiltinNode { @Specialization protected Object doInternal(VirtualFrame frame, RPromise x) { - controlVisibility(); if (builtinCallNode == null) { RNode call = (RNode) x.getRep(); RNode operand = (RNode) RASTUtils.unwrap(call); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Invisible.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Invisible.java index b6cd29f07b3ad892e95f970146f98bfe8adf6f33..f4aa641168437be6b05e9c1fdb37a3b628641de2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Invisible.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Invisible.java @@ -40,7 +40,6 @@ public abstract class Invisible extends RBuiltinNode { @Specialization protected Object doInvisible(Object o) { - controlVisibility(); return o; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsATTY.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsATTY.java index bd5de1cf151235789a81c6e2e81e5c49b279eb25..6e0ce9cde5df4d71f73ddd760e43da096e27875b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsATTY.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsATTY.java @@ -37,13 +37,11 @@ public abstract class IsATTY extends RBuiltinNode { @Specialization protected byte isATTY(RConnection con) { - controlVisibility(); return RRuntime.asLogical(con instanceof StdConnection); } @Specialization(guards = "!isRConnection(con)") protected byte isATTYNonConnection(Object con) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFiniteFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFiniteFunctions.java index 9e84c08cf05f21a5f71fc23ab180d9c1896a1d99..d16c24e13b006520bf01d934c0a45e7dcc0661e2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFiniteFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFiniteFunctions.java @@ -80,7 +80,6 @@ public class IsFiniteFunctions { @Fallback protected Object doIsFiniteOther(Object x) { - controlVisibility(); if (typeofNode == null) { typeofNode = insert(TypeofNodeGen.create()); } @@ -89,14 +88,12 @@ public class IsFiniteFunctions { } protected RLogicalVector doFunConstant(RAbstractVector x, byte value) { - controlVisibility(); byte[] b = new byte[x.getLength()]; Arrays.fill(b, value); return RDataFactory.createLogicalVector(b, RDataFactory.COMPLETE_VECTOR); } protected RLogicalVector doFunDouble(RAbstractDoubleVector x, DoublePredicate fun) { - controlVisibility(); byte[] b = new byte[x.getLength()]; for (int i = 0; i < b.length; i++) { b[i] = RRuntime.asLogical(fun.test(x.getDataAt(i))); @@ -105,7 +102,6 @@ public class IsFiniteFunctions { } protected RLogicalVector doFunLogical(RAbstractLogicalVector x, LogicalPredicate fun) { - controlVisibility(); byte[] b = new byte[x.getLength()]; for (int i = 0; i < b.length; i++) { b[i] = RRuntime.asLogical(fun.test(x.getDataAt(i))); @@ -114,7 +110,6 @@ public class IsFiniteFunctions { } protected RLogicalVector doFunInt(RAbstractIntVector x, IntPredicate fun) { - controlVisibility(); byte[] b = new byte[x.getLength()]; for (int i = 0; i < b.length; i++) { b[i] = RRuntime.asLogical(fun.test(x.getDataAt(i))); @@ -123,7 +118,6 @@ public class IsFiniteFunctions { } protected RLogicalVector doFunComplex(RAbstractComplexVector x, ComplexPredicate fun) { - controlVisibility(); byte[] b = new byte[x.getLength()]; for (int i = 0; i < b.length; i++) { b[i] = RRuntime.asLogical(fun.test(x.getDataAt(i))); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsMethodsDispatchOn.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsMethodsDispatchOn.java index 570421eac269b4183b5b390046ff3828b43b69a3..10a33b1bb474b3f3a8e2e638abc5d447f0810aa7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsMethodsDispatchOn.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsMethodsDispatchOn.java @@ -36,7 +36,6 @@ public abstract class IsMethodsDispatchOn extends RBuiltinNode { @Specialization protected byte doIsMethodsDispatchOn() { - controlVisibility(); return RRuntime.asLogical(RContext.getInstance().isMethodTableDispatchOn()); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsNA.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsNA.java index 57df3b43b4afd5f6b469f66abb58e19e98ced44a..42461ac11012557d372a73036a6e3c8dd1f56c06 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsNA.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsNA.java @@ -66,13 +66,11 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected byte isNA(int value) { - controlVisibility(); return RRuntime.asLogical(RRuntime.isNA(value)); } @Specialization protected RLogicalVector isNA(RAbstractIntVector vector) { - controlVisibility(); byte[] resultVector = new byte[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { resultVector[i] = RRuntime.asLogical(RRuntime.isNA(vector.getDataAt(i))); @@ -82,13 +80,11 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected byte isNA(double value) { - controlVisibility(); return RRuntime.asLogical(RRuntime.isNAorNaN(value)); } @Specialization protected RLogicalVector isNA(RAbstractDoubleVector vector) { - controlVisibility(); byte[] resultVector = new byte[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { resultVector[i] = RRuntime.asLogical(RRuntime.isNAorNaN(vector.getDataAt(i))); @@ -98,7 +94,6 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected RLogicalVector isNA(RComplexVector vector) { - controlVisibility(); byte[] resultVector = new byte[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { RComplex complex = vector.getDataAt(i); @@ -109,13 +104,11 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected byte isNA(String value) { - controlVisibility(); return RRuntime.asLogical(RRuntime.isNA(value)); } @Specialization protected RLogicalVector isNA(RStringVector vector) { - controlVisibility(); byte[] resultVector = new byte[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { resultVector[i] = RRuntime.asLogical(RRuntime.isNA(vector.getDataAt(i))); @@ -125,7 +118,6 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected RLogicalVector isNA(RList list) { - controlVisibility(); byte[] resultVector = new byte[list.getLength()]; for (int i = 0; i < list.getLength(); i++) { Object result = isNARecursive(list.getDataAt(i)); @@ -152,13 +144,11 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected byte isNA(byte value) { - controlVisibility(); return RRuntime.asLogical(RRuntime.isNA(value)); } @Specialization protected RLogicalVector isNA(RLogicalVector vector) { - controlVisibility(); byte[] resultVector = new byte[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { resultVector[i] = (RRuntime.isNA(vector.getDataAt(i)) ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE); @@ -168,19 +158,16 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected byte isNA(RComplex value) { - controlVisibility(); return RRuntime.asLogical(RRuntime.isNA(value)); } @Specialization protected byte isNA(@SuppressWarnings("unused") RRaw value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } @Specialization protected RLogicalVector isNA(RRawVector vector) { - controlVisibility(); byte[] resultVector = new byte[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { resultVector[i] = RRuntime.LOGICAL_FALSE; @@ -190,21 +177,18 @@ public abstract class IsNA extends RBuiltinNode { @Specialization protected RLogicalVector isNA(RNull value) { - controlVisibility(); RError.warning(this, RError.Message.IS_NA_TO_NON_VECTOR, value.getRType().getName()); return RDataFactory.createEmptyLogicalVector(); } @Specialization protected byte isNA(RLanguage value) { - controlVisibility(); RError.warning(this, RError.Message.IS_NA_TO_NON_VECTOR, value.getRType().getName()); return RRuntime.LOGICAL_FALSE; } @Specialization protected byte isNA(RFunction value) { - controlVisibility(); RError.warning(this, RError.Message.IS_NA_TO_NON_VECTOR, value.getRType().getName()); return RRuntime.LOGICAL_FALSE; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTypeFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTypeFunctions.java index 411d3d030fb780a87c05c24c1481fba0a450ebef..974f03a544a12645a49aaeb563aea932d74b95c4 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTypeFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTypeFunctions.java @@ -77,7 +77,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RMissing value) throws RError { - controlVisibility(); throw missingError(); } } @@ -89,13 +88,11 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractVector vector) { - controlVisibility(); return RRuntime.asLogical(vector.isArray()); } @Specialization(guards = {"!isRMissing(value)", "!isRAbstractVector(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -105,19 +102,16 @@ public class IsTypeFunctions { @Specialization protected byte isRecursive(RNull arg) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } @Specialization(guards = "!isListVector(arg)") protected byte isRecursive(RAbstractVector arg) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } @Specialization protected byte isRecursive(RList arg) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -127,7 +121,6 @@ public class IsTypeFunctions { @Fallback protected byte isRecursiveFallback(Object value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } } @@ -139,13 +132,11 @@ public class IsTypeFunctions { @Specialization protected byte isAtomic(RNull arg) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization(guards = "!isRList(arg)") protected byte isAtomic(RAbstractVector arg) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -160,7 +151,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isRNull(value)", "!isFactor(value)", "!isNonListVector(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -175,7 +165,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isRLanguage(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -185,7 +174,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractStringVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -195,7 +183,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyCharacter(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -205,7 +192,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractComplexVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -215,7 +201,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyComplex(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -225,7 +210,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractDoubleVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -235,7 +219,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyDouble(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -250,7 +233,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isRExpression(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -265,7 +247,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isRFunction(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -275,7 +256,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractIntVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -285,7 +265,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyInteger(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -309,7 +288,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isRSymbol(value)", "!isRExpression(value)", "!isRLanguage(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -323,19 +301,16 @@ public class IsTypeFunctions { @Specialization protected byte isType(RList value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization protected byte isType(RPairList pl) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization(guards = {"!isRMissing(value)", "!isRList(value)", "!isRPairList(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -345,7 +320,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractLogicalVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -355,7 +329,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyLogical(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -367,13 +340,11 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractVector vector) { - controlVisibility(); return RRuntime.asLogical(isMatrixProfile.profile(vector.isMatrix())); } @Specialization(guards = {"!isRMissing(value)", "!isRAbstractVector(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -383,13 +354,11 @@ public class IsTypeFunctions { @Specialization protected byte isType(RSymbol value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization(guards = {"!isRMissing(value)", "!isRSymbol(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -399,19 +368,16 @@ public class IsTypeFunctions { @Specialization(guards = "!isFactor(value)") protected byte isType(RAbstractIntVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization(guards = "isFactor(value)") protected byte isTypeFactor(RAbstractIntVector value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } @Specialization protected byte isType(RAbstractDoubleVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -421,7 +387,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyNumeric(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } @@ -437,13 +402,11 @@ public class IsTypeFunctions { @Specialization protected byte isType(RNull value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization(guards = {"!isRMissing(value)", "!isRNull(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -464,13 +427,11 @@ public class IsTypeFunctions { @Specialization protected byte isObject(RAttributable arg) { - controlVisibility(); return arg.isObject(attrProfiles) ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } @Specialization(guards = {"!isRMissing(value)", "!isRAttributable(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -479,19 +440,16 @@ public class IsTypeFunctions { public abstract static class IsPairList extends MissingAdapter { @Specialization protected byte isType(RNull value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization protected byte isType(RPairList value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Specialization(guards = {"!isRMissing(value)", "!isRNull(value)", "!isRPairList(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -501,7 +459,6 @@ public class IsTypeFunctions { @Specialization protected byte isType(RAbstractRawVector value) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @@ -511,7 +468,6 @@ public class IsTypeFunctions { @Specialization(guards = {"!isRMissing(value)", "!isAnyRaw(value)"}) protected byte isType(Object value) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } @@ -529,13 +485,11 @@ public class IsTypeFunctions { @Specialization protected byte isVector(RMissing value, String mode) { - controlVisibility(); throw missingError(); } @Specialization protected byte isVector(RAbstractVector x, String mode) { - controlVisibility(); if (!namesOnlyOrNoAttr(x) || !modeIsAnyOrMatches(x, mode)) { return RRuntime.LOGICAL_FALSE; } else { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsUnsorted.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsUnsorted.java index 49dfdbd7bf55b52ecc86e7642395a9aba9e0b8e5..ca91a45af5024f2e888dd7948f012f626ed5dbfc 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsUnsorted.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsUnsorted.java @@ -43,7 +43,6 @@ public abstract class IsUnsorted extends RBuiltinNode { @Specialization protected byte isUnsorted(RAbstractDoubleVector x, @SuppressWarnings("unused") byte strictly) { - controlVisibility(); double last = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { double current = x.getDataAt(k); @@ -57,7 +56,6 @@ public abstract class IsUnsorted extends RBuiltinNode { @Specialization protected byte isUnsorted(RAbstractIntVector x, @SuppressWarnings("unused") byte strictly) { - controlVisibility(); int last = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { int current = x.getDataAt(k); @@ -71,7 +69,6 @@ public abstract class IsUnsorted extends RBuiltinNode { @Specialization protected byte isUnsorted(RAbstractStringVector x, @SuppressWarnings("unused") byte strictly) { - controlVisibility(); String last = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { String current = x.getDataAt(k); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java index 307ae4ca363c7d67c839938b4c1bbcde42364618..ee9c29326391620d178d7a2784afe2ef22b54305 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java @@ -70,7 +70,6 @@ public class LaFunctions { @Specialization protected Object doRg(RDoubleVector matrix, byte onlyValues) { - controlVisibility(); if (!matrix.isMatrix()) { errorProfile.enter(); throw RError.error(this, RError.Message.MUST_BE_SQUARE_NUMERIC, "x"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Lapply.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Lapply.java index 21381401026866c1b35231224bf56b32d3c65113..ea0226b0cc4b606948beedaeed3626ddde820fd9 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Lapply.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Lapply.java @@ -72,7 +72,6 @@ public abstract class Lapply extends RBuiltinNode { protected Object lapply(VirtualFrame frame, RAbstractVector vec, RFunction fun) { Object[] result = lapply.execute(frame, vec, fun); // set here else it gets overridden by the iterator evaluation - controlVisibility(); return RDataFactory.createList(result, vec.getNames(attrProfiles)); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Length.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Length.java index 1006d366124a00fd8b469916d02d85e8eea298ef..cee6a6cf726eb1116beaeed2a8eddefdd40c239b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Length.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Length.java @@ -38,7 +38,6 @@ public abstract class Length extends RBuiltinNode { @Specialization protected int getLength(VirtualFrame frame, Object vector, @Cached("create()") RLengthNode lengthNode) { - controlVisibility(); return lengthNode.executeInteger(frame, vector); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/License.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/License.java index e3e9a04340383b5ca9c55684766dfc3b927130e5..20f706f38a0985d033813194f5a9c2d6ad340294 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/License.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/License.java @@ -42,7 +42,6 @@ public abstract class License extends RBuiltinNode { @Specialization @TruffleBoundary protected Object license() { - controlVisibility(); try { StdConnections.getStdout().writeString(RRuntime.LICENSE, true); } catch (IOException ex) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ListBuiltin.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ListBuiltin.java index 934c97cd1c040b552550b2762b5d83cf117be050..d432025c7e423de5415b102c65764845fa7da009 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ListBuiltin.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ListBuiltin.java @@ -92,7 +92,6 @@ public abstract class ListBuiltin extends RBuiltinNode { @SuppressWarnings("unused") @Cached("args.getSignature()") ArgumentsSignature cachedSignature, // @Cached("argNameVector(cachedSignature)") RStringVector cachedArgNames) { Object[] argArray = args.getArguments(); - controlVisibility(); for (int i = 0; i < cachedLength; i++) { if (valueProfiles[i] == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); @@ -106,7 +105,6 @@ public abstract class ListBuiltin extends RBuiltinNode { @Specialization(guards = "!args.isEmpty()") protected RList list(RArgsValuesAndNames args) { Object[] argArray = args.getArguments(); - controlVisibility(); for (int i = 0; i < argArray.length; i++) { shareListElement(argArray[i]); } @@ -120,13 +118,11 @@ public abstract class ListBuiltin extends RBuiltinNode { @Specialization protected RList listMissing(@SuppressWarnings("unused") RMissing missing) { - controlVisibility(); return RDataFactory.createList(new Object[]{}); } @Specialization(guards = {"!isRArgsValuesAndNames(value)", "!isRMissing(value)"}) protected RList listSingleElement(Object value) { - controlVisibility(); shareListElement(value); if (suppliedSignatureArgNames == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LoadSaveFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LoadSaveFunctions.java index 4efe672398a271b174e6b8f5e8222dbd99cab281..12e973353d12506e881a4dcf24476370f345accf 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LoadSaveFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LoadSaveFunctions.java @@ -56,7 +56,6 @@ public class LoadSaveFunctions { @Specialization @TruffleBoundary protected RStringVector load(RConnection con, REnvironment envir, @SuppressWarnings("unused") RAbstractLogicalVector verbose) { - controlVisibility(); try (RConnection openConn = con.forceOpen("r")) { String s = openConn.readChar(5, true); if (s.equals("RDA2\n") || s.equals("RDB2\n") || s.equals("RDX2\n")) { @@ -116,7 +115,6 @@ public class LoadSaveFunctions { @Specialization @TruffleBoundary protected RStringVector load(RAbstractStringVector fileVec, @SuppressWarnings("unused") REnvironment envir) { - controlVisibility(); String path = Utils.tildeExpand(fileVec.getDataAt(0)); try (BufferedInputStream bs = new BufferedInputStream(new FileInputStream(path))) { int magic = readMagic(bs); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LocaleFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LocaleFunctions.java index 267342fc54e1008b458a0580fb899c1e298e5d9f..49ecf5d8f31d6aacae4b0e932ff784306bb875aa 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LocaleFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LocaleFunctions.java @@ -47,7 +47,6 @@ public class LocaleFunctions { @Specialization @TruffleBoundary protected Object getLocale(RAbstractIntVector categoryVec) { - controlVisibility(); // TODO implement all: for now just return not available (NULL) int category = categoryVec.getDataAt(0); switch (category) { @@ -82,7 +81,6 @@ public class LocaleFunctions { @Specialization @TruffleBoundary protected Object setLocale(@SuppressWarnings("unused") RAbstractIntVector categoryVec, RAbstractStringVector locale) { - controlVisibility(); // TODO implement properly!! return locale; } @@ -90,7 +88,6 @@ public class LocaleFunctions { @Specialization @TruffleBoundary protected Object setLocale(@SuppressWarnings("unused") RAbstractIntVector categoryVec, RNull locale) { - controlVisibility(); // TODO implement properly!! return locale; } @@ -101,7 +98,6 @@ public class LocaleFunctions { @Specialization @TruffleBoundary protected Object localeconv() { - controlVisibility(); RError.nyi(this, "localeconv"); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LogFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LogFunctions.java index a8de5fd7fedcf3f0fb77bafdea10404c42e2a1cd..29cb07a12ba959ffba96a4171d620ae89c97e2cb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LogFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LogFunctions.java @@ -59,25 +59,21 @@ public class LogFunctions { @SuppressWarnings("unused") @Specialization protected RNull log(RNull x, RNull base) { - controlVisibility(); throw RError.error(this, RError.Message.NON_NUMERIC_ARGUMENT_FUNCTION); } @Specialization protected double log(int x, double base) { - controlVisibility(); return logb(x, base); } @Specialization protected double log(double x, double base) { - controlVisibility(); return logb(x, base); } @Specialization protected RDoubleVector log(RIntVector vector, double base) { - controlVisibility(); double[] resultVector = new double[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { int inputValue = vector.getDataAt(i); @@ -92,7 +88,6 @@ public class LogFunctions { @Specialization protected RDoubleVector log(RDoubleVector vector, double base) { - controlVisibility(); double[] doubleVector = new double[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { double value = vector.getDataAt(i); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java index be33bcd600ccdae32a393e2e5c25c440af2e275e..c4af62535bc0d71875771a6a5730fe49c66a6733 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java @@ -38,7 +38,6 @@ public abstract class Ls extends RBuiltinNode { @Specialization @TruffleBoundary protected RStringVector ls(REnvironment envir, byte allNames, byte sorted) { - controlVisibility(); return envir.ls(RRuntime.fromLogical(allNames), null, RRuntime.fromLogical(sorted)); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MakeUnique.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MakeUnique.java index 408ed860e38fcd21b7eb60d7af61a9fb22973dd5..38e577403ba6d3cb49025f28a9aec877616e01ef 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MakeUnique.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MakeUnique.java @@ -45,7 +45,6 @@ public abstract class MakeUnique extends RBuiltinNode { @Specialization protected RAbstractStringVector makeUnique(RAbstractStringVector names, String sep) { - controlVisibility(); if (namesProfile.profile(names.getLength() == 0 || names.getLength() == 1)) { return names; } else { @@ -99,14 +98,12 @@ public abstract class MakeUnique extends RBuiltinNode { @SuppressWarnings("unused") @Specialization(guards = "!sepIsString(sep)") protected RAbstractStringVector makeUniqueWrongSep(RAbstractStringVector names, RAbstractVector sep) { - controlVisibility(); throw RError.error(this, RError.Message.MUST_BE_STRING, "sep"); } @SuppressWarnings("unused") @Specialization(guards = "!namesIsStringVector(names)") protected RAbstractStringVector makeUnique(RAbstractVector names, Object sep) { - controlVisibility(); throw RError.error(this, RError.Message.NOT_CHARACTER_VECTOR, "names"); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java index da4a543e88a007ca04e35b20059d9a2eef0c794a..20610124fb45bf35afc7c0a651d1103f8eb4f367 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java @@ -85,7 +85,6 @@ public abstract class Mapply extends RBuiltinNode { protected Object mApply(VirtualFrame frame, RFunction fun, RList dots, RList moreArgs) { Object[] result = mapply.execute(frame, dots, fun, moreArgs); // set here else it gets overridden by the iterator evaluation - controlVisibility(); return RDataFactory.createList(result); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java index 5336e7f0093b3e2a1fc5fe81bf9a45936c29469a..dd3c4e2fe564fc4cac1ff16b2fa4befa7ecd6938 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java @@ -76,7 +76,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "bothZeroDim(a, b)") protected RDoubleVector both0Dim(RAbstractDoubleVector a, RAbstractDoubleVector b) { - controlVisibility(); int r = b.getDimensions()[1]; int c = a.getDimensions()[0]; RDoubleVector result = RDataFactory.createDoubleVector(r * c); @@ -86,14 +85,12 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "hasZeroDim(a)") protected RAbstractVector left0Dim(RAbstractVector a, RAbstractVector b) { - controlVisibility(); int[] dim = a.getDimensions()[0] == 0 ? new int[]{0, b.getDimensions()[1]} : new int[]{b.getDimensions()[0], 0}; return a.copyWithNewDimensions(dim); } @Specialization(guards = "hasZeroDim(b)") protected RAbstractVector right0Dim(RAbstractVector a, RAbstractVector b) { - controlVisibility(); int[] dim = b.getDimensions()[0] == 0 ? new int[]{0, a.getDimensions()[1]} : new int[]{a.getDimensions()[0], 0}; return b.copyWithNewDimensions(dim); } @@ -124,7 +121,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "matmat(a, b)") protected RDoubleVector matmatmult(RAbstractDoubleVector a, RAbstractDoubleVector b) { - controlVisibility(); int[] aDimensions = a.getDimensions(); int[] bDimensions = b.getDimensions(); return doubleMatrixMultiply(a, b, aDimensions[0], aDimensions[1], bDimensions[0], bDimensions[1]); @@ -244,7 +240,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "vecvec(a, b)") protected RDoubleVector vecvecmult(RAbstractDoubleVector a, RAbstractDoubleVector b) { - controlVisibility(); if (a.getLength() != b.getLength()) { errorProfile.enter(); throw RError.error(this, RError.Message.NON_CONFORMABLE_ARGS); @@ -265,7 +260,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "matvec(a, b)") protected RDoubleVector matvecmult(RAbstractDoubleVector a, RAbstractDoubleVector b) { - controlVisibility(); int aRows = a.getDimensions()[0]; int aCols = a.getDimensions()[1]; int bRows; @@ -282,7 +276,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "vecmat(a, b)") protected RDoubleVector vecmatmult(RAbstractDoubleVector a, RAbstractDoubleVector b) { - controlVisibility(); int bRows = b.getDimensions()[0]; int bCols = b.getDimensions()[1]; int aRows; @@ -301,7 +294,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "matmat(a, b)") protected RComplexVector matmatmult(RAbstractComplexVector a, RAbstractComplexVector b) { - controlVisibility(); final int aCols = a.getDimensions()[1]; final int bRows = b.getDimensions()[0]; if (aCols != bRows) { @@ -330,7 +322,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "vecvec(a, b)") protected RComplexVector vecvecmult(RAbstractComplexVector a, RAbstractComplexVector b) { - controlVisibility(); if (a.getLength() != b.getLength()) { errorProfile.enter(); throw RError.error(this, RError.Message.NON_CONFORMABLE_ARGS); @@ -347,7 +338,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "matvec(a, b)") protected RComplexVector matvecmult(RAbstractComplexVector a, RAbstractComplexVector b) { - controlVisibility(); final int aCols = a.getDimensions()[1]; final int aRows = a.getDimensions()[0]; if (aCols != 1 && aCols != b.getLength()) { @@ -384,7 +374,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "vecmat(a, b)") protected RComplexVector vecmatmult(RAbstractComplexVector a, RAbstractComplexVector b) { - controlVisibility(); final int bRows = b.getDimensions()[0]; final int bCols = b.getDimensions()[1]; if (bRows != 1 && bRows != a.getLength()) { @@ -423,7 +412,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "matmat(a, b)") protected RIntVector matmatmult(RAbstractIntVector a, RAbstractIntVector b) { - controlVisibility(); final int aCols = a.getDimensions()[1]; final int bRows = b.getDimensions()[0]; if (aCols != bRows) { @@ -450,7 +438,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "vecvec(a, b)") protected RIntVector vecvecmult(RAbstractIntVector a, RAbstractIntVector b) { - controlVisibility(); if (a.getLength() != b.getLength()) { errorProfile.enter(); throw RError.error(this, RError.Message.NON_CONFORMABLE_ARGS); @@ -466,7 +453,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "matvec(a, b)") protected RIntVector matvecmult(RAbstractIntVector a, RAbstractIntVector b) { - controlVisibility(); final int aCols = a.getDimensions()[1]; final int aRows = a.getDimensions()[0]; if (aCols != 1 && aCols != b.getLength()) { @@ -501,7 +487,6 @@ public abstract class MatMult extends RBuiltinNode { @Specialization(guards = "vecmat(a, b)") protected RIntVector vecmatmult(RAbstractIntVector a, RAbstractIntVector b) { - controlVisibility(); final int bCols = b.getDimensions()[1]; final int bRows = b.getDimensions()[0]; if (bRows != 1 && bRows != a.getLength()) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java index 4ad15a8179be32411b9b5e701b4084a09ff48cbc..42fcb9b51383cad27c960ac8698bdbc2f0916aa8 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java @@ -137,7 +137,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractIntVector x, RAbstractIntVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -174,7 +173,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractDoubleVector x, RAbstractIntVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -211,7 +209,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractIntVector x, RAbstractDoubleVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -255,7 +252,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractDoubleVector x, RAbstractDoubleVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -292,7 +288,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractIntVector x, RAbstractLogicalVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -328,7 +323,6 @@ public abstract class Match extends RBuiltinNode { @Cached("create()") NAProfile naProfile, // @Cached("create()") BranchProfile foundProfile, // @Cached("create()") BranchProfile notFoundProfile) { - controlVisibility(); String element = x.getDataAt(0); int length = table.getLength(); if (naProfile.isNA(element)) { @@ -353,7 +347,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractStringVector x, RAbstractStringVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -408,7 +401,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractLogicalVector x, RAbstractLogicalVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -440,7 +432,6 @@ public abstract class Match extends RBuiltinNode { @Specialization(guards = "!isStringVectorTable(table)") protected RIntVector match(RAbstractStringVector x, RAbstractVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; @@ -463,7 +454,6 @@ public abstract class Match extends RBuiltinNode { @Specialization protected RIntVector match(RAbstractComplexVector x, RAbstractComplexVector table, RAbstractIntVector nomatchVec, @SuppressWarnings("unused") Object incomparables) { - controlVisibility(); int nomatch = nomatchVec.getLength() == 0 ? RRuntime.INT_NA : nomatchVec.getDataAt(0); int[] result = initResult(x.getLength(), nomatch); boolean matchAll = true; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java index 610f85989d82f7ba1055b6e248885429d51c8cd8..8c9731867332ee7d94e5651b3106fa15fb491f3c 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java @@ -70,7 +70,6 @@ public abstract class Matrix extends RBuiltinNode { @Specialization(guards = "!isTrue(byrow)") @SuppressWarnings("unused") protected RAbstractVector matrixbc(RAbstractVector data, int nrow, int ncol, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { - controlVisibility(); int[] dim = computeDimByCol(data.getLength(), nrow, ncol, missingNr, missingNc); if (empty.profile(data.getLength() == 0)) { if (isList.profile(data instanceof RList)) { @@ -104,14 +103,12 @@ public abstract class Matrix extends RBuiltinNode { res = data.copyResizedWithDimensions(dim, false); res = updateDimNames(res, dimnames); } - controlVisibility(); return res; } @Specialization(guards = "isTrue(byrow)") @SuppressWarnings("unused") protected RAbstractVector matrixbr(RAbstractVector data, int nrow, int ncol, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { - controlVisibility(); int[] dim = computeDimByRow(data.getLength(), nrow, ncol, missingNr, missingNc); if (transpose == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); @@ -154,7 +151,6 @@ public abstract class Matrix extends RBuiltinNode { res = (RVector) transpose.execute(data.copyResizedWithDimensions(dim, false)); res = updateDimNames(res, dimnames); } - controlVisibility(); return res; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mean.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mean.java index 6089d1efca02f36a976f96ecce2eb05cbeea04dd..3314ec6f9f14647fdb2558b2db09f977cb25c86f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mean.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mean.java @@ -47,7 +47,6 @@ public abstract class Mean extends RBuiltinNode { @Specialization protected double mean(RAbstractDoubleVector x) { - controlVisibility(); if (x.getLength() == 0) { emptyProfile.enter(); return Double.NaN; @@ -61,7 +60,6 @@ public abstract class Mean extends RBuiltinNode { @Specialization protected double mean(RAbstractIntVector x) { - controlVisibility(); if (x.getLength() == 0) { emptyProfile.enter(); return Double.NaN; @@ -75,7 +73,6 @@ public abstract class Mean extends RBuiltinNode { @Specialization protected double mean(RAbstractLogicalVector x) { - controlVisibility(); if (x.getLength() == 0) { emptyProfile.enter(); return Double.NaN; @@ -89,7 +86,6 @@ public abstract class Mean extends RBuiltinNode { @Specialization protected RComplex mean(RAbstractComplexVector x) { - controlVisibility(); if (x.getLength() == 0) { emptyProfile.enter(); return RDataFactory.createComplex(Double.NaN, Double.NaN); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Missing.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Missing.java index 7667d196be10d6dd505fe51437ba529a964ec669..d4d5ebfbe94c7a5b0d92c214951cb9761ea9c845 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Missing.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Missing.java @@ -154,7 +154,6 @@ public abstract class Missing extends RBuiltinNode { @Specialization protected byte missing(VirtualFrame frame, RPromise promise) { - controlVisibility(); if (repCache == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); repCache = insert(createRepCache(0)); @@ -165,13 +164,11 @@ public abstract class Missing extends RBuiltinNode { @Specialization protected byte missing(@SuppressWarnings("unused") RMissing obj) { - controlVisibility(); return RRuntime.LOGICAL_TRUE; } @Fallback protected byte missing(@SuppressWarnings("unused") Object obj) { - controlVisibility(); return RRuntime.LOGICAL_FALSE; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NChar.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NChar.java index 9fb021ee9d1d4a05c1ecb5baefbe32bcec831ad8..d4e2b90a0dcb6da10ba0293b5af4782bb2f21a79 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NChar.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NChar.java @@ -73,49 +73,42 @@ public abstract class NChar extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RIntVector nchar(RNull value, String type, byte allowNA, byte keepNA) { - controlVisibility(); return RDataFactory.createEmptyIntVector(); } @SuppressWarnings("unused") @Specialization protected int nchar(int value, String type, byte allowNA, byte keepNA) { - controlVisibility(); return coerceContent(value).length(); } @SuppressWarnings("unused") @Specialization protected int nchar(double value, String type, byte allowNA, byte keepNA) { - controlVisibility(); return coerceContent(value).length(); } @SuppressWarnings("unused") @Specialization protected int nchar(byte value, String type, byte allowNA, byte keepNA) { - controlVisibility(); return coerceContent(value).length(); } @SuppressWarnings("unused") @Specialization(guards = "vector.getLength() == 0") protected RIntVector ncharL0(RAbstractStringVector vector, String type, byte allowNA, byte keepNA) { - controlVisibility(); return RDataFactory.createEmptyIntVector(); } @SuppressWarnings("unused") @Specialization(guards = "vector.getLength() == 1") protected int ncharL1(RAbstractStringVector vector, String type, byte allowNA, byte keepNA) { - controlVisibility(); return vector.getDataAt(0).length(); } @SuppressWarnings("unused") @Specialization(guards = "vector.getLength() > 1") protected RIntVector nchar(RAbstractStringVector vector, String type, byte allowNA, byte keepNA) { - controlVisibility(); int len = vector.getLength(); int[] result = new int[len]; for (int i = 0; i < len; i++) { @@ -127,7 +120,6 @@ public abstract class NChar extends RBuiltinNode { @SuppressWarnings("unused") @Fallback protected RIntVector nchar(Object obj, Object type, Object allowNA, Object keepNA) { - controlVisibility(); if (factorInheritsCheck == null) { CompilerDirectives.transferToInterpreter(); factorInheritsCheck = insert(new InheritsCheckNode(RRuntime.CLASS_FACTOR)); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NZChar.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NZChar.java index 49181da7bf1174e294d6e4c1f1060085b6b2031b..69a5311f651d88637f52e3a560c49693531a713f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NZChar.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NZChar.java @@ -62,31 +62,26 @@ public abstract class NZChar extends RBuiltinNode { @Specialization protected RLogicalVector rev(@SuppressWarnings("unused") RNull value) { - controlVisibility(); return RDataFactory.createEmptyLogicalVector(); } @Specialization protected byte rev(int value) { - controlVisibility(); return isNonZeroLength(coerceContent(value)); } @Specialization protected byte rev(double value) { - controlVisibility(); return isNonZeroLength(coerceContent(value)); } @Specialization protected byte rev(byte value) { - controlVisibility(); return isNonZeroLength(coerceContent(value)); } @Specialization protected RLogicalVector rev(RStringVector vector) { - controlVisibility(); int len = vector.getLength(); byte[] result = new byte[len]; for (int i = 0; i < len; i++) { @@ -97,7 +92,6 @@ public abstract class NZChar extends RBuiltinNode { @Specialization protected RLogicalVector rev(RAbstractVector vector) { - controlVisibility(); int len = vector.getLength(); byte[] result = new byte[len]; for (int i = 0; i < len; i++) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java index 64d7c1dbfa26f9f90c670bdc9569a712e32df639..f3a801971b47f4c1b5b744b4839f0d0916755beb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java @@ -43,7 +43,6 @@ public abstract class Names extends RBuiltinNode { @Specialization protected Object getNames(RAbstractContainer container) { - controlVisibility(); if (hasNames.profile(container.getNames(attrProfiles) != null)) { return container.getNames(attrProfiles); } else { @@ -54,13 +53,11 @@ public abstract class Names extends RBuiltinNode { @Specialization @TruffleBoundary protected Object getNames(REnvironment env) { - controlVisibility(); return env.ls(true, null, false); } @Fallback protected RNull getNames(@SuppressWarnings("unused") Object operand) { - controlVisibility(); return RNull.instance; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java index a0afca1494b3f42571a3f14fedff68b8e1906219..2a89a3f590be9c7ee7a5b7d863436727ae063e5f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java @@ -40,7 +40,6 @@ public class NamespaceFunctions { public abstract static class GetRegisteredNamespace extends RBuiltinNode { @Specialization protected Object doGetRegisteredNamespace(RAbstractStringVector name) { - controlVisibility(); Object result = REnvironment.getRegisteredNamespace(name.getDataAt(0)); if (result == null) { return RNull.instance; @@ -51,7 +50,6 @@ public class NamespaceFunctions { @Specialization protected Object doGetRegisteredNamespace(RSymbol name) { - controlVisibility(); Object result = REnvironment.getRegisteredNamespace(name.getName()); if (result == null) { return RNull.instance; @@ -65,7 +63,6 @@ public class NamespaceFunctions { public abstract static class IsRegisteredNamespace extends RBuiltinNode { @Specialization protected byte doIsRegisteredNamespace(RAbstractStringVector name) { - controlVisibility(); Object result = REnvironment.getRegisteredNamespace(name.getDataAt(0)); if (result == null) { return RRuntime.LOGICAL_FALSE; @@ -76,7 +73,6 @@ public class NamespaceFunctions { @Specialization protected Object doIsRegisteredNamespace(RSymbol name) { - controlVisibility(); Object result = REnvironment.getRegisteredNamespace(name.getName()); if (result == null) { return RRuntime.LOGICAL_FALSE; @@ -90,7 +86,6 @@ public class NamespaceFunctions { public abstract static class IsNamespaceEnv extends RBuiltinNode { @Specialization protected byte doIsNamespaceEnv(REnvironment env) { - controlVisibility(); return RRuntime.asLogical(env.isNamespaceEnv()); } } @@ -99,7 +94,6 @@ public class NamespaceFunctions { public abstract static class GetNamespaceRegistry extends RBuiltinNode { @Specialization protected REnvironment doGetNamespaceRegistry() { - controlVisibility(); return REnvironment.getNamespaceRegistry(); } } @@ -108,7 +102,6 @@ public class NamespaceFunctions { public abstract static class RegisterNamespace extends RBuiltinNode { @Specialization protected RNull registerNamespace(String name, REnvironment env) { - controlVisibility(); if (REnvironment.registerNamespace(name, env) == null) { throw RError.error(this, RError.Message.NS_ALREADY_REG); } @@ -120,14 +113,12 @@ public class NamespaceFunctions { public abstract static class UnregisterNamespace extends RBuiltinNode { @Specialization protected RNull unregisterNamespace(RAbstractStringVector name) { - controlVisibility(); doUnregisterNamespace(name.getDataAt(0)); return RNull.instance; } @Specialization protected Object unregisterNamespace(RSymbol name) { - controlVisibility(); doUnregisterNamespace(name.getName()); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java index 8550009309cc2dff1e30f623ba182d0577beffd7..f179481dc1b7a427ebea5a7bcee8a30b2c5f8761 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java @@ -50,7 +50,6 @@ public abstract class NormalizePath extends RBuiltinNode { @Specialization @TruffleBoundary protected RStringVector doNormalizePath(RAbstractStringVector pathVec, @SuppressWarnings("unused") String winslash, byte mustWork) { - controlVisibility(); String[] results = new String[pathVec.getLength()]; FileSystem fileSystem = FileSystems.getDefault(); for (int i = 0; i < results.length; i++) { @@ -88,7 +87,6 @@ public abstract class NormalizePath extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected Object doNormalizePath(Object path, Object winslash, Object mustWork) { - controlVisibility(); throw RError.error(this, RError.Message.WRONG_TYPE); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OnExit.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OnExit.java index 27651c37d77b1ab49ecbdebd4bbb5ceaac155e80..4154d779aa2af22e17ea157bc1f0d440ddbf49b8 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OnExit.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OnExit.java @@ -71,7 +71,6 @@ public abstract class OnExit extends RBuiltinNode { @Specialization protected Object onExit(VirtualFrame frame, RPromise expr, byte add) { - controlVisibility(); if (na.isNA(add)) { throw RError.error(this, RError.Message.INVALID_ARGUMENT, "add"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OptionsFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OptionsFunctions.java index 34b9ceeeb3279c87ad802094b6272d6afad11ef6..7349f82ac280dd0937c5153c8c4de784dc767999 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OptionsFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/OptionsFunctions.java @@ -64,7 +64,6 @@ public class OptionsFunctions { @Specialization @TruffleBoundary protected RList options(@SuppressWarnings("unused") RMissing x) { - controlVisibility(); Set<Map.Entry<String, Object>> optionSettings = RContext.getInstance().stateROptions.getValues(); Object[] data = new Object[optionSettings.size()]; String[] names = new String[data.length]; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java index 5df55c8e7ecb29b4a63f9581d03e7f4c6be9f8e2..ef35ff7e37cd4ebb59aa594134388ba9b62750b5 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java @@ -117,7 +117,6 @@ public abstract class Parse extends RBuiltinNode { @Specialization protected Object parse(RConnection conn, Object n, Object text, RAbstractStringVector prompt, Object srcFile, RAbstractStringVector encoding) { - controlVisibility(); int nAsInt; if (n != RNull.instance) { nAsInt = castInt(n); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste.java index 99a8555a62adeee643c8f93ae8c35f45a066bfd5..0059367e2f98579ff1c4da546d24871da6b4f441 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste.java @@ -96,7 +96,6 @@ public abstract class Paste extends RBuiltinNode { @Specialization protected RStringVector pasteList(RList values, String sep, @SuppressWarnings("unused") RNull collapse) { - controlVisibility(); int length = lengthProfile.profile(values.getLength()); if (hasNonNullElements(values, length)) { String[] result = pasteListElements(values, sep, length); @@ -109,7 +108,6 @@ public abstract class Paste extends RBuiltinNode { @Specialization(guards = "!isRNull(collapse)") protected String pasteList(RList values, String sep, Object collapse, // @Cached("createBinaryProfile()") ConditionProfile collapseIsVectorProfile) { - controlVisibility(); int length = lengthProfile.profile(values.getLength()); if (hasNonNullElements(values, length)) { String[] result = pasteListElements(values, sep, length); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste0.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste0.java index e34812cc4951788e8458fd34f25d44f0b9e81e2c..a2a0c1200306ccd3550fe8030a4b66123948acf6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste0.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Paste0.java @@ -49,7 +49,6 @@ public abstract class Paste0 extends RBuiltinNode { @Specialization protected Object paste0(RList values, Object collapse) { - controlVisibility(); return paste(values, collapse); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java index c18653ce23fcd56e11e9bfa5527ceb287697ee5f..9c326079e980804cc5957a12e4390458ec9d0132 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java @@ -39,7 +39,6 @@ public abstract class PathExpand extends RBuiltinNode { @Specialization @TruffleBoundary protected Object doPathExpand(RAbstractStringVector vec) { - controlVisibility(); String[] results = new String[vec.getLength()]; for (int i = 0; i < results.length; i++) { String path = Utils.tildeExpand(vec.getDataAt(i), true); @@ -51,7 +50,6 @@ public abstract class PathExpand extends RBuiltinNode { @Specialization @TruffleBoundary protected Object doPathExpandGeneric(@SuppressWarnings("unused") Object path) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "path"); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrintFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrintFunctions.java index 79cd16876d56784168e3dc594664553b0cbe4a9b..1fcfbb4519f485e230ec97438c75fea099be47fa 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrintFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrintFunctions.java @@ -33,7 +33,6 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.r.nodes.access.variables.ReadVariableNode; import com.oracle.truffle.r.nodes.builtin.CastBuilder; import com.oracle.truffle.r.nodes.builtin.RBuiltinNode; -import com.oracle.truffle.r.nodes.builtin.RInvisibleBuiltinNode; import com.oracle.truffle.r.nodes.builtin.base.printer.PrintParameters; import com.oracle.truffle.r.nodes.builtin.base.printer.ValuePrinterNode; import com.oracle.truffle.r.nodes.builtin.base.printer.ValuePrinterNodeGen; @@ -82,7 +81,6 @@ public class PrintFunctions { @Specialization(guards = "!isS4(o)") protected Object printDefault(Object o, Object digits, boolean quote, Object naPrint, Object printGap, boolean right, Object max, boolean useSource, boolean noOpt) { valuePrinter.executeString(o, digits, quote, naPrint, printGap, right, max, useSource, noOpt); - controlVisibility(); return o; } @@ -112,7 +110,6 @@ public class PrintFunctions { @Specialization protected RFunction printFunction(RFunction x, byte useSource, RArgsValuesAndNames extra) { valuePrinter.executeString(x, PrintParameters.DEFAULT_DIGITS, true, RString.valueOf(RRuntime.STRING_NA), 1, false, PrintParameters.getDeafultMaxPrint(), true, false); - controlVisibility(); return x; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java index b3ae75afa3007fdaf81db64ec41cd5dad8a75f20..73ad80badcbe872f41040c7390caf507578e0779 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java @@ -46,7 +46,6 @@ public abstract class ProcTime extends RBuiltinNode { @Specialization @TruffleBoundary protected RDoubleVector procTime() { - controlVisibility(); double[] data = new double[5]; Engine.Timings timings = RContext.getEngine().getTimings(); long nowInNanos = timings.elapsedTimeInNanos(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Prod.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Prod.java index 9c495dd8c56da289115d18cf0ecdc10a7d7c5a20..26adccf1fb38342f7ed2d8704d261d5c15b9f903 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Prod.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Prod.java @@ -51,7 +51,6 @@ public abstract class Prod extends RBuiltinNode { @Specialization protected double prod(RAbstractDoubleVector x) { - controlVisibility(); double product = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { product = prod.op(product, x.getDataAt(k)); @@ -61,7 +60,6 @@ public abstract class Prod extends RBuiltinNode { @Specialization protected double prod(RAbstractIntVector x) { - controlVisibility(); double product = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { product = prod.op(product, x.getDataAt(k)); @@ -71,7 +69,6 @@ public abstract class Prod extends RBuiltinNode { @Specialization protected double prod(RAbstractLogicalVector x) { - controlVisibility(); double product = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { product = prod.op(product, x.getDataAt(k)); @@ -81,7 +78,6 @@ public abstract class Prod extends RBuiltinNode { @Specialization protected RComplex prod(RAbstractComplexVector x) { - controlVisibility(); RComplex product = x.getDataAt(0); for (int k = 1; k < x.getLength(); k++) { RComplex a = x.getDataAt(k); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quit.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quit.java index 8edef98dc46925beb11c5a13e3fd89d8aa376a2a..f0767b59c7c37ba76725c51c5f13c35c90592807 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quit.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quit.java @@ -49,7 +49,6 @@ public abstract class Quit extends RBuiltinNode { @Specialization @TruffleBoundary protected Object doQuit(String saveArg, int status, byte runLast) { - controlVisibility(); if (BrowserInteractNode.inBrowser()) { RError.warning(this, RError.Message.BROWSER_QUIT); return null; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quote.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quote.java index 00ecbf1b2b936e8c73c7ea84373cc9a8c0f0d46b..6a8e2b2c5b84458a0cb4802fec9462991aa57152 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quote.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Quote.java @@ -55,7 +55,6 @@ public abstract class Quote extends RBuiltinNode { @Specialization protected Object doQuote(RPromise expr) { - controlVisibility(); // GnuR creates symbols for simple variables and actual values for constants RNode node = (RNode) expr.getRep(); RNode unode = (RNode) RASTUtils.unwrap(node); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java index f7fcb85280f2cef2dc320cd1627017721fd89f49..c78e633464ee0b2cf10aeb27e6d1efc5748b5ba1 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java @@ -44,7 +44,6 @@ public class RNGFunctions { @SuppressWarnings("unused") @Specialization protected RNull setSeed(double seed, RNull kind, RNull normKind) { - controlVisibility(); doSetSeed((int) seed, RRNG.NO_KIND_CHANGE, RRNG.NO_KIND_CHANGE); return RNull.instance; } @@ -52,7 +51,6 @@ public class RNGFunctions { @SuppressWarnings("unused") @Specialization protected RNull setSeed(double seed, RAbstractIntVector kind, RNull normKind) { - controlVisibility(); doSetSeed((int) seed, kind.getDataAt(0), RRNG.NO_KIND_CHANGE); return RNull.instance; } @@ -60,7 +58,6 @@ public class RNGFunctions { @SuppressWarnings("unused") @Specialization protected RNull setSeed(RNull seed, RNull kind, RNull normKind) { - controlVisibility(); doSetSeed(RRNG.RESET_SEED, RRNG.NO_KIND_CHANGE, RRNG.NO_KIND_CHANGE); return RNull.instance; } @@ -68,7 +65,6 @@ public class RNGFunctions { @SuppressWarnings("unused") @Specialization protected RNull setSeed(byte seed, RNull kind, RNull normKind) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.SEED_NOT_VALID_INT); } @@ -91,7 +87,6 @@ public class RNGFunctions { @Specialization protected RIntVector doRNGkind(Object kind, Object normKind) { - controlVisibility(); RIntVector result = getCurrent(); int kindChange = checkType(kind, "kind"); int normKindChange = checkType(normKind, "normkind"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RVersion.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RVersion.java index 819ed4914ae8d239fb777603bf8ff8dda4e3b408..513633048964ab1949e916c98e8083ba2cc6916b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RVersion.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RVersion.java @@ -37,7 +37,6 @@ public abstract class RVersion extends RBuiltinNode { @Specialization @TruffleBoundary protected Object doRVersion() { - controlVisibility(); return RDataFactory.createList(RVersionInfo.listValues(), RDataFactory.createStringVector(RVersionInfo.listNames(), RDataFactory.COMPLETE_VECTOR)); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ReadREnviron.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ReadREnviron.java index 1261310b7f8c06e0ba088cf25bca5d89d0eebb41..45a89d44c7bc41796ea150cc1b1edaffc567342f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ReadREnviron.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ReadREnviron.java @@ -45,7 +45,6 @@ public abstract class ReadREnviron extends RBuiltinNode { @Specialization(guards = "lengthOneCVector(vec)") @TruffleBoundary protected Object doReadEnviron(RAbstractStringVector vec) { - controlVisibility(); String path = Utils.tildeExpand(vec.getDataAt(0)); byte result = RRuntime.LOGICAL_TRUE; try { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java index 26290f0312a77442710bdd73eaabdfde87ac7d88..49a53c7f08decbacddac8d32e836b569a18bbdb1 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java @@ -70,7 +70,6 @@ public abstract class RepeatInternal extends RBuiltinNode { private <ValueT extends RAbstractVector, ResultT extends ValueT, ArrayT> ResultT repInt(ValueT value, RAbstractIntVector times, IntFunction<ArrayT> arrayConstructor, ArrayUpdateFunction<ValueT, ArrayT> arrayUpdate, CreateResultFunction<ResultT, ArrayT> createResult) { - controlVisibility(); ArrayT result; int timesLength = times.getLength(); int valueLength = value.getLength(); @@ -136,7 +135,6 @@ public abstract class RepeatInternal extends RBuiltinNode { @Specialization protected RList repList(RList value, int times) { - controlVisibility(); int oldLength = value.getLength(); int length = value.getLength() * times; Object[] array = new Object[length]; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatLength.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatLength.java index 7363d91d358f41ecc71b3441c6b3e00b461203bd..f53dea1c44aa08fe00be0bb651a1263c07f2c678 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatLength.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatLength.java @@ -45,7 +45,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization @SuppressWarnings("unused") protected RNull repLen(RNull value, int length) { - controlVisibility(); return RNull.instance; } @@ -54,7 +53,6 @@ public abstract class RepeatLength extends RBuiltinNode { // @Specialization protected RRawVector repLen(RRaw value, int length) { - controlVisibility(); byte[] array = new byte[length]; Arrays.fill(array, value.getValue()); return RDataFactory.createRawVector(array); @@ -62,7 +60,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RIntVector repLen(int value, int length) { - controlVisibility(); int[] array = new int[length]; Arrays.fill(array, length); return RDataFactory.createIntVector(array, !RRuntime.isNA(value)); @@ -70,7 +67,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RDoubleVector repLen(double value, int length) { - controlVisibility(); double[] array = new double[length]; Arrays.fill(array, value); return RDataFactory.createDoubleVector(array, !RRuntime.isNA(value)); @@ -78,7 +74,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RStringVector repLen(String value, int length) { - controlVisibility(); String[] array = new String[length]; Arrays.fill(array, value); return RDataFactory.createStringVector(array, !RRuntime.isNA(value)); @@ -86,7 +81,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RComplexVector repLen(RComplex value, int length) { - controlVisibility(); int complexLength = length * 2; double[] array = new double[complexLength]; for (int i = 0; i < complexLength; i += 2) { @@ -98,7 +92,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RLogicalVector repLen(byte value, int length) { - controlVisibility(); byte[] array = new byte[length]; Arrays.fill(array, value); return RDataFactory.createLogicalVector(array, value != RRuntime.LOGICAL_NA); @@ -109,7 +102,6 @@ public abstract class RepeatLength extends RBuiltinNode { // @Specialization protected RIntVector repLen(RAbstractIntVector value, int length) { - controlVisibility(); int[] array = new int[length]; for (int i = 0, j = 0; i < length; i++, j = Utils.incMod(j, value.getLength())) { array[i] = value.getDataAt(j); @@ -119,7 +111,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RDoubleVector repLen(RDoubleVector value, int length) { - controlVisibility(); double[] array = new double[length]; for (int i = 0, j = 0; i < length; i++, j = Utils.incMod(j, value.getLength())) { array[i] = value.getDataAt(j); @@ -129,7 +120,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RStringVector repLen(RStringVector vectorToRepeat, int length) { - controlVisibility(); String[] result = new String[length]; int vectorToRepeatLength = vectorToRepeat.getLength(); for (int i = 0; i < length; i++) { @@ -140,7 +130,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RRawVector repLen(RRawVector value, int length) { - controlVisibility(); byte[] array = new byte[length]; for (int i = 0, j = 0; i < length; i++, j = Utils.incMod(j, value.getLength())) { array[i] = value.getDataAt(j).getValue(); @@ -150,7 +139,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RComplexVector repLen(RComplexVector value, int length) { - controlVisibility(); final int resultLength = length * 2; double[] array = new double[resultLength]; for (int i = 0, j = 0; i < resultLength; i += 2, j = Utils.incMod(j, value.getLength())) { @@ -162,7 +150,6 @@ public abstract class RepeatLength extends RBuiltinNode { @Specialization protected RList repLen(RList list, int length) { - controlVisibility(); Object[] data = new Object[length]; for (int i = 0; i < length; i++) { data[i] = list.getDataAt(i % list.getLength()); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Return.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Return.java index 73ed1270eedfe9fe33d9f2edc478a268bad6fe1e..10b9a6dbf33491f205ab36a71e9bb3d408ed4fef 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Return.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Return.java @@ -76,7 +76,6 @@ public abstract class Return extends RBuiltinNode { @Specialization protected Object returnFunction(VirtualFrame frame, RPromise expr) { - controlVisibility(); // Evaluate the result Object value = initPromiseHelper().evaluate(frame, expr); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java index 0c71364b2f6b7b950dc5f359a32d9c7784ed4726..e4c97dd35115f3f3168f8dbbee87011e0346adc7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java @@ -39,7 +39,6 @@ public abstract class Rhome extends RBuiltinNode { @Specialization @TruffleBoundary protected String doRhome() { - controlVisibility(); return REnvVars.rHome(); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java index 787d7d8ff6128d9821375c9be34932e4c7863771..fe2650e98bb0dd0d596f8bb54ac9be57ba335bc7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java @@ -51,7 +51,6 @@ public abstract class Rm extends RBuiltinNode { @Specialization @SuppressWarnings("unused") protected Object rm(VirtualFrame frame, String name, RMissing envir, byte inherits) { - controlVisibility(); removeFromFrame(frame, name); return RNull.instance; } @@ -60,7 +59,6 @@ public abstract class Rm extends RBuiltinNode { @TruffleBoundary @SuppressWarnings("unused") protected Object rm(RAbstractStringVector list, REnvironment envir, byte inherits) { - controlVisibility(); try { for (int i = 0; i < list.getLength(); i++) { if (envir == REnvironment.globalEnv()) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java index 4ff244c3d0e12b1c00a987e8329246fa34f7b08b..62cdc8b9288a86af2697060c2559a20f469ed35d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java @@ -66,35 +66,30 @@ public abstract class Round extends RBuiltinNode { @Specialization protected double round(int x, @SuppressWarnings("unused") int digits) { - controlVisibility(); check.enable(x); return check.check(x) ? RRuntime.DOUBLE_NA : x; } @Specialization protected double round(byte x, @SuppressWarnings("unused") int digits) { - controlVisibility(); check.enable(x); return check.check(x) ? RRuntime.DOUBLE_NA : x; } @Specialization(guards = "digits == 0") protected double round(double x, @SuppressWarnings("unused") int digits) { - controlVisibility(); check.enable(x); return check.check(x) ? RRuntime.DOUBLE_NA : roundOp.op(x); } @Specialization(guards = "digits != 0") protected double roundDigits(double x, int digits) { - controlVisibility(); check.enable(x); return check.check(x) ? RRuntime.DOUBLE_NA : roundOp.opd(x, digits); } @Specialization(guards = "digits == 0") protected RDoubleVector round(RAbstractDoubleVector x, int digits) { - controlVisibility(); double[] result = new double[x.getLength()]; check.enable(x); for (int i = 0; i < x.getLength(); i++) { @@ -108,7 +103,6 @@ public abstract class Round extends RBuiltinNode { @Specialization(guards = "digits != 0") protected RDoubleVector roundDigits(RAbstractDoubleVector x, int digits) { - controlVisibility(); double[] result = new double[x.getLength()]; check.enable(x); for (int i = 0; i < x.getLength(); i++) { @@ -122,21 +116,18 @@ public abstract class Round extends RBuiltinNode { @Specialization(guards = "digits == 0") protected RComplex round(RComplex x, @SuppressWarnings("unused") int digits) { - controlVisibility(); check.enable(x); return check.check(x) ? RComplex.createNA() : roundOp.op(x.getRealPart(), x.getImaginaryPart()); } @Specialization(guards = "digits != 0") protected RComplex roundDigits(RComplex x, int digits) { - controlVisibility(); check.enable(x); return check.check(x) ? RComplex.createNA() : roundOp.opd(x.getRealPart(), x.getImaginaryPart(), digits); } @Specialization(guards = "digits == 0") protected RComplexVector round(RAbstractComplexVector x, int digits) { - controlVisibility(); double[] result = new double[x.getLength() << 1]; check.enable(x); for (int i = 0; i < x.getLength(); i++) { @@ -153,7 +144,6 @@ public abstract class Round extends RBuiltinNode { @Specialization(guards = "digits != 0") protected RComplexVector roundDigits(RAbstractComplexVector x, int digits) { - controlVisibility(); double[] result = new double[x.getLength() << 1]; check.enable(x); for (int i = 0; i < x.getLength(); i++) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Row.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Row.java index ac113170cc065f5ca5c8166ae542b8dac4b950ab..b27734df004ec4885f341848d17acb0d6a5ec820 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Row.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Row.java @@ -29,7 +29,6 @@ public abstract class Row extends RBuiltinNode { @Specialization protected RIntVector col(RAbstractIntVector x) { - controlVisibility(); int nrows = x.getDataAt(0); int ncols = x.getDataAt(1); int[] result = new int[nrows * ncols]; @@ -44,7 +43,6 @@ public abstract class Row extends RBuiltinNode { @Specialization @TruffleBoundary protected RIntVector col(@SuppressWarnings("unused") RNull x) { - controlVisibility(); throw RError.error(this, RError.Message.MATRIX_LIKE_REQUIRED, "row"); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java index 2947005cf88b355ee7128186e81aeff7a5de5b9f..967f32b5da059399726cfb46b0c699daf7fc8eca 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java @@ -42,7 +42,6 @@ public abstract class RowMeans extends RBuiltinNode { @Specialization(guards = "!isNaRm(naRm)") @TruffleBoundary protected RDoubleVector rowMeansNaRmFalse(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[rowNum]; boolean isComplete = true; na.enable(x); @@ -69,7 +68,6 @@ public abstract class RowMeans extends RBuiltinNode { @Specialization(guards = "isNaRm(naRm)") @TruffleBoundary protected RDoubleVector rowMeansNaRmTrue(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[rowNum]; boolean isComplete = true; na.enable(x); @@ -96,7 +94,6 @@ public abstract class RowMeans extends RBuiltinNode { @Specialization(guards = "!isNaRm(naRm)") @TruffleBoundary protected RDoubleVector rowMeansNaRmFalse(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[rowNum]; na.enable(x); nextRow: for (int i = 0; i < rowNum; i++) { @@ -117,7 +114,6 @@ public abstract class RowMeans extends RBuiltinNode { @Specialization(guards = "isNaRm(naRm)") @TruffleBoundary protected RDoubleVector rowMeansNaRmTrue(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[rowNum]; boolean isComplete = true; na.enable(x); @@ -144,7 +140,6 @@ public abstract class RowMeans extends RBuiltinNode { @Specialization(guards = "!isNaRm(naRm)") @TruffleBoundary protected RDoubleVector rowMeansNaRmFalse(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[rowNum]; na.enable(x); nextRow: for (int i = 0; i < rowNum; i++) { @@ -165,7 +160,6 @@ public abstract class RowMeans extends RBuiltinNode { @Specialization(guards = "isNaRm(naRm)") @TruffleBoundary protected RDoubleVector rowMeansNaRmTrue(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { - controlVisibility(); double[] result = new double[rowNum]; boolean isComplete = true; na.enable(x); @@ -192,7 +186,6 @@ public abstract class RowMeans extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RDoubleVector rowMeans(RAbstractStringVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.X_NUMERIC); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java index 95055c62f162a1dee0986f62cee9455e5dc38e16..948f87db7fc991ca9b48b01e288484032a1e4b14 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java @@ -59,7 +59,6 @@ public abstract class RowSums extends RBuiltinNode { } private <T extends RAbstractVector> RDoubleVector performSums(T x, int rowNum, int colNum, byte naRm, GetFunction<T> get) { - controlVisibility(); reportWork(x.getLength()); double[] result = new double[rowNum]; final boolean rna = removeNA.profile(naRm == RRuntime.LOGICAL_TRUE); @@ -128,7 +127,6 @@ public abstract class RowSums extends RBuiltinNode { @Specialization @TruffleBoundary protected RDoubleVector rowSums(RAbstractStringVector x, int rowNum, int colNum, byte naRm) { - controlVisibility(); throw RError.error(this, RError.Message.X_NUMERIC); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/S3DispatchFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/S3DispatchFunctions.java index 72afd92f50a3403e69c71d67e09a2f44f9a2575c..c1d11516570cdd19126221780f40091af8e9bd0f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/S3DispatchFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/S3DispatchFunctions.java @@ -107,7 +107,6 @@ public abstract class S3DispatchFunctions extends RBuiltinNode { @Specialization protected Object execute(VirtualFrame frame, String generic, Object arg) { - controlVisibility(); Object dispatchedObject; if (argMissingProfile.profile(arg == RMissing.instance)) { @@ -199,7 +198,6 @@ public abstract class S3DispatchFunctions extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected Object nextMethod(VirtualFrame frame, String generic, Object obj, RArgsValuesAndNames args) { - controlVisibility(); MaterializedFrame genericCallFrame = getCallFrame(frame); MaterializedFrame genericDefFrame = getDefFrame(frame); String group = (String) rvnGroup.execute(frame); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java index 01d37a4c830960e3c383d127724829d717e6630b..b7e82fcee768bbb863ba529ed995fb7ad806b32a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java @@ -44,7 +44,6 @@ import com.oracle.truffle.r.runtime.data.model.RAbstractDoubleVector; import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector; import com.oracle.truffle.r.runtime.data.model.RAbstractLogicalVector; import com.oracle.truffle.r.runtime.data.model.RAbstractVector; -import com.oracle.truffle.r.runtime.nodes.RNode; import com.oracle.truffle.r.runtime.ops.na.NACheck; @RBuiltin(name = "seq.default", aliases = {"seq.int"}, kind = SUBSTITUTE, parameterNames = {"from", "to", "by", "length.out", "along.with"}) @@ -181,7 +180,6 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = "!startEmpty(start)") protected RIntSequence seqFromOneArg(RAbstractIntVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { validateParam(start.getDataAt(0), "to"); - controlVisibility(); // GNU R really does that (take the length of start to create a sequence) return RDataFactory.createIntSequence(1, 1, start.getLength()); } @@ -193,28 +191,24 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "!lengthZero(lengthOut)"}) protected RDoubleSequence seq(RAbstractIntVector start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createDoubleSequence(RRuntime.int2double(start.getDataAt(0)), 1, lengthOut); } @Specialization(guards = {"startLengthOne(start)", "!lengthZero(lengthOut)"}) protected RDoubleSequence seq(RAbstractIntVector start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createDoubleSequence(RRuntime.int2double(start.getDataAt(0)), 1, (int) Math.ceil(lengthOut)); } @Specialization(guards = {"startLengthOne(start)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractIntVector start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractIntVector start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createEmptyIntVector(); } @@ -223,13 +217,11 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "zero(start, to)"}) protected int seqZero(RAbstractIntVector start, RAbstractIntVector to, Object stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); return 0; } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RIntSequence seq(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createIntSequence(start.getDataAt(0), ascending(start, to) ? 1 : -1, Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1); } @@ -237,55 +229,47 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RIntSequence seq(RAbstractIntVector start, RAbstractIntVector to, int stride, RMissing lengthOut, RMissing alongWith) { validateParams(start, to); - controlVisibility(); return RDataFactory.createIntSequence(start.getDataAt(0), stride, Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractIntVector start, RAbstractIntVector to, double stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createDoubleSequence(RRuntime.int2double(start.getDataAt(0)), stride, (int) (Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride)) + 1); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RIntVector seq(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(start.getDataAt(0), to.getDataAt(0), RRuntime.int2double(lengthOut), ascending(start, to)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RIntVector seq(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(start.getDataAt(0), to.getDataAt(0), lengthOut, ascending(start, to)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "lengthZeroAlong(alongWith)"}) protected RIntVector seq(RAbstractIntVector start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "!lengthZeroAlong(alongWith)"}) protected RDoubleSequence seqLengthZero(RAbstractIntVector start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createDoubleSequence(start.getDataAt(0), 1, alongWith.getLength()); } @@ -294,20 +278,17 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "zero(start, to)"}) protected int seqZero(RAbstractIntVector start, RAbstractDoubleVector to, Object stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); return 0; } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RIntSequence seq(RAbstractIntVector start, RAbstractDoubleVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createIntSequence(start.getDataAt(0), ascending(start, to) ? 1 : -1, (int) Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractIntVector start, RAbstractDoubleVector to, int stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); int length = (int) Math.abs(to.getDataAt(0) - start.getDataAt(0)) / stride; if (start.getDataAt(0) + length * stride == to.getDataAt(0)) { @@ -318,7 +299,6 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractIntVector start, RAbstractDoubleVector to, double stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); int length = (int) (Math.abs(to.getDataAt(0) - start.getDataAt(0)) / stride); if (start.getDataAt(0) + length * stride == to.getDataAt(0)) { @@ -329,28 +309,24 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractIntVector start, RAbstractDoubleVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RDoubleVector seq(RAbstractIntVector start, RAbstractDoubleVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(RRuntime.int2double(start.getDataAt(0)), to.getDataAt(0), lengthOut, ascending(start, to)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractIntVector start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RDoubleVector seq(RAbstractIntVector start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(RRuntime.int2double(start.getDataAt(0)), to.getDataAt(0), lengthOut, ascending(start, to)); } @@ -359,7 +335,6 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = "!startEmpty(start)") protected RDoubleSequence seqFromOneArg(RAbstractDoubleVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); // GNU R really does that (take the length of start to create a sequence) return RDataFactory.createDoubleSequence(1, 1, start.getLength()); @@ -372,42 +347,36 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "!lengthZero(lengthOut)"}) protected RDoubleSequence seqLengthZero(RAbstractDoubleVector start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createDoubleSequence(start.getDataAt(0), 1, lengthOut); } @Specialization(guards = {"startLengthOne(start)", "!lengthZero(lengthOut)"}) protected RDoubleSequence seqLengthZero(RAbstractDoubleVector start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createDoubleSequence(start.getDataAt(0), 1, (int) Math.ceil(lengthOut)); } @Specialization(guards = {"startLengthOne(start)", "lengthZero(lengthOut)"}) protected RIntVector seq(RAbstractDoubleVector start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "lengthZero(lengthOut)"}) protected RIntVector seq(RAbstractDoubleVector start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "lengthZeroAlong(alongWith)"}) protected RIntVector seq(RAbstractDoubleVector start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "!lengthZeroAlong(alongWith)"}) protected RDoubleSequence seqLengthZero(RAbstractDoubleVector start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { - controlVisibility(); validateParam(start.getDataAt(0), "from"); return RDataFactory.createDoubleSequence(start.getDataAt(0), 1, alongWith.getLength()); } @@ -416,13 +385,11 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "zero(start, to)"}) protected int seqZero(RAbstractDoubleVector start, RAbstractIntVector to, Object stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); return 0; } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RAbstractVector seq(RAbstractDoubleVector start, RAbstractIntVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); if ((int) start.getDataAt(0) == start.getDataAt(0)) { return RDataFactory.createIntSequence((int) start.getDataAt(0), ascending(start, to) ? 1 : -1, (int) (Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1)); @@ -433,42 +400,36 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractDoubleVector start, RAbstractIntVector to, int stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractDoubleVector start, RAbstractIntVector to, double stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractDoubleVector start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RDoubleVector seq(RAbstractDoubleVector start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(start.getDataAt(0), RRuntime.int2double(to.getDataAt(0)), lengthOut, ascending(start, to)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractDoubleVector start, RAbstractIntVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RDoubleVector seq(RAbstractDoubleVector start, RAbstractIntVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(start.getDataAt(0), RRuntime.int2double(to.getDataAt(0)), lengthOut, ascending(start, to)); } @@ -477,13 +438,11 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "zero(start, to)"}) protected double seq(RAbstractDoubleVector start, RAbstractDoubleVector to, Object stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); return 0; } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RAbstractVector seq(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); if ((int) start.getDataAt(0) == start.getDataAt(0) && (int) to.getDataAt(0) == to.getDataAt(0)) { return RDataFactory.createIntSequence((int) start.getDataAt(0), ascending(start, to) ? 1 : -1, (int) (Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1)); @@ -494,42 +453,36 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractDoubleVector start, RAbstractDoubleVector to, int stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) (Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!zero(start, to)"}) protected RDoubleSequence seq(RAbstractDoubleVector start, RAbstractDoubleVector to, double stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) (Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RDoubleVector seq(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(start.getDataAt(0), to.getDataAt(0), RRuntime.int2double(lengthOut), ascending(start, to)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "!lengthZero(lengthOut)"}) protected RDoubleVector seq(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return getVectorWithComputedStride(start.getDataAt(0), to.getDataAt(0), lengthOut, ascending(start, to)); } @Specialization(guards = {"startLengthOne(start)", "toLengthOne(to)", "lengthZero(lengthOut)"}) protected RIntVector seqLengthZero(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParams(start, to); return RDataFactory.createEmptyIntVector(); } @@ -634,50 +587,42 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = "lengthZero(lengthOut)") protected RIntVector seqLengthZero(RMissing start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = "!lengthZero(lengthOut)") protected RIntSequence seq(RMissing start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); return RDataFactory.createIntSequence(1, 1, lengthOut); } @Specialization(guards = "lengthZero(lengthOut)") protected RIntVector seqLengthZero(RMissing start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = "!lengthZero(lengthOut)") protected RIntSequence seq(RMissing start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); return RDataFactory.createIntSequence(1, 1, (int) Math.ceil(lengthOut)); } @Specialization(guards = "lengthZeroAlong(alongWith)") protected RIntVector seqLengthZeroAlong(RMissing start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { - controlVisibility(); return RDataFactory.createEmptyIntVector(); } @Specialization(guards = "!lengthZeroAlong(alongWith)") protected RIntSequence seq(RMissing start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { - controlVisibility(); return RDataFactory.createIntSequence(1, 1, alongWith.getLength()); } @Specialization(guards = {"toLengthOne(to)", "positiveLengthOut(lengthOut)"}) protected RDoubleSequence seq(RMissing start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(to.getDataAt(0), "to"); return RDataFactory.createDoubleSequence(to.getDataAt(0) - lengthOut + 1, 1, lengthOut); } @Specialization(guards = {"toLengthOne(to)", "positiveLengthOut(lengthOut)"}) protected RDoubleSequence seq(RMissing start, RAbstractIntVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(to.getDataAt(0), "to"); final int intLength = (int) Math.ceil(lengthOut); return RDataFactory.createDoubleSequence(to.getDataAt(0) - intLength + 1, 1, intLength); @@ -685,14 +630,12 @@ public abstract class Seq extends RBuiltinNode { @Specialization(guards = {"toLengthOne(to)", "positiveLengthOut(lengthOut)"}) protected RDoubleSequence seq(RMissing start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { - controlVisibility(); validateParam(to.getDataAt(0), "to"); return RDataFactory.createDoubleSequence(to.getDataAt(0) - lengthOut + 1, 1, (int) Math.ceil(lengthOut)); } @Specialization(guards = "toLengthOne(to)") protected Object seq(RMissing start, RAbstractVector to, Object stride, RMissing lengthOut, RMissing alongWith) { - controlVisibility(); return seqRecursive(1.0, to, stride, lengthOut, alongWith); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqAlong.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqAlong.java index b425b1fefd800b7e1d418542e13e9f0bccb5a56d..0ad14b4b81b4f73cc157034adb1ca7383f986465 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqAlong.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqAlong.java @@ -40,7 +40,6 @@ public abstract class SeqAlong extends RBuiltinNode { @Specialization protected RIntSequence seq(VirtualFrame frame, Object value) { - controlVisibility(); return RDataFactory.createIntSequence(1, 1, length.executeInteger(frame, value)); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqLen.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqLen.java index 469b929d942e3bc5e79b50c57047e29d0da3b87d..2f669612d175ba831f651959dff63e96b482a92d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqLen.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqLen.java @@ -53,7 +53,6 @@ public abstract class SeqLen extends RBuiltinNode { throw RError.error(this, RError.Message.MUST_BE_COERCIBLE_INTEGER); } } - controlVisibility(); return RDataFactory.createIntSequence(1, 1, length.getDataAt(0)); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java index c7736043f2bf2fd7eec4681c0c040830b017967a..c7afe2281bbd686d23309c2d9b276e1005dd5611 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java @@ -46,7 +46,6 @@ public class SerializeFunctions { public abstract static class Adapter extends RBuiltinNode { @TruffleBoundary protected Object doUnserializeFromConnBase(RConnection conn, @SuppressWarnings("unused") REnvironment refhook) { - controlVisibility(); try (RConnection openConn = conn.forceOpen("rb")) { if (!openConn.canRead()) { throw RError.error(this, RError.Message.CONNECTION_NOT_OPEN_READ); @@ -60,14 +59,12 @@ public class SerializeFunctions { @TruffleBoundary protected Object doUnserializeFromRaw(RAbstractRawVector data, @SuppressWarnings("unused") REnvironment refhook) { - controlVisibility(); return RSerialize.unserialize(data); } @TruffleBoundary protected Object doSerializeToConnBase(Object object, RConnection conn, int type, @SuppressWarnings("unused") byte xdrLogical, @SuppressWarnings("unused") RNull version, @SuppressWarnings("unused") RNull refhook) { - controlVisibility(); // xdr is only relevant if ascii is false try (RConnection openConn = conn.forceOpen(type != RSerialize.XDR ? "wt" : "wb")) { if (!openConn.canWrite()) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Setwd.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Setwd.java index 0dabfcb2c1301e505366131f53c5829406972934..f7eecbebc24fa63dc66e7d88322d5b5cc0740c61 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Setwd.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Setwd.java @@ -41,7 +41,6 @@ public abstract class Setwd extends RBuiltinNode { @Specialization @TruffleBoundary protected Object setwd(RAbstractStringVector path) { - controlVisibility(); if (path.getLength() == 0) { throw RError.error(this, RError.Message.CHAR_ARGUMENT); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ShortRowNames.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ShortRowNames.java index b951b82727c9afbdd7082b39de366e91d9b6e64e..25d30eb770a9f8ad1357577295e01b40aa67f0ca 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ShortRowNames.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ShortRowNames.java @@ -59,7 +59,6 @@ public abstract class ShortRowNames extends RBuiltinNode { @Specialization protected Object getNames(Object originalOperand, RAbstractIntVector originalType) { - controlVisibility(); if (originalType.getLength() == 0) { errorProfile.enter(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Signif.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Signif.java index 745241b9a8d4a00933bebe7f46f884b0a7812bac..e686e2646a094fe3068c2019cb24148a0e2525e2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Signif.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Signif.java @@ -67,7 +67,6 @@ public abstract class Signif extends RBuiltinNode { @Specialization(guards = "digitsVec.getLength() == 1") protected RAbstractDoubleVector signif(RAbstractDoubleVector x, RAbstractIntVector digitsVec) { - controlVisibility(); int digits = digitsVec.getDataAt(0) <= 0 ? 1 : digitsVec.getDataAt(0); if (digits > 22) { identity.enter(); @@ -102,7 +101,6 @@ public abstract class Signif extends RBuiltinNode { @Specialization(guards = "digits.getLength() == 1") protected RAbstractIntVector roundDigits(RAbstractIntVector x, @SuppressWarnings("unused") RAbstractIntVector digits) { - controlVisibility(); return x; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SinkFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SinkFunctions.java index e166daa888908eb526cc820d2adb6ca00a0d257b..f4aeb2320924cdfef82813048134081be6a052a2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SinkFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SinkFunctions.java @@ -49,7 +49,6 @@ public class SinkFunctions { } else { StdConnections.pushDivertOut(conn, RRuntime.fromLogical(closeOnExit)); } - controlVisibility(); return RNull.instance; } @@ -61,7 +60,6 @@ public class SinkFunctions { } catch (IOException ex) { throw RError.error(this, RError.Message.GENERIC, ex.getMessage()); } - controlVisibility(); return RNull.instance; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java index 9e61fd29ee1ec8d82d67deb12c162fbe45dd35a3..21bbbae3be0fc1570d615ac1af8044f6aab2b2e7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java @@ -52,7 +52,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization protected String sprintf(String fmt, @SuppressWarnings("unused") RMissing x) { - controlVisibility(); return fmt; } @@ -65,7 +64,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization @TruffleBoundary protected String sprintf(String fmt, int x) { - controlVisibility(); return format(fmt, x); } @@ -78,14 +76,12 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization(guards = "fmtLengthOne(fmt)") @TruffleBoundary protected String sprintf(RAbstractStringVector fmt, byte x) { - controlVisibility(); return format(fmt.getDataAt(0), x); } @Specialization @TruffleBoundary protected RStringVector sprintf(String fmt, RAbstractIntVector x) { - controlVisibility(); String[] r = new String[x.getLength()]; for (int k = 0; k < r.length; k++) { r[k] = format(fmt, x.getDataAt(k)); @@ -102,7 +98,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization @TruffleBoundary protected String sprintf(String fmt, double x) { - controlVisibility(); char f = Character.toLowerCase(firstFormatChar(fmt)); if (f == 'x' || f == 'd') { if (Math.floor(x) == x) { @@ -122,7 +117,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization @TruffleBoundary protected RStringVector sprintf(String fmt, RAbstractDoubleVector x) { - controlVisibility(); String[] r = new String[x.getLength()]; for (int k = 0; k < r.length; k++) { r[k] = sprintf(fmt, x.getDataAt(k)); @@ -139,7 +133,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization @TruffleBoundary protected String sprintf(String fmt, String x) { - controlVisibility(); return format(fmt, x); } @@ -152,7 +145,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization @TruffleBoundary protected RStringVector sprintf(String fmt, RAbstractStringVector x) { - controlVisibility(); String[] r = new String[x.getLength()]; for (int k = 0; k < r.length; k++) { r[k] = format(fmt, x.getDataAt(k)); @@ -203,7 +195,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization(guards = "!oneElement(args)") @TruffleBoundary protected RStringVector sprintf(String fmt, RArgsValuesAndNames args) { - controlVisibility(); Object[] values = args.getArguments(); int maxLength = maxLengthAndConvertToScalar(values); if (maxLength == 0) { @@ -225,7 +216,6 @@ public abstract class Sprintf extends RBuiltinNode { @Specialization(guards = "oneElement(args)") protected Object sprintfOneElement(VirtualFrame frame, String fmt, RArgsValuesAndNames args) { - controlVisibility(); if (sprintfRecursive == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); sprintfRecursive = insert(SprintfNodeGen.create(null)); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/StandardGeneric.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/StandardGeneric.java index c9bf2eac7810989dc3c262206d34d893f6589c64..a1e7b3c426c332cc1b7adb5a9768348e7067d8e8 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/StandardGeneric.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/StandardGeneric.java @@ -71,7 +71,6 @@ public abstract class StandardGeneric extends RBuiltinNode { private final RAttributeProfiles attrProfiles = RAttributeProfiles.create(); private Object stdGenericInternal(VirtualFrame frame, RAbstractStringVector fVec, RFunction fdef) { - controlVisibility(); String fname = fVec.getDataAt(0); MaterializedFrame fnFrame = fdef.getEnclosingFrame(); REnvironment mtable = (REnvironment) readMTableFirst.execute(frame, fnFrame); @@ -161,13 +160,11 @@ public abstract class StandardGeneric extends RBuiltinNode { return fnObj; } } - controlVisibility(); throw RError.error(this, RError.Message.STD_GENERIC_WRONG_CALL, fname); } @Specialization protected Object stdGeneric(Object fVec, RAttributable fdef) { - controlVisibility(); if (!(fVec instanceof String || (fVec instanceof RAbstractStringVector && ((RAbstractStringVector) fVec).getLength() > 0))) { throw RError.error(this, RError.Message.GENERIC, "argument to 'standardGeneric' must be a non-empty character string"); } else { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Stop.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Stop.java index abac25642cb4a6f619f421f626e3953d82d3231c..2a48b87c6cd4e6abc1a0d6f2ddfa92f8bac6f7b6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Stop.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Stop.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2016, 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 @@ -36,7 +36,6 @@ public abstract class Stop extends RBuiltinNode { @Specialization protected Object stop(byte call, RAbstractStringVector msgVec) { - controlVisibility(); assert msgVec.getLength() == 1; CompilerDirectives.transferToInterpreter(); throw RError.stop(RRuntime.fromLogical(call), this, RError.Message.GENERIC, msgVec.getDataAt(0)); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substitute.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substitute.java index 5c36c8c94beb50245a4d023efa96894ea83dfcac..1a81321a5ed1208132a031d8f3eb9a4db7dfba2a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substitute.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substitute.java @@ -69,19 +69,16 @@ public abstract class Substitute extends RBuiltinNode { @Specialization protected Object doSubstitute(VirtualFrame frame, RPromise expr, @SuppressWarnings("unused") RMissing envMissing) { - controlVisibility(); return doSubstituteWithEnv(frame, expr, null); } @Specialization protected Object doSubstitute(VirtualFrame frame, RPromise expr, REnvironment env) { - controlVisibility(); return doSubstituteWithEnv(frame, expr, env); } @Specialization protected Object doSubstitute(VirtualFrame frame, RPromise expr, RList list) { - controlVisibility(); return doSubstituteWithEnv(frame, expr, REnvironment.createFromList(attrProfiles, list, REnvironment.baseEnv())); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java index 2599527b15d7078dcc23a22ef1f9d342df52c8e2..72eed00d2c1ed5f57b957550ebfec86b47ee87d6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2016, 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 @@ -49,7 +49,6 @@ public abstract class Substr extends RBuiltinNode { @SuppressWarnings("unused") @Specialization(guards = "emptyArg(arg)") protected RStringVector substrEmptyArg(VirtualFrame frame, RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop) { - controlVisibility(); return RDataFactory.createEmptyStringVector(); } @@ -62,7 +61,6 @@ public abstract class Substr extends RBuiltinNode { @Specialization(guards = {"!emptyArg(arg)", "!wrongParams(start, stop)"}) protected RStringVector substr(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop) { - controlVisibility(); String[] res = new String[arg.getLength()]; na.enable(arg); na.enable(start); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java index 702a8f7f0a2679241f1d3e1058f432631edc6053..92a0c13ca42f131fcd798c4d0b45c88253119281 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java @@ -56,7 +56,6 @@ public abstract class Switch extends RBuiltinNode { @Specialization protected Object doSwitch(VirtualFrame frame, RAbstractStringVector x, RArgsValuesAndNames optionalArgs) { - controlVisibility(); if (x.getLength() != 1) { throw RError.error(this, RError.Message.EXPR_NOT_LENGTH_ONE); } @@ -64,7 +63,6 @@ public abstract class Switch extends RBuiltinNode { } private Object doSwitchString(VirtualFrame frame, RAbstractStringVector x, RArgsValuesAndNames optionalArgs) { - controlVisibility(); Object[] optionalArgValues = optionalArgs.getArguments(); final String xStr = x.getDataAt(0); ArgumentsSignature signature = optionalArgs.getSignature(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java index 8bc3135757b7dff6a7350ec1dbb8bf784535a6a2..39ca4130be8210558b243f73ffddd7ea4dba4a55 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java @@ -37,7 +37,6 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.profiles.ConditionProfile; import com.oracle.truffle.r.nodes.builtin.RBuiltinNode; import com.oracle.truffle.r.nodes.builtin.RBuiltinPackages; -import com.oracle.truffle.r.nodes.builtin.RInvisibleBuiltinNode; import com.oracle.truffle.r.runtime.RArguments; import com.oracle.truffle.r.runtime.RBuiltin; import com.oracle.truffle.r.runtime.REnvVars; @@ -64,7 +63,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysGetPid() { - controlVisibility(); int pid = RFFIFactory.getRFFI().getBaseRFFI().getpid(); return RDataFactory.createIntVectorFromScalar(pid); } @@ -77,7 +75,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysGetEnv(RAbstractStringVector x, RAbstractStringVector unset) { - controlVisibility(); Map<String, String> envMap = RContext.getInstance().stateREnvVars.getMap(); int len = x.getLength(); if (zeroLengthProfile.profile(len == 0)) { @@ -110,7 +107,6 @@ public class SysFunctions { @Specialization protected Object sysGetEnvGeneric(@SuppressWarnings("unused") Object x, @SuppressWarnings("unused") Object unset) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.WRONG_TYPE); } @@ -192,7 +188,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysSleep(double seconds) { - controlVisibility(); sleep(convertToMillis(seconds)); return RNull.instance; } @@ -200,7 +195,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysSleep(String secondsString) { - controlVisibility(); long millis = convertToMillis(checkValidString(secondsString)); sleep(millis); return RNull.instance; @@ -209,7 +203,6 @@ public class SysFunctions { @Specialization(guards = "lengthOne(secondsVector)") @TruffleBoundary protected Object sysSleep(RStringVector secondsVector) { - controlVisibility(); long millis = convertToMillis(checkValidString(secondsVector.getDataAt(0))); sleep(millis); return RNull.instance; @@ -222,7 +215,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysSleep(@SuppressWarnings("unused") Object arg) { - controlVisibility(); throw RError.error(this, RError.Message.INVALID_VALUE, "time"); } @@ -256,14 +248,12 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysReadlink(String path) { - controlVisibility(); return RDataFactory.createStringVector(doSysReadLink(path)); } @Specialization @TruffleBoundary protected Object sysReadlink(RStringVector vector) { - controlVisibility(); String[] paths = new String[vector.getLength()]; boolean complete = RDataFactory.COMPLETE_VECTOR; for (int i = 0; i < paths.length; i++) { @@ -296,7 +286,6 @@ public class SysFunctions { @Specialization protected Object sysReadlinkGeneric(@SuppressWarnings("unused") Object path) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "paths"); } @@ -308,7 +297,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected RLogicalVector sysChmod(RAbstractStringVector pathVec, RAbstractIntVector octmode, @SuppressWarnings("unused") byte useUmask) { - controlVisibility(); byte[] data = new byte[pathVec.getLength()]; for (int i = 0; i < data.length; i++) { String path = Utils.tildeExpand(pathVec.getDataAt(i)); @@ -329,7 +317,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysChmod(Object octmode) { - controlVisibility(); throw RError.nyi(this, "Sys.umask"); } } @@ -339,7 +326,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected double sysTime() { - controlVisibility(); return ((double) System.currentTimeMillis()) / 1000; } } @@ -352,7 +338,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysTime() { - controlVisibility(); UtsName utsname = RFFIFactory.getRFFI().getBaseRFFI().uname(); String[] data = new String[NAMES.length]; data[0] = utsname.sysname(); @@ -375,7 +360,6 @@ public class SysFunctions { @Specialization @TruffleBoundary protected Object sysGlob(RAbstractStringVector pathVec, @SuppressWarnings("unused") byte dirMask) { - controlVisibility(); ArrayList<String> matches = new ArrayList<>(); // Sys.glob closure already called path.expand for (int i = 0; i < pathVec.getLength(); i++) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Tabulate.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Tabulate.java index 829cc8dcc93baee18b08e6ff57b7def021e0eda8..6323b0d49048993dc1c26d24445c7596c3ecda49 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Tabulate.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Tabulate.java @@ -38,7 +38,6 @@ public abstract class Tabulate extends RBuiltinNode { @Specialization protected RIntVector tabulate(RAbstractIntVector bin, int nBins) { - controlVisibility(); if (RRuntime.isNA(nBins) || nBins < 0) { errorProfile.enter(); throw RError.error(this, RError.Message.INVALID_ARGUMENT, "nbin"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempDir.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempDir.java index 075497373dbd75e0ce83200209f81c5f06338826..e0967508cf19f92f8a2506d5b98b19300990023e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempDir.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempDir.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -34,7 +34,6 @@ public abstract class TempDir extends RBuiltinNode { @Specialization protected Object tempdir() { - controlVisibility(); return TempPathName.tempDirPath(); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java index 7913b2cc959b1faacd87aa1dd852bd1d3c872e44..cd1126d330d92ba43f80615580dea9f04e6cd88a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java @@ -50,14 +50,12 @@ public abstract class TempFile extends RBuiltinNode { @Specialization(guards = "tempDir.getLength() == 1") @TruffleBoundary protected RStringVector tempfile(String pattern, RAbstractStringVector tempDir, String fileExt) { - controlVisibility(); return RDataFactory.createStringVector(TempPathName.createNonExistingFilePath(pattern, tempDir.getDataAt(0), fileExt)); } @Specialization @TruffleBoundary protected RStringVector tempfileGeneric(Object pattern, Object tempDir, Object fileExt) { - controlVisibility(); // Now we have RStringVectors of at least length 1 RStringVector[] argVecs = new RStringVector[]{checkVector(pattern, INVALID_PATTERN), checkVector(tempDir, INVALID_TEMPDIR), checkVector(fileExt, INVALID_FILEEXT)}; stringVectorsAmount = argVecs.length; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ToLowerOrUpper.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ToLowerOrUpper.java index 7af932f613d23d1d80105cd059ab6f4427fde07b..54dc75c3a597a855c35d39f1e2ac82e1cbb7bad4 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ToLowerOrUpper.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ToLowerOrUpper.java @@ -71,7 +71,6 @@ public abstract class ToLowerOrUpper extends RBuiltinNode { @Specialization protected String toLower(String value, // @Cached("create()") NAProfile na) { - controlVisibility(); return na.isNA(value) ? RRuntime.STRING_NA : processElement(value); } @@ -80,7 +79,6 @@ public abstract class ToLowerOrUpper extends RBuiltinNode { @Cached("createCountingProfile()") LoopConditionProfile loopProfile, // @Cached("create()") NACheck na, // @Cached("create()") CopyOfRegAttributesNode copyAttributes) { - controlVisibility(); na.enable(vector); String[] stringVector = new String[vector.getLength()]; loopProfile.profileCounted(vector.getLength()); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TraceFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TraceFunctions.java index 27250f7e28191b60b823cfbf20af796ccd8037fc..d6fd1e4e2dfb2070b406e13e47ecc96321ff9c5f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TraceFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TraceFunctions.java @@ -27,7 +27,6 @@ import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.r.nodes.builtin.RBuiltinNode; -import com.oracle.truffle.r.nodes.builtin.RInvisibleBuiltinNode; import com.oracle.truffle.r.nodes.builtin.base.GetFunctionsFactory.GetNodeGen; import com.oracle.truffle.r.nodes.builtin.helpers.TraceHandling; import com.oracle.truffle.r.runtime.RBuiltin; @@ -66,7 +65,6 @@ public class TraceFunctions { @Specialization @TruffleBoundary protected RNull primTrace(RFunction func) { - controlVisibility(); if (!func.isBuiltin()) { TraceHandling.enableTrace(func); } else { @@ -87,7 +85,6 @@ public class TraceFunctions { @Specialization @TruffleBoundary protected RNull primUnTrace(RFunction func) { - controlVisibility(); if (!func.isBuiltin()) { TraceHandling.disableTrace(func); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java index 251a10c98e17137d1cd24f6651e41f71c242c57c..3ee3407d913bb8b50740ce2c3ed1f473af9be59e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java @@ -44,32 +44,27 @@ public abstract class Transpose extends RBuiltinNode { @Specialization protected RNull transpose(RNull value) { - controlVisibility(); return value; } @Specialization protected int transpose(int value) { - controlVisibility(); return value; } @Specialization protected double transpose(double value) { - controlVisibility(); return value; } @Specialization protected byte transpose(byte value) { - controlVisibility(); return value; } @Specialization(guards = "isEmpty2D(vector)") @TruffleBoundary protected RAbstractVector transpose(RAbstractVector vector) { - controlVisibility(); int[] dim = vector.getDimensions(); return vector.copyWithNewDimensions(new int[]{dim[1], dim[0]}); } @@ -77,7 +72,6 @@ public abstract class Transpose extends RBuiltinNode { @Specialization(guards = "!isEmpty2D(vector)") @TruffleBoundary protected RIntVector transpose(RAbstractIntVector vector) { - controlVisibility(); return performAbstractIntVector(vector, vector.isMatrix() ? vector.getDimensions() : new int[]{vector.getLength(), 1}); } @@ -105,7 +99,6 @@ public abstract class Transpose extends RBuiltinNode { @Specialization(guards = "!isEmpty2D(vector)") @TruffleBoundary protected RDoubleVector transpose(RAbstractDoubleVector vector) { - controlVisibility(); return performAbstractDoubleVector(vector, vector.isMatrix() ? vector.getDimensions() : new int[]{vector.getLength(), 1}); } @@ -133,7 +126,6 @@ public abstract class Transpose extends RBuiltinNode { @Specialization(guards = "!isEmpty2D(vector)") @TruffleBoundary protected RStringVector transpose(RAbstractStringVector vector) { - controlVisibility(); return performAbstractStringVector(vector, vector.isMatrix() ? vector.getDimensions() : new int[]{vector.getLength(), 1}); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java index 60e290e5d8662ddc758f7e6b415d56db52abb8b4..2a3a6db54e8394aa9133df788ce6cece0ca5f7b2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java @@ -101,7 +101,6 @@ public class TrigExpFunctions { @Specialization protected byte isType(@SuppressWarnings("unused") RMissing value) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.ARGUMENTS_PASSED_0_1, getRBuiltin().name()); } @@ -130,14 +129,12 @@ public class TrigExpFunctions { @Specialization protected double trigOp(int x) { - controlVisibility(); na.enable(x); return doFunInt(x); } @Specialization protected double trigOp(double x) { - controlVisibility(); na.enable(x); return doFunDouble(x); } @@ -145,7 +142,6 @@ public class TrigExpFunctions { @Specialization protected RAbstractVector trigOp(RIntVector vector, // @Cached("createCountingProfile()") LoopConditionProfile profile) { - controlVisibility(); int length = vector.getLength(); double[] resultVector = new double[length]; reportWork(length); @@ -160,7 +156,6 @@ public class TrigExpFunctions { @Specialization protected RAbstractVector trigOp(RDoubleVector vector, // @Cached("createCountingProfile()") LoopConditionProfile profile) { - controlVisibility(); int length = vector.getLength(); double[] resultVector = new double[length]; reportWork(length); @@ -635,7 +630,6 @@ public class TrigExpFunctions { private RDoubleVector doFun(int length, IntDoubleFunction yFun, IntDoubleFunction xFun, LoopConditionProfile profile) { - controlVisibility(); double[] resultVector = new double[length]; reportWork(length); profile.profileCounted(length); @@ -653,7 +647,6 @@ public class TrigExpFunctions { @Specialization protected double atan2(double y, double x) { - controlVisibility(); xNACheck.enable(x); yNACheck.enable(y); return doFunDouble(y, x); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UnClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UnClass.java index fab24553aa240a207be932a089ef7881564b3b01..0011dcfc0c380bfa6781075a9dec9968872b050d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UnClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UnClass.java @@ -33,7 +33,6 @@ public abstract class UnClass extends RBuiltinNode { @Specialization @TruffleBoundary protected Object unClass(RAbstractVector arg) { - controlVisibility(); if (arg.isObject(attrProfiles)) { objectProfile.enter(); RVector resultVector = arg.materialize(); @@ -49,7 +48,6 @@ public abstract class UnClass extends RBuiltinNode { @Specialization protected Object unClass(RLanguage arg) { - controlVisibility(); if (arg.getClassAttr(attrProfiles) != null) { objectProfile.enter(); RLanguage resultLang = arg; @@ -66,7 +64,6 @@ public abstract class UnClass extends RBuiltinNode { @Specialization protected Object unClass(RS4Object arg) { - controlVisibility(); if (arg.getClassAttr(attrProfiles) != null) { objectProfile.enter(); RS4Object resultS4 = arg; 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 5688b8da133fcecea0a48b812738d871325a582b..13ba5ddfb1dae8374d9f1b6680e14d5cb7c1e4f7 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 @@ -141,28 +141,24 @@ public abstract class Unlist extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RNull unlist(RNull vector, byte recursive, byte useNames) { - controlVisibility(); return RNull.instance; } @SuppressWarnings("unused") @Specialization(guards = "!isVectorList(vector)") protected RAbstractVector unlistVector(RAbstractVector vector, byte recursive, byte useNames) { - controlVisibility(); return vector; } @SuppressWarnings("unused") @Specialization(guards = "isEmpty(list)") protected RNull unlistEmptyList(VirtualFrame frame, RList list, byte recursive, byte useNames) { - controlVisibility(); return RNull.instance; } @SuppressWarnings("unused") @Specialization(guards = "isOneNull(list)") protected RNull unlistOneNullList(VirtualFrame frame, RList list, byte recursive, byte useNames) { - controlVisibility(); return RNull.instance; } @@ -170,7 +166,6 @@ public abstract class Unlist extends RBuiltinNode { // the slow path as well; ultimately we may consider (non-recursive) optimization @Specialization(guards = "!isEmpty(list)") protected Object unlistList(VirtualFrame frame, RList list, byte recursive, byte useNames) { - controlVisibility(); boolean isRecursive = RRuntime.fromLogical(recursive); boolean isUseNames = RRuntime.fromLogical(useNames); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java index 8638329f943ccdf96ba9a30000be8357a8174f5f..08ff71f1f4bd99e53397911db7e0b6ecb83e6ee9 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java @@ -121,7 +121,6 @@ public abstract class UpdateAttr extends RBuiltinNode { @Specialization protected RAbstractContainer updateAttr(RAbstractContainer container, String name, RNull value) { - controlVisibility(); String internedName = intern(name); RAbstractContainer result = (RAbstractContainer) container.getNonShared(); // the name is interned, so identity comparison is sufficient @@ -154,7 +153,6 @@ public abstract class UpdateAttr extends RBuiltinNode { @Specialization(guards = "!nullValue(value)") protected RAbstractContainer updateAttr(RAbstractContainer container, String name, Object value) { - controlVisibility(); String internedName = intern(name); RAbstractContainer result = (RAbstractContainer) container.getNonShared(); // the name is interned, so identity comparison is sufficient @@ -183,7 +181,6 @@ public abstract class UpdateAttr extends RBuiltinNode { @Specialization(guards = "!nullValue(value)") protected RAbstractContainer updateAttr(RAbstractVector vector, RStringVector name, Object value) { - controlVisibility(); return updateAttr(vector, name.getDataAt(0), value); } @@ -199,7 +196,6 @@ public abstract class UpdateAttr extends RBuiltinNode { @Fallback protected Object updateAttr(Object obj, Object name, Object value) { Object object = obj; - controlVisibility(); String sname = RRuntime.asString(name); if (sname == null) { errorProfile.enter(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java index 8c72f296388ab978a7fd724bf3a4413c7f86938f..fddb6da6c28967a6f91d4195b11984b775a0ca25 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java @@ -98,7 +98,6 @@ public abstract class UpdateAttributes extends RBuiltinNode { @Specialization protected RAbstractVector updateAttributes(RAbstractVector abstractVector, @SuppressWarnings("unused") RNull list) { - controlVisibility(); RAbstractVector resultVector = (RAbstractVector) abstractVector.getNonShared(); resultVector.resetAllAttributes(true); return resultVector; @@ -106,7 +105,6 @@ public abstract class UpdateAttributes extends RBuiltinNode { @Specialization protected RAbstractContainer updateAttributes(RAbstractContainer container, RList list) { - controlVisibility(); Object listNamesObject = list.getNames(attrProfiles); if (listNamesObject == null || listNamesObject == RNull.instance) { throw RError.error(this, RError.Message.ATTRIBUTES_NAMED); @@ -210,7 +208,6 @@ public abstract class UpdateAttributes extends RBuiltinNode { @Fallback @TruffleBoundary protected Object doOther(Object o, Object operand) { - controlVisibility(); Object obj = o; if (obj instanceof RShareable) { obj = ((RShareable) obj).getNonShared(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java index 6db318145d1e1d08e98803eb8a31c410ca1022c0..5d4e2384e0265ca7ec4c91a34687d84137bf66e4 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java @@ -55,7 +55,6 @@ public abstract class UpdateClass extends RBuiltinNode { @Specialization(guards = "!isStringVector(className)") protected Object setClass(RAbstractContainer arg, RAbstractVector className) { - controlVisibility(); if (className.getLength() == 0) { return setClass(arg, RNull.instance); } @@ -74,7 +73,6 @@ public abstract class UpdateClass extends RBuiltinNode { @Specialization @TruffleBoundary protected Object setClass(RAbstractContainer arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); RAbstractContainer result = (RAbstractContainer) arg.getNonShared(); return result.setClassAttr(null); @@ -90,7 +88,6 @@ public abstract class UpdateClass extends RBuiltinNode { @Specialization(contains = "setClassCached") protected Object setClass(RAbstractContainer arg, String className, // @Cached("create()") TypeFromModeNode typeFromMode) { - controlVisibility(); RType mode = typeFromMode.execute(className); return setClassInternal(arg, className, mode); } @@ -137,77 +134,66 @@ public abstract class UpdateClass extends RBuiltinNode { @Specialization @TruffleBoundary protected Object setClass(RAbstractContainer arg, RStringVector className) { - controlVisibility(); RAbstractContainer result = (RAbstractContainer) arg.getNonShared(); return result.setClassAttr(className); } @Specialization protected Object setClass(RFunction arg, RAbstractStringVector className) { - controlVisibility(); arg.setClassAttr(className.materialize()); return arg; } @Specialization protected Object setClass(RFunction arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); arg.setClassAttr(null); return arg; } @Specialization protected Object setClass(REnvironment arg, RAbstractStringVector className) { - controlVisibility(); arg.setClassAttr(className.materialize()); return arg; } @Specialization protected Object setClass(REnvironment arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); arg.setClassAttr(null); return arg; } @Specialization protected Object setClass(RSymbol arg, RAbstractStringVector className) { - controlVisibility(); arg.setClassAttr(className.materialize()); return arg; } @Specialization protected Object setClass(RSymbol arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); arg.setClassAttr(null); return arg; } @Specialization protected Object setClass(RExternalPtr arg, RAbstractStringVector className) { - controlVisibility(); arg.setClassAttr(className.materialize()); return arg; } @Specialization protected Object setClass(RExternalPtr arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); arg.setClassAttr(null); return arg; } @Specialization protected Object setClass(RS4Object arg, RAbstractStringVector className) { - controlVisibility(); arg.setClassAttr(className.materialize()); return arg; } @Specialization protected Object setClass(RS4Object arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); arg.setClassAttr(null); return arg; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java index be53db9585b21128d4ed35b408d9ac4fb5faea3a..b043d6079184b62e0e5d641db4348422f7049934 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java @@ -45,7 +45,6 @@ public abstract class UpdateDim extends RBuiltinNode { @Specialization protected RAbstractVector updateDim(RAbstractVector vector, @SuppressWarnings("unused") RNull dimensions) { - controlVisibility(); RVector result = ((RAbstractVector) reuse.execute(vector)).materialize(); result.resetDimensions(null); return result; @@ -54,7 +53,6 @@ public abstract class UpdateDim extends RBuiltinNode { @Specialization protected RAbstractVector updateDim(RAbstractVector vector, RAbstractVector dimensions, // @Cached("createPreserveNames()") CastIntegerNode castInteger) { - controlVisibility(); if (dimensions.getLength() == 0) { CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.LENGTH_ZERO_DIM_INVALID); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java index 7b6edaca03d91ad9ab59763f6dfc2946f1ecf6c5..d206d97a0cefef2ec1d2251fa1103ab60d5b4940 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java @@ -94,7 +94,6 @@ public abstract class UpdateDimNames extends RBuiltinNode { @Specialization protected RAbstractContainer updateDimnamesNull(RAbstractContainer container, @SuppressWarnings("unused") RNull list, // @Cached("create(DIMNAMES_ATTR_KEY)") RemoveAttributeNode remove) { - controlVisibility(); RAbstractContainer result = (RAbstractContainer) container.getNonShared(); if (isRVectorProfile.profile(container instanceof RVector)) { RVector vector = (RVector) container; @@ -117,7 +116,6 @@ public abstract class UpdateDimNames extends RBuiltinNode { @Specialization(guards = "list.getLength() > 0") protected RAbstractContainer updateDimnames(RAbstractContainer container, RList list, // @Cached("create(DIMNAMES_ATTR_KEY)") PutAttributeNode put) { - controlVisibility(); RAbstractContainer result = (RAbstractContainer) container.getNonShared(); setDimNames(result, convertToListOfStrings(list), put); return result; @@ -125,7 +123,6 @@ public abstract class UpdateDimNames extends RBuiltinNode { @Specialization(guards = "!isRList(c)") protected RAbstractContainer updateDimnamesError(@SuppressWarnings("unused") RAbstractContainer container, @SuppressWarnings("unused") Object c) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.DIMNAMES_LIST); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java index 89b441726adc620256b55efdf4b15330af9e16fc..ed0d2d7737033ee0bc94dfa8517b27f8f58cfe8e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java @@ -46,20 +46,17 @@ public abstract class UpdateLength extends RBuiltinNode { @SuppressWarnings("unused") @Specialization(guards = "isLengthOne(lengthVector)") protected RNull updateLength(RNull value, RAbstractIntVector lengthVector) { - controlVisibility(); return RNull.instance; } @Specialization(guards = "isLengthOne(lengthVector)") protected RAbstractContainer updateLength(RAbstractContainer container, RAbstractIntVector lengthVector) { - controlVisibility(); return container.resize(lengthVector.getDataAt(0)); } @SuppressWarnings("unused") @Specialization protected Object updateLengthError(Object vector, Object lengthVector) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.INVALID_UNNAMED_VALUE); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLevels.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLevels.java index 73cc6874ace568009c7e6725bcf50e18f789c79f..32326368e24d36dd6122ae2839434f30be968757 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLevels.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLevels.java @@ -42,7 +42,6 @@ public abstract class UpdateLevels extends RBuiltinNode { @Specialization protected RAbstractVector updateLevels(RAbstractVector vector, @SuppressWarnings("unused") RNull levels) { - controlVisibility(); RVector v = (RVector) vector.getNonShared(); v.removeAttr(attrProfiles, RRuntime.LEVELS_ATTR_KEY); return v; @@ -50,7 +49,6 @@ public abstract class UpdateLevels extends RBuiltinNode { @Specialization(guards = "levelsNotNull(levels)") protected RAbstractVector updateLevels(RAbstractVector vector, Object levels) { - controlVisibility(); RVector v = (RVector) vector.getNonShared(); v.setAttr(RRuntime.LEVELS_ATTR_KEY, castVector(levels)); return v; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateNames.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateNames.java index d413505a955421848c7b2347d1e538f850a14a80..d6946e21ab8292c4de09326bff5901cafe4a94a5 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateNames.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateNames.java @@ -55,7 +55,6 @@ public abstract class UpdateNames extends RBuiltinNode { @Specialization @TruffleBoundary protected RAbstractContainer updateNames(RAbstractContainer container, Object names) { - controlVisibility(); Object newNames = castString(names); if (newNames == RNull.instance) { RAbstractContainer result = (RAbstractContainer) container.getNonShared(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateOldClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateOldClass.java index 62295b373cfa6bfda02e0a479caac125163ea95b..f8d823a843d744572035d8aaadc2abee997e47cb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateOldClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateOldClass.java @@ -47,7 +47,6 @@ public abstract class UpdateOldClass extends RBuiltinNode { @Specialization(guards = "!isStringVector(className)") protected Object setOldClass(RAbstractContainer arg, RAbstractVector className) { - controlVisibility(); if (className.getLength() == 0) { return setOldClass(arg, RNull.instance); } @@ -72,7 +71,6 @@ public abstract class UpdateOldClass extends RBuiltinNode { @Specialization @TruffleBoundary protected Object setOldClass(RAbstractContainer arg, RStringVector className) { - controlVisibility(); RAbstractContainer result = (RAbstractContainer) arg.getNonShared(); return result.setClassAttr(className); } @@ -80,7 +78,6 @@ public abstract class UpdateOldClass extends RBuiltinNode { @Specialization @TruffleBoundary protected Object setOldClass(RAbstractContainer arg, @SuppressWarnings("unused") RNull className) { - controlVisibility(); RAbstractContainer result = (RAbstractContainer) arg.getNonShared(); return result.setClassAttr(null); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java index 8c1d6e23ea40ef75b18cb6437164f35e72c898e2..49436ca9293f183e9d479aa69be997c0c48e6dd9 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java @@ -48,7 +48,6 @@ public abstract class UpdateStorageMode extends RBuiltinNode { @Specialization protected Object update(Object x, String value) { - controlVisibility(); RType mode = typeFromMode.execute(value); if (mode == RType.DefunctReal || mode == RType.DefunctSingle) { errorProfile.enter(); @@ -120,7 +119,6 @@ public abstract class UpdateStorageMode extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected Object update(Object x, Object value) { - controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.NULL_VALUE); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java index eeebb2751228d5463ad98a99d33c7714f884be94..3db77f9f3418b30417db8babd846c21cbaacd48f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java @@ -89,7 +89,6 @@ public abstract class UpdateSubstr extends RBuiltinNode { @Specialization(guards = "emptyArg(arg)") @TruffleBoundary protected RStringVector substrEmptyArg(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, Object value) { - controlVisibility(); return RDataFactory.createEmptyStringVector(); } @@ -118,7 +117,6 @@ public abstract class UpdateSubstr extends RBuiltinNode { @Specialization(guards = {"!emptyArg(arg)", "!wrongParams(start, stop)", "!wrongValue(value)"}) @TruffleBoundary protected RStringVector substr(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, RAbstractStringVector value) { - controlVisibility(); int argLength = arg.getLength(); String[] res = new String[argLength]; na.enable(arg); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/VApply.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/VApply.java index f7af4bdaca193ced16ae3d395051cf139ed7f589..1ab569f1c1e1f4c16872ec4dd63a9e8b04dd4208 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/VApply.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/VApply.java @@ -132,7 +132,6 @@ public abstract class VApply extends RBuiltinNode { protected Object vapply(VirtualFrame frame, RAbstractVector vec, RFunction fun, Object funValue, byte useNames) { RVector result = delegateToLapply(frame, vec, fun, funValue, useNames); // set here else it gets overridden by the iterator evaluation - controlVisibility(); return result; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Vector.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Vector.java index d4f3260a5d53795f3a4fbf1a82edceac204084da..e8e0fa598c1fb7e9b2e142a17dfcd551a3b1dd7c 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Vector.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Vector.java @@ -59,14 +59,12 @@ public abstract class Vector extends RBuiltinNode { @SuppressWarnings("unused") @Specialization(guards = {"mode == cachedMode"}, limit = CACHED_MODES_LIMIT) RAbstractVector vectorCached(String mode, int length, @Cached("mode") String cachedMode, @Cached("modeToType(mode)") RType type) { - controlVisibility(); return type.create(length, false); } @Specialization(contains = "vectorCached") @TruffleBoundary protected RAbstractVector vector(String mode, int length) { - controlVisibility(); return modeToType(mode).create(length, false); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Warning.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Warning.java index 5c28c1ac3f62e9922c156d4419e69794ef15d0b5..f917f0cf1da40c720f4ecce01513195677273cec 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Warning.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Warning.java @@ -65,7 +65,6 @@ public abstract class Warning extends RBuiltinNode { boolean immediate = RRuntime.fromLogical(immediateL); boolean noBreakWarning = RRuntime.fromLogical(noBreakWarningL); RErrorHandling.warningcallInternal(call, message, immediate, noBreakWarning); - controlVisibility(); return message; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java index 51ed994477c4a3bfce30b0365e7863cc8fae26a3..3164c5df7fa124c00b5006e498085a195cc8dd2e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java @@ -55,7 +55,6 @@ public class WhichFunctions { @Specialization(guards = "!hasNames(x)") @TruffleBoundary protected RIntVector which(RAbstractLogicalVector x) { - controlVisibility(); ArrayList<Integer> w = new ArrayList<>(); for (int i = 0; i < x.getLength(); i++) { if (x.getDataAt(i) == RRuntime.LOGICAL_TRUE) { @@ -72,7 +71,6 @@ public class WhichFunctions { @Specialization(guards = "hasNames(x)") @TruffleBoundary protected RIntVector whichNames(RAbstractLogicalVector x) { - controlVisibility(); ArrayList<Integer> w = new ArrayList<>(); ArrayList<String> n = new ArrayList<>(); RStringVector oldNames = x.getNames(attrProfiles); @@ -108,7 +106,6 @@ public class WhichFunctions { @Specialization protected int which(RAbstractDoubleVector x) { - controlVisibility(); double max = x.getDataAt(0); int maxIndex = 0; for (int i = 0; i < x.getLength(); i++) { @@ -131,7 +128,6 @@ public class WhichFunctions { @Specialization protected int which(RAbstractDoubleVector x) { - controlVisibility(); double minimum = x.getDataAt(0); int minIndex = 0; for (int i = 0; i < x.getLength(); i++) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WithVisible.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WithVisible.java index 072c4f9a8242ea0d5bdd6058c0f1c99c82f958db..0a8b7ac8b195ee1b61bf43ac572c3fd551927a6a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WithVisible.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WithVisible.java @@ -47,13 +47,11 @@ public abstract class WithVisible extends RBuiltinNode { Object[] data = new Object[]{x, RRuntime.asLogical(RContext.getInstance().isVisible())}; // Visibility is changed by the evaluation (else this code would not work), // so we have to force it back on. - controlVisibility(); return RDataFactory.createList(data, LISTNAMES); } @Specialization protected RList withVisible(@SuppressWarnings("unused") RMissing x) { - controlVisibility(); throw RError.error(this, Message.ARGUMENT_MISSING, "x"); } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/DotC.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/DotC.java index 66e52814566c4ca30fd1b05579c11b1625c65df5..6781cf35c630451bf3a67d159a3f18542c638186 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/DotC.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/DotC.java @@ -73,7 +73,6 @@ public abstract class DotC extends RBuiltinNode { @SuppressWarnings("unused") @Specialization protected RList c(VirtualFrame frame, RList symbol, RArgsValuesAndNames args, byte naok, byte dup, Object rPackage, RMissing encoding) { - controlVisibility(); long address = getAddressFromSymbolInfo(frame, symbol); String name = getNameFromSymbolInfo(frame, symbol); return dispatch(this, address, name, naok, dup, args); @@ -83,7 +82,6 @@ public abstract class DotC extends RBuiltinNode { @Specialization protected RList c(RAbstractStringVector f, RArgsValuesAndNames args, byte naok, byte dup, Object rPackage, RMissing encoding, // @Cached("create()") BranchProfile errorProfile) { - controlVisibility(); String libName = null; if (!(rPackage instanceof RMissing)) { libName = RRuntime.asString(rPackage); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/ForeignFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/ForeignFunctions.java index 95f579d6ebdab74c8fe1372f6bce5340417bf759..bbbcfaff47809e8a9d0ef0459f805e61e0175e13 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/ForeignFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/ForeignFunctions.java @@ -228,21 +228,18 @@ public class ForeignFunctions { protected Object doExternal(RList f, RArgsValuesAndNames args, byte naok, byte dup, Object rPackage, RMissing encoding, // @Cached("f") RList cached, // @Cached("lookupBuiltin(f)") RExternalBuiltinNode builtin) { - controlVisibility(); return builtin.call(args); } @Specialization(guards = "lookupBuiltin(symbol) == null") protected RList c(VirtualFrame frame, RList symbol, RArgsValuesAndNames args, byte naok, byte dup, @SuppressWarnings("unused") Object rPackage, @SuppressWarnings("unused") RMissing encoding) { - controlVisibility(); return DotC.dispatch(this, getAddressFromSymbolInfo(frame, symbol), getNameFromSymbolInfo(frame, symbol), naok, dup, args); } @Specialization protected RList c(RAbstractStringVector f, RArgsValuesAndNames args, byte naok, byte dup, Object rPackage, @SuppressWarnings("unused") RMissing encoding, // @Cached("create()") BranchProfile errorProfile) { - controlVisibility(); String libName = checkPackageArg(rPackage, errorProfile); DLL.RegisteredNativeSymbol rns = new DLL.RegisteredNativeSymbol(DLL.NativeSymbolType.Fortran, null, null); long func = DLL.findSymbol(f.getDataAt(0), libName, rns); @@ -499,13 +496,11 @@ public class ForeignFunctions { protected Object doExternal(RList f, RArgsValuesAndNames args, RMissing packageName, // @Cached("f") RList cached, // @Cached("lookupBuiltin(f)") RExternalBuiltinNode builtin) { - controlVisibility(); return builtin.call(args); } @Specialization protected Object callNamedFunction(VirtualFrame frame, RList symbol, RArgsValuesAndNames args, @SuppressWarnings("unused") Object packageName) { - controlVisibility(); return RFFIFactory.getRFFI().getCallRFFI().invokeCall(getAddressFromSymbolInfo(frame, symbol), getNameFromSymbolInfo(frame, symbol), args.getArguments()); } @@ -516,7 +511,6 @@ public class ForeignFunctions { @Specialization protected Object callNamedFunctionWithPackage(String name, RArgsValuesAndNames args, String packageName) { - controlVisibility(); DLL.RegisteredNativeSymbol rns = new DLL.RegisteredNativeSymbol(DLL.NativeSymbolType.Call, null, null); long func = DLL.findSymbol(name, packageName, rns); if (func == DLL.SYMBOL_NOT_FOUND) { @@ -582,7 +576,6 @@ public class ForeignFunctions { protected Object doExternal(RList f, RArgsValuesAndNames args, RMissing packageName, // @Cached("f") RList cached, // @Cached("lookupBuiltin(f)") RExternalBuiltinNode builtin) { - controlVisibility(); return builtin.call(args); } @@ -600,7 +593,6 @@ public class ForeignFunctions { @Specialization protected Object callNamedFunctionWithPackage(String name, RArgsValuesAndNames args, String packageName) { - controlVisibility(); DLL.RegisteredNativeSymbol rns = new DLL.RegisteredNativeSymbol(DLL.NativeSymbolType.External, null, null); long func = DLL.findSymbol(name, packageName, rns); if (func == DLL.SYMBOL_NOT_FOUND) { @@ -652,7 +644,6 @@ public class ForeignFunctions { protected Object doExternal(RList f, RArgsValuesAndNames args, RMissing packageName, // @Cached("f") RList cached, // @Cached("lookupBuiltin(f)") RExternalBuiltinNode builtin) { - controlVisibility(); return builtin.call(args); } @@ -671,7 +662,6 @@ public class ForeignFunctions { @Specialization protected Object callNamedFunctionWithPackage(String name, RArgsValuesAndNames args, String packageName) { - controlVisibility(); DLL.RegisteredNativeSymbol rns = new DLL.RegisteredNativeSymbol(DLL.NativeSymbolType.External, null, null); long func = DLL.findSymbol(name, packageName, rns); if (func == DLL.SYMBOL_NOT_FOUND) { @@ -712,7 +702,6 @@ public class ForeignFunctions { protected Object doExternal(RList f, RArgsValuesAndNames args, RMissing packageName, // @Cached("f") RList cached, // @Cached("lookupBuiltin(f)") RExternalBuiltinNode builtin) { - controlVisibility(); return builtin.call(args); } @@ -730,7 +719,6 @@ public class ForeignFunctions { @Specialization protected Object callNamedFunctionWithPackage(String name, RArgsValuesAndNames args, String packageName) { - controlVisibility(); DLL.RegisteredNativeSymbol rns = new DLL.RegisteredNativeSymbol(DLL.NativeSymbolType.External, null, null); long func = DLL.findSymbol(name, packageName, rns); if (func == DLL.SYMBOL_NOT_FOUND) { @@ -770,7 +758,6 @@ public class ForeignFunctions { protected Object doExternal(RList f, RArgsValuesAndNames args, RMissing packageName, // @Cached("f") RList cached, // @Cached("lookupBuiltin(f)") RExternalBuiltinNode builtin) { - controlVisibility(); return builtin.call(args); } @@ -786,7 +773,6 @@ public class ForeignFunctions { @Specialization protected Object callNamedFunctionWithPackage(String name, RArgsValuesAndNames args, String packageName) { - controlVisibility(); DLL.RegisteredNativeSymbol rns = new DLL.RegisteredNativeSymbol(DLL.NativeSymbolType.Call, null, null); long func = DLL.findSymbol(name, packageName, rns); if (func == DLL.SYMBOL_NOT_FOUND) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRCallCounting.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRCallCounting.java index a6e677934d4b5b1b845a17d4773a800c938cd307..4039faa429afd3aafb46e1409bba4c31c8469d4f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRCallCounting.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRCallCounting.java @@ -41,7 +41,6 @@ public class FastRCallCounting { @Specialization @TruffleBoundary protected RNull createCallCounter(RFunction function) { - controlVisibility(); if (!function.isBuiltin()) { REntryCounters.FunctionListener.installCounter(function); } @@ -60,7 +59,6 @@ public class FastRCallCounting { @Specialization @TruffleBoundary protected Object getCallCount(RFunction function) { - controlVisibility(); if (!function.isBuiltin()) { int entryCount = REntryCounters.FunctionListener.findCounter(function).getEnterCount(); if (entryCount < 0) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRContext.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRContext.java index 636e7ee4b03a02358f3e394da61b0d7161993e30..5c541fd1cc64de727153c9c7c6cbc2280f762330 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRContext.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRContext.java @@ -66,7 +66,6 @@ public class FastRContext { @Specialization @TruffleBoundary protected int create(RAbstractStringVector args, RAbstractStringVector kindVec) { - controlVisibility(); try { RContext.ContextKind kind = RContext.ContextKind.valueOf(kindVec.getDataAt(0)); RCmdOptions options = RCmdOptions.parseArguments(Client.RSCRIPT, args.materialize().getDataCopy()); @@ -88,7 +87,6 @@ public class FastRContext { @Specialization @TruffleBoundary protected Object get() { - controlVisibility(); return RContext.getInstance(); } } @@ -120,7 +118,6 @@ public class FastRContext { @Specialization @TruffleBoundary protected RNull spawn(RAbstractIntVector contexts, RAbstractStringVector exprs) { - controlVisibility(); RContext.EvalThread[] threads = new RContext.EvalThread[contexts.getLength()]; for (int i = 0; i < threads.length; i++) { ContextInfo info = checkContext(contexts.getDataAt(i), this); @@ -143,7 +140,6 @@ public class FastRContext { public abstract static class Join extends RBuiltinNode { @Specialization protected RNull eval(RAbstractIntVector contexts) { - controlVisibility(); try { for (int i = 0; i < contexts.getLength(); i++) { Thread thread = RContext.EvalThread.threads.get(contexts.getDataAt(i)); @@ -179,7 +175,6 @@ public class FastRContext { @Specialization @TruffleBoundary protected Object eval(RAbstractIntVector contexts, RAbstractStringVector exprs, byte par) { - controlVisibility(); Object[] results = new Object[contexts.getLength()]; if (RRuntime.fromLogical(par)) { RContext.EvalThread[] threads = new RContext.EvalThread[contexts.getLength()]; @@ -255,7 +250,6 @@ public class FastRContext { @Specialization(guards = "key.getLength() == 1") @TruffleBoundary protected int createChannel(RAbstractIntVector key) { - controlVisibility(); return RChannel.createChannel(key.getDataAt(0)); } @@ -270,7 +264,6 @@ public class FastRContext { @Specialization(guards = "key.getLength() == 1") @TruffleBoundary protected int getChannel(RAbstractIntVector key) { - controlVisibility(); return RChannel.getChannel(key.getDataAt(0)); } @@ -285,7 +278,6 @@ public class FastRContext { @Specialization(guards = "id.getLength() == 1") @TruffleBoundary protected RNull getChannel(RAbstractIntVector id) { - controlVisibility(); RChannel.closeChannel(id.getDataAt(0)); return RNull.instance; } @@ -301,7 +293,6 @@ public class FastRContext { @Specialization(guards = "id.getLength() == 1") @TruffleBoundary protected RNull send(RAbstractIntVector id, Object data) { - controlVisibility(); RChannel.send(id.getDataAt(0), data); return RNull.instance; } @@ -317,7 +308,6 @@ public class FastRContext { @Specialization(guards = "id.getLength() == 1") @TruffleBoundary protected Object receive(RAbstractIntVector id) { - controlVisibility(); return RChannel.receive(id.getDataAt(0)); } @@ -332,7 +322,6 @@ public class FastRContext { @Specialization(guards = "id.getLength() == 1") @TruffleBoundary protected Object poll(RAbstractIntVector id) { - controlVisibility(); return RChannel.poll(id.getDataAt(0)); } @@ -347,7 +336,6 @@ public class FastRContext { @Specialization @TruffleBoundary protected RList select(RList nodes) { - controlVisibility(); int ind = 0; int length = nodes.getLength(); while (true) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRDebug.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRDebug.java index cb464f0428abc1e345f4f7f64547173a73e49cff..9f2010404f651cfdd003064896f5be8304779a17 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRDebug.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRDebug.java @@ -25,7 +25,6 @@ package com.oracle.truffle.r.nodes.builtin.fastr; import com.oracle.truffle.api.dsl.Fallback; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.r.nodes.builtin.RBuiltinNode; -import com.oracle.truffle.r.nodes.builtin.RInvisibleBuiltinNode; import com.oracle.truffle.r.runtime.FastROptions; import com.oracle.truffle.r.runtime.RBuiltin; import com.oracle.truffle.r.runtime.RBuiltinKind; @@ -38,7 +37,6 @@ import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector; public abstract class FastRDebug extends RBuiltinNode { @Specialization protected RNull debug(RAbstractStringVector vec) { - controlVisibility(); for (int i = 0; i < vec.getLength(); i++) { FastROptions.debugUpdate(vec.getDataAt(i)); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRFunctionTimer.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRFunctionTimer.java index 8ec10464d0ad8222a2c3f626a959cbbbd336b3c7..1a967545babb8328c37243b0ba4d3f4370188406 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRFunctionTimer.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRFunctionTimer.java @@ -44,7 +44,6 @@ public class FastRFunctionTimer { @Specialization @TruffleBoundary protected RNull createFunctionTimer(RFunction function) { - controlVisibility(); if (!function.isBuiltin()) { RNodeTimer.StatementListener.installTimer(function); } @@ -68,7 +67,6 @@ public class FastRFunctionTimer { @Specialization @TruffleBoundary protected Object getFunctionTimer(RFunction function, RAbstractStringVector scale) { - controlVisibility(); if (!function.isBuiltin()) { long timeInfo = RNodeTimer.StatementListener.findTimer(function); if (timeInfo < 0) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInspect.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInspect.java index 0426c3f9e203fbcbec4926e2d8cb80e84d37d663..236507ea80cd6842ac75d4a4b2aa167a94006940 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInspect.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInspect.java @@ -37,7 +37,6 @@ import com.oracle.truffle.r.runtime.data.RNull; public abstract class FastRInspect extends RBuiltinNode { @Specialization public Object call(@SuppressWarnings("unused") RArgsValuesAndNames args) { - controlVisibility(); return RNull.instance; } } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java index 59de30127027133271a1e122cf43d6fc9b3ebe79..55e91496b02ee315c7dc3c08c575cd9fc4d2f246 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java @@ -47,7 +47,6 @@ public class FastRInterop { @Specialization @TruffleBoundary protected Object interopEval(Object mimeType, Object source) { - controlVisibility(); Source sourceObject = Source.fromText(RRuntime.asString(source), Engine.EVAL_FUNCTION_NAME).withMimeType(RRuntime.asString(mimeType)); CallTarget callTarget; @@ -68,7 +67,6 @@ public class FastRInterop { @Specialization @TruffleBoundary protected Object debugSource(Object name, RTypedValue value) { - controlVisibility(); String stringName = RRuntime.asString(name); if (stringName == null) { throw RError.error(this, RError.Message.INVALID_ARG_TYPE, "name"); @@ -88,7 +86,6 @@ public class FastRInterop { @Specialization @TruffleBoundary protected Object debugSource(Object name) { - controlVisibility(); String stringName = RRuntime.asString(name); if (stringName == null) { throw RError.error(this, RError.Message.INVALID_ARG_TYPE, "name"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRStackTrace.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRStackTrace.java index dc3b99f75823afcb4b516e322c3691e98afa5f80..0d37d83331ae3fcccff86910ab7a6eb1c9710cbd 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRStackTrace.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRStackTrace.java @@ -44,7 +44,6 @@ public abstract class FastRStackTrace extends RBuiltinNode { @Specialization protected RNull printStackTrace(byte printFrameContents) { - controlVisibility(); boolean printFrameSlots = printFrameContents == RRuntime.LOGICAL_TRUE; RContext.getInstance().getConsoleHandler().print(Utils.createStackTrace(printFrameSlots)); return RNull.instance; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRSyntaxTree.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRSyntaxTree.java index 90bcbb977690600dc183254dab57a315afd68d86..4155314e9ac0f5fe2b2c7fd4ddcaded2047864cf 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRSyntaxTree.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRSyntaxTree.java @@ -77,7 +77,6 @@ public abstract class FastRSyntaxTree extends RBuiltinNode { @Specialization @TruffleBoundary protected RNull printTree(RFunction function, RAbstractStringVector visitMode, byte printSourceLogical, byte printTagsLogical) { - controlVisibility(); boolean printSource = RRuntime.fromLogical(printSourceLogical); boolean printTags = RRuntime.fromLogical(printTagsLogical); FunctionDefinitionNode root = (FunctionDefinitionNode) function.getTarget().getRootNode(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRThrowIt.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRThrowIt.java index 317acbf8973b106840e5bb9643b6fac74cd200a3..c4f432f76388658d0dd2e37113d4b1f8f2966e8f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRThrowIt.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRThrowIt.java @@ -39,7 +39,6 @@ public abstract class FastRThrowIt extends RBuiltinNode { @Specialization @TruffleBoundary protected RNull throwit(RAbstractStringVector x) { - controlVisibility(); String name = x.getDataAt(0); switch (name) { case "AIX": diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTrace.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTrace.java index 6ae077d81d861b5a2b6356c891f38ba78389aa00..57047bb92761bf685a2a898ba0e893352dbd0d2e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTrace.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTrace.java @@ -46,6 +46,8 @@ import com.oracle.truffle.r.runtime.RBuiltinKind; import com.oracle.truffle.r.runtime.RError; import com.oracle.truffle.r.runtime.RRuntime; import com.oracle.truffle.r.runtime.RType; +import com.oracle.truffle.r.runtime.RVisibility; +import com.oracle.truffle.r.runtime.context.RContext; import com.oracle.truffle.r.runtime.data.RDataFactory; import com.oracle.truffle.r.runtime.data.RFunction; import com.oracle.truffle.r.runtime.data.RLanguage; @@ -104,7 +106,7 @@ public class FastRTrace { } - @RBuiltin(name = ".fastr.trace", kind = RBuiltinKind.PRIMITIVE, parameterNames = {"what", "tracer", "exit", "at", "print", "signature", "where"}) + @RBuiltin(name = ".fastr.trace", visibility = RVisibility.CUSTOM, kind = RBuiltinKind.PRIMITIVE, parameterNames = {"what", "tracer", "exit", "at", "print", "signature", "where"}) public abstract static class Trace extends Helper { @Child private TraceFunctions.PrimTrace primTrace; @@ -112,7 +114,6 @@ public class FastRTrace { @Specialization protected Object trace(VirtualFrame frame, Object whatObj, Object tracer, Object exit, Object at, Object printObj, Object signature, Object whereObj) { - controlVisibility(); Object what = whatObj; checkWhat(what); Object where = whereObj; @@ -126,27 +127,30 @@ public class FastRTrace { RFunction func = checkFunction(what); if (tracer == RMissing.instance && exit == RMissing.instance && at == RMissing.instance && printObj == RMissing.instance && signature == RMissing.instance) { - // simple case, nargs() == 1 + // simple case, nargs() == 1, corresponds to .primTrace that has invisible output if (primTrace == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); primTrace = insert(PrimTraceNodeGen.create(null)); } - return primTrace.execute(frame, func); - } else { - if (at != RMissing.instance) { - throw RError.nyi(this, "'at'"); - } - boolean print = true; - if (printObj != RMissing.instance) { - if (castLogical == null) { - CompilerDirectives.transferToInterpreterAndInvalidate(); - castLogical = insert(CastLogicalNodeGen.create(false, false, false)); - } - print = RRuntime.fromLogical((byte) castLogical.execute(printObj)); - } - complexCase(func, tracer, exit, at, print, signature); + + Object result = primTrace.execute(frame, func); + RContext.getInstance().setVisible(false); + return result; } + if (at != RMissing.instance) { + throw RError.nyi(this, "'at'"); + } + boolean print = true; + if (printObj != RMissing.instance) { + if (castLogical == null) { + CompilerDirectives.transferToInterpreterAndInvalidate(); + castLogical = insert(CastLogicalNodeGen.create(false, false, false)); + } + print = RRuntime.fromLogical((byte) castLogical.execute(printObj)); + } + complexCase(func, tracer, exit, at, print, signature); + RContext.getInstance().setVisible(true); return func.toString(); } @@ -167,7 +171,7 @@ public class FastRTrace { } - @RBuiltin(name = ".fastr.untrace", kind = RBuiltinKind.PRIMITIVE, parameterNames = {"what", "signature", "where"}) + @RBuiltin(name = ".fastr.untrace", visibility = RVisibility.OFF, kind = RBuiltinKind.PRIMITIVE, parameterNames = {"what", "signature", "where"}) public abstract static class Untrace extends Helper { @Child private TraceFunctions.PrimUnTrace primUnTrace; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTree.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTree.java index f39c7a4a0307a08d68b72b3c0984cce88bb90884..a3c1aa478d98bdcc807bee149692ba8791858e4b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTree.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRTree.java @@ -44,7 +44,6 @@ public abstract class FastRTree extends RBuiltinNode { @Specialization protected String printTree(RFunction function, byte verbose) { - controlVisibility(); RootNode root = function.getTarget().getRootNode(); String printedTree = verbose == RRuntime.LOGICAL_TRUE ? NodeUtil.printTreeToString(root) : NodeUtil.printCompactTreeToString(root); System.out.println(printedTree); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java index d85859b6e2366242f6b541f786cefcd2eb24c969..95a602ff912ccfd77d54021baded5f948547d7b5 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java @@ -62,7 +62,6 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "left <= right") protected RIntSequence colonAscending(int left, int right) { - controlVisibility(); leftNA.enable(left); rightNA.enable(right); naCheck(leftNA.check(left) || rightNA.check(right)); @@ -71,7 +70,6 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "left > right") protected RIntSequence colonDescending(int left, int right) { - controlVisibility(); leftNA.enable(left); rightNA.enable(right); naCheck(leftNA.check(left) || rightNA.check(right)); @@ -80,7 +78,6 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "asDouble(left) <= right") protected RIntSequence colonAscending(int left, double right) { - controlVisibility(); leftNA.enable(left); naCheck(leftNA.check(left) || RRuntime.isNAorNaN(right)); return RDataFactory.createAscendingRange(left, (int) right); @@ -88,7 +85,6 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "asDouble(left) > right") protected RIntSequence colonDescending(int left, double right) { - controlVisibility(); leftNA.enable(left); naCheck(leftNA.check(left) || RRuntime.isNAorNaN(right)); return RDataFactory.createDescendingRange(left, (int) right); @@ -96,7 +92,6 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "left <= asDouble(right)") protected RDoubleSequence colonAscending(double left, int right) { - controlVisibility(); rightNA.enable(right); naCheck(RRuntime.isNAorNaN(left) || rightNA.check(right)); return RDataFactory.createAscendingRange(left, right); @@ -104,7 +99,6 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "left > asDouble(right)") protected RDoubleSequence colonDescending(double left, int right) { - controlVisibility(); rightNA.enable(right); naCheck(RRuntime.isNAorNaN(left) || rightNA.check(right)); return RDataFactory.createDescendingRange(left, right); @@ -112,14 +106,12 @@ public abstract class ColonNode extends RBuiltinNode { @Specialization(guards = "left <= right") protected RDoubleSequence colonAscending(double left, double right) { - controlVisibility(); naCheck(RRuntime.isNAorNaN(left) || RRuntime.isNAorNaN(right)); return RDataFactory.createAscendingRange(left, right); } @Specialization(guards = "left > right") protected RDoubleSequence colonDescending(double left, double right) { - controlVisibility(); naCheck(RRuntime.isNAorNaN(left) || RRuntime.isNAorNaN(right)); return RDataFactory.createDescendingRange(left, right); } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/VisibilityController.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/VisibilityController.java index 12f915588f89d32b0ae38355c3f7377ac4eeb73c..3c2de8b765901eeae9ab2fa915e3ef40e547f133 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/VisibilityController.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/VisibilityController.java @@ -43,21 +43,6 @@ public interface VisibilityController { return true; } - /** - * Set the global visibility flag according to the visibility property of the node implementing - * this interface. There is no need to ever override this method, but all node classes - * implementing the {@link VisibilityController} interface must call this method in each of - * their specializations or {@code execute()} methods. - * - * This call is not necessary in specializations or {@code execute()} methods that are - * guaranteed to always replace and execute, as is common in "unresolved" node implementations. - */ - default void controlVisibility() { - if (!FastROptions.IgnoreVisibility.getBooleanValue()) { - RContext.getInstance().setVisible(getVisibility()); - } - } - /** * Force the visibility to {@code state}. Useful for builtins where the visibility depends on * the result, e.g. {@code switch}.