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 07686e62b5f91b0595e23df6f37e1dbc72190e19..beecc04c20cf63851763821a8a13140d2acbdd14 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 @@ -58,12 +58,15 @@ public class EnvFunctions { } @Specialization - protected REnvironment asEnvironment(VirtualFrame frame, double dpos) { - controlVisibility(); - return asEnvironmentInt(frame, (int) dpos); + protected REnvironment asEnvironment(VirtualFrame frame, RAbstractDoubleVector posVec) { + return asEnvironmentInt(frame, (int) posVec.getDataAt(0)); } @Specialization + protected REnvironment asEnvironmentInt(VirtualFrame frame, RAbstractIntVector posVec) { + return asEnvironmentInt(frame, posVec.getDataAt(0)); + } + protected REnvironment asEnvironmentInt(VirtualFrame frame, int pos) { controlVisibility(); if (pos == -1) { 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 f3811b76355614592318ef39084639627c03ba4c..9eac719b1c9fcecdcd0aad99e98b93aebe531619 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 @@ -65,7 +65,7 @@ public class NamespaceFunctions { @RBuiltin(name = "getNamespaceRegistry", kind = INTERNAL, parameterNames = {}) public abstract static class GetNamespaceRegistry extends RBuiltinNode { @Specialization - protected REnvironment doGetNamespaceRegistry(@SuppressWarnings("unused") RMissing missing) { + protected REnvironment doGetNamespaceRegistry() { controlVisibility(); return REnvironment.getNamespaceRegistry(); } diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test index 9360aa448ba2be53a3873c518f141c65a196770f..02a800b069c5f354827af7cf78648283b43f7886 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test @@ -4,6 +4,22 @@ [1] 0.45336386 0.38848030 0.94576608 0.11726267 0.21542351 0.08672997 [7] 0.35201276 0.16919220 0.93579263 0.26084486 +##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadTestRFFI +#{ library("testrffi", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); add_double(2, 3) } +[1] 5 + +##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadTestRFFI +#{ library("testrffi", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); add_int(2L, 3L) } +[1] 5 + +##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadTestRFFI +#{ library("testrffi", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); v <- createIntVector(2); v[1] <- 1; v[2] <- 2; v } +[1] 1 2 + +##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadVanilla +#{ library("vanilla", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); vanilla() } +[1] "A vanilla R package" + ##com.oracle.truffle.r.test.ser.TestUnserializeFromGnuR.testVectors #{ print(.Internal(unserializeFromConn(gzfile("com.oracle.truffle.r.test/bin/com/oracle/truffle/r/test/ser/data/list2.rds"), NULL))) } $one diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java index 436f79d81bdda33d5a3ffaf9889bda21175b75a0..060f46282d6bccca3f7e60187fb8cd4e307d8e37 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java @@ -138,13 +138,11 @@ public class TestRPackages extends TestBase { } @Test - @Ignore public void testLoadVanilla() { assertTemplateEval(TestBase.template("{ library(\"vanilla\", lib.loc = \"%0\"); vanilla() }", new String[]{packagePaths.rpackagesLibs.toString()})); } @Test - @Ignore public void testLoadTestRFFI() { // tmp disable until OS name is fixed assertTemplateEval(TestBase.template("{ library(\"testrffi\", lib.loc = \"%0\"); add_int(2L, 3L) }", new String[]{packagePaths.rpackagesLibs.toString()}));