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 2620a949d05fbb07570a484a054f37af5ee535fa..22e4b2d3ea1b1328fc6e12f0469980208aee37ad 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
@@ -12,6 +12,8 @@ package com.oracle.truffle.r.nodes.builtin.base;
 
 import static com.oracle.truffle.r.runtime.RBuiltinKind.*;
 
+import java.util.*;
+
 import com.oracle.truffle.api.*;
 import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
 import com.oracle.truffle.api.dsl.*;
@@ -140,6 +142,7 @@ public abstract class S3DispatchFunctions extends RBuiltinNode {
         @Child private ReadVariableNode rvnDef = ReadVariableNode.create(RRuntime.RDotGenericDefEnv, RType.Any, ReadKind.SilentLocal);
 
         @Child private CombineSignaturesNode combineSignatures;
+        @Child private CollectArgumentsNode collectArguments = CollectArgumentsNodeGen.create(null);
 
         @CompilationFinal private RAttributeProfiles attrProfiles;
         @Child private PromiseHelperNode promiseHelper;
@@ -180,11 +183,10 @@ public abstract class S3DispatchFunctions extends RBuiltinNode {
             String group = (String) rvnGroup.execute(frame);
 
             ArgumentsSignature suppliedSignature;
-            Object[] suppliedArguments;
             ArgumentsSignature parameterSignature = parameterSignatureProfile.profile(RArguments.getSignature(frame));
+            Object[] suppliedArguments = collectArguments.execute(frame, parameterSignature);
             if (emptyArgsProfile.profile(args == RArgsValuesAndNames.EMPTY)) {
                 suppliedSignature = parameterSignature;
-                suppliedArguments = RArguments.getArguments(frame);
             } else {
                 if (combineSignatures == null) {
                     CompilerDirectives.transferToInterpreterAndInvalidate();
@@ -192,13 +194,8 @@ public abstract class S3DispatchFunctions extends RBuiltinNode {
                 }
                 suppliedSignature = combineSignatures.execute(parameterSignature, args.getSignature());
 
-                suppliedArguments = new Object[suppliedSignature.getLength()];
-                for (int i = 0; i < parameterSignature.getLength(); i++) {
-                    suppliedArguments[i] = RArguments.getArgument(frame, i);
-                }
-                for (int i = 0; i < args.getSignature().getLength(); i++) {
-                    suppliedArguments[parameterSignature.getLength() + i] = args.getValues()[i];
-                }
+                suppliedArguments = Arrays.copyOf(suppliedArguments, suppliedSignature.getLength());
+                System.arraycopy(args.getValues(), 0, suppliedArguments, parameterSignature.getLength(), suppliedSignature.getLength() - parameterSignature.getLength());
             }
             return dispatch(frame, generic, readType(frame), group, genericCallFrame, genericDefFrame, suppliedSignature, suppliedArguments);
         }
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsNode.java
index 6b16c66570a6b4059a9921a1c6678dd87635c643..487cadf9d84acb0ceac6efb84c7c90f5232ff27f 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsNode.java
@@ -25,10 +25,9 @@ package com.oracle.truffle.r.nodes.function.signature;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.nodes.*;
-import com.oracle.truffle.r.runtime.*;
 
 @TypeSystemReference(ArgumentsTypeSystem.class)
 public abstract class ArgumentsNode extends Node {
 
-    public abstract ArgumentsSignature execute(VirtualFrame frame);
+    public abstract Object execute(VirtualFrame frame);
 }
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsTypeSystem.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsTypeSystem.java
index 2dd8a33e22897645968d419ca1ddbe124bcafdff..6bfe58de13218843cfb4c21ad1cc8660c170d46c 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsTypeSystem.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/ArgumentsTypeSystem.java
@@ -25,7 +25,7 @@ package com.oracle.truffle.r.nodes.function.signature;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.r.runtime.*;
 
-@TypeSystem(ArgumentsSignature.class)
+@TypeSystem({ArgumentsSignature.class, Object[].class})
 public class ArgumentsTypeSystem {
 
 }
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CollectArgumentsNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CollectArgumentsNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..c38e48776638680d9093d97c4001f52c1b1ce546
--- /dev/null
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CollectArgumentsNode.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.oracle.truffle.r.nodes.function.signature;
+
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
+import com.oracle.truffle.api.dsl.*;
+import com.oracle.truffle.api.frame.*;
+import com.oracle.truffle.api.nodes.*;
+import com.oracle.truffle.api.utilities.*;
+import com.oracle.truffle.r.nodes.access.variables.*;
+import com.oracle.truffle.r.nodes.access.variables.ReadVariableNode.ReadKind;
+import com.oracle.truffle.r.runtime.*;
+import com.oracle.truffle.r.runtime.data.*;
+
+@NodeChildren({@NodeChild("signature")})
+public abstract class CollectArgumentsNode extends ArgumentsNode {
+
+    protected static final int CACHE_LIMIT = 3;
+
+    private final ConditionProfile valueMissingProfile = ConditionProfile.createBinaryProfile();
+
+    public abstract Object[] execute(VirtualFrame frame, ArgumentsSignature signature);
+
+    protected ReadVariableNode[] createReads(ArgumentsSignature signature) {
+        ReadVariableNode[] reads = new ReadVariableNode[signature.getLength()];
+        for (int i = 0; i < signature.getLength(); i++) {
+            reads[i] = ReadVariableNode.create(signature.getName(i), RType.Any, ReadKind.SilentLocal);
+        }
+        return reads;
+    }
+
+    @SuppressWarnings("unused")
+    @ExplodeLoop
+    @Specialization(limit = "CACHE_LIMIT", guards = {"cachedSignature == signature"})
+    protected Object[] combineCached(VirtualFrame frame, ArgumentsSignature signature, @Cached("signature") ArgumentsSignature cachedSignature,
+                    @Cached("createReads(signature)") ReadVariableNode[] reads) {
+        Object[] result = new Object[reads.length];
+        for (int i = 0; i < reads.length; i++) {
+            Object value = reads[i].execute(frame);
+            result[i] = valueMissingProfile.profile(value == null) ? RMissing.instance : value;
+        }
+        return result;
+    }
+
+    @Specialization
+    protected Object[] combine(VirtualFrame frame, ArgumentsSignature signature) {
+        return readFromMaterialized(frame.materialize(), signature);
+    }
+
+    @TruffleBoundary
+    private static Object[] readFromMaterialized(MaterializedFrame frame, ArgumentsSignature signature) {
+        Object[] result = new Object[signature.getLength()];
+        FrameDescriptor desc = frame.getFrameDescriptor();
+        for (int i = 0; i < signature.getLength(); i++) {
+            FrameSlot slot = desc.findFrameSlot(signature.getName(i));
+            if (slot == null) {
+                result[i] = RMissing.instance;
+            } else {
+                result[i] = frame.getValue(slot);
+            }
+        }
+        return result;
+    }
+}
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CombineSignaturesNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CombineSignaturesNode.java
index 88d0d88e309d000308a52726674d654ba993824a..16d66c14f592f225ed885431b1ead69fc80f1f6f 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CombineSignaturesNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/CombineSignaturesNode.java
@@ -29,10 +29,12 @@ import com.oracle.truffle.r.runtime.*;
 @NodeChildren({@NodeChild("left"), @NodeChild("right")})
 public abstract class CombineSignaturesNode extends ArgumentsNode {
 
+    protected static final int CACHE_LIMIT = 3;
+
     public abstract ArgumentsSignature execute(ArgumentsSignature left, ArgumentsSignature right);
 
     @SuppressWarnings("unused")
-    @Specialization(guards = {"left == leftCached", "right == rightCached"})
+    @Specialization(limit = "CACHE_LIMIT", guards = {"left == leftCached", "right == rightCached"})
     protected ArgumentsSignature combineCached(ArgumentsSignature left, ArgumentsSignature right, @Cached("left") ArgumentsSignature leftCached, @Cached("right") ArgumentsSignature rightCached,
                     @Cached("combine(left, right)") ArgumentsSignature resultCached) {
         return resultCached;
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RArguments.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RArguments.java
index 584c23f341a1b99ab09e85ef922e9fc4214b2dce..e8fb3eb49ee88d97d12eedf8e98b0c97c92f7f52 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RArguments.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RArguments.java
@@ -252,10 +252,6 @@ public final class RArguments {
         return (boolean) getArgumentsWithEvalCheck(frame)[INDEX_IS_IRREGULAR];
     }
 
-    public static void copyArgumentsInto(Frame frame, Object[] target) {
-        System.arraycopy(getArgumentsWithEvalCheck(frame), INDEX_ARGUMENTS, target, 0, getNArgs(frame));
-    }
-
     public static Object getArgument(Frame frame, int argIndex) {
         assert (argIndex >= 0 && argIndex < getNArgs(frame));
         return getArgumentsWithEvalCheck(frame)[INDEX_ARGUMENTS + argIndex];
@@ -266,6 +262,11 @@ public final class RArguments {
         return Arrays.copyOfRange(args, INDEX_ARGUMENTS, INDEX_ARGUMENTS + ((ArgumentsSignature) args[INDEX_SIGNATURE]).getLength());
     }
 
+    public static void copyArguments(Frame frame, Object[] dest, int pos) {
+        Object[] args = getArgumentsWithEvalCheck(frame);
+        System.arraycopy(args, INDEX_ARGUMENTS, dest, pos, ((ArgumentsSignature) args[INDEX_SIGNATURE]).getLength());
+    }
+
     /**
      * <b>Only to be called from AccessArgumentNode!</b>
      *
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 7194f372099cb8488e0358f026db8b47977de5f5..cc52af6946a53429ef44271594db332ede820157 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
@@ -13323,6 +13323,9 @@ Error in k() : argument "y" is missing, with no default
 #{  f<-function(x, ..., y=TRUE) { nargs() }; f(1, 2, 3) }
 [1] 3
 
+##com.oracle.truffle.r.test.library.base.TestSimpleBuiltins.testNextMethod
+#{ foo <- function(x,y) UseMethod('foo'); foo.bar <- function(x, y) { y <- 10; NextMethod() }; foo.default <- function(x,y) cat(x,y); v <- c(1,2,3); class(v) <- 'bar'; foo(v,5) }
+1 2 3 10
 ##com.oracle.truffle.r.test.library.base.TestSimpleBuiltins.testNextMethod
 #{ g<-function(){ x<-1; class(x)<-c("a","b","c"); f<-function(x){UseMethod("f")}; f.a<-function(x){cat("a");NextMethod("f",x)}; f.b<-function(x){cat("b")}; f(x); }; g() }
 ab
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleBuiltins.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleBuiltins.java
index bc23226a9eb6543e23135b15934c4b96f7315937..d8ac877e5a99c3639c6e41224c01dbb249162fc0 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleBuiltins.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleBuiltins.java
@@ -3408,6 +3408,7 @@ public class TestSimpleBuiltins extends TestBase {
         assertEval("{ g<-function(){ x<-1; class(x)<-c(\"a\",\"b\",\"c\"); f<-function(x){UseMethod(\"f\")}; f.a<-function(x){cat(\"a\");NextMethod(\"f\",x, 42)}; f.b<-function(x, y=7){cat(\"b\", y)}; f(x); }; g(); }");
         assertEval("{ g<-function(){ x<-1; class(x)<-c(\"a\",\"b\",\"c\"); f<-function(x){UseMethod(\"f\")}; f.a<-function(x){cat(\"a\");NextMethod(\"f\",x,\"m\",\"n\")}; f.b<-function(x, y=\"h\", z=\"i\"){cat(\"b\", y, z)}; f(x); }; g() }");
         assertEval("{ g<-function(){ x<-1; class(x)<-c(\"a\",\"b\",\"c\"); f<-function(x){UseMethod(\"f\")}; f.a<-function(x){cat(\"a\");NextMethod(\"f\",x,z=\"m\",y=\"n\")}; f.b<-function(x, y=\"h\", z=\"i\"){cat(\"b\", y, z)}; f(x); }; g() }");
+        assertEval("{ foo <- function(x,y) UseMethod('foo'); foo.bar <- function(x, y) { y <- 10; NextMethod() }; foo.default <- function(x,y) cat(x,y); v <- c(1,2,3); class(v) <- 'bar'; foo(v,5) }");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinformat.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinformat.java
index aaaea117571e0d86cd380528da7909cd6976ff03..662ce0dc9a1c6308033fab291948faed5b8185a9 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinformat.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinformat.java
@@ -284,8 +284,7 @@ public class TestrGenBuiltinformat extends TestBase {
 
     @Test
     public void testformat52() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(structure('def\\\'gh', class = 'AsIs'), FALSE, NULL, 0L, NULL, 3L, TRUE, NA); .Internal(format(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))");
+        assertEval("argv <- list(structure('def\\\'gh', class = 'AsIs'), FALSE, NULL, 0L, NULL, 3L, TRUE, NA); .Internal(format(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinisnaassign_default.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinisnaassign_default.java
index e3a56420a63a2ac80224c65af798e3edab1ccd67..23868232e9c9b804d36b569dc7fda180e257f2e4 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinisnaassign_default.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinisnaassign_default.java
@@ -24,7 +24,7 @@ public class TestrGenBuiltinisnaassign_default extends TestBase {
 
     @Test
     public void testisnaassign_default2() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(x = structure(c('A', '3', 'C'), class = 'AsIs'),     value = 2), .Names = c('x', 'value'));do.call('is.na<-.default', argv)");
+        assertEval("argv <- structure(list(x = structure(c('A', '3', 'C'), class = 'AsIs'),     value = 2), .Names = c('x', 'value'));do.call('is.na<-.default', argv)");
     }
 
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinoperators.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinoperators.java
index e69eae3159c7e352bc4263f34f2d2a1591c617b3..214f27a856ee66e6d7e38a158f3aad0c7a662e7f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinoperators.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinoperators.java
@@ -483,8 +483,7 @@ public class TestrGenBuiltinoperators extends TestBase {
 
     @Test
     public void testoperators91() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(structure(list(c(3L, 0L, 1L)), class = c('R_system_version', 'package_version', 'numeric_version')), structure('3.1', .Names = 'gridSVG2'));`<`(argv[[1]],argv[[2]]);");
+        assertEval("argv <- list(structure(list(c(3L, 0L, 1L)), class = c('R_system_version', 'package_version', 'numeric_version')), structure('3.1', .Names = 'gridSVG2'));`<`(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -746,8 +745,7 @@ public class TestrGenBuiltinoperators extends TestBase {
 
     @Test
     public void testoperators142() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(structure(list(c(3L, 0L, 1L)), class = c('R_system_version', 'package_version', 'numeric_version')), structure('2.13.2', .Names = 'SweaveListingUtils'));`>`(argv[[1]],argv[[2]]);");
+        assertEval("argv <- list(structure(list(c(3L, 0L, 1L)), class = c('R_system_version', 'package_version', 'numeric_version')), structure('2.13.2', .Names = 'SweaveListingUtils'));`>`(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -803,7 +801,7 @@ public class TestrGenBuiltinoperators extends TestBase {
 
     @Test
     public void testoperators153() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(list(2L), class = 'numeric_version'), '2');`>=`(argv[[1]],argv[[2]]);");
+        assertEval("argv <- list(structure(list(2L), class = 'numeric_version'), '2');`>=`(argv[[1]],argv[[2]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinprintAsIs.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinprintAsIs.java
index b41719ebb1c0529253d5cb2acb7c24ecb7afa50a..e5e0d4a417f4bda5b78b3f9bb94c2dce32522de8 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinprintAsIs.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinprintAsIs.java
@@ -2,7 +2,7 @@
  * This material is distributed under the GNU General Public License
  * Version 2. You may review the terms of this license at
  * http://www.gnu.org/licenses/gpl-2.0.html
- * 
+ *
  * Copyright (c) 2014, Purdue University
  * Copyright (c) 2014, Oracle and/or its affiliates
  * All rights reserved.
@@ -19,7 +19,7 @@ public class TestrGenBuiltinprintAsIs extends TestBase {
 
     @Test
     public void testprintAsIs1() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(x = structure(c(2L, 5L), .Dim = 1:2, class = 'AsIs')),     .Names = 'x');do.call('print.AsIs', argv)");
+        assertEval("argv <- structure(list(x = structure(c(2L, 5L), .Dim = 1:2, class = 'AsIs')),     .Names = 'x');do.call('print.AsIs', argv)");
     }
 
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinsubset2.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinsubset2.java
index 57d9e826a59e2087d662c6307b2c0024c985a77b..3de8c26f314ae4c9bfa761de7b17bd490d5d3bee 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinsubset2.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/testrgen/TestrGenBuiltinsubset2.java
@@ -49,8 +49,7 @@ public class TestrGenBuiltinsubset2 extends TestBase {
 
     @Test
     public void testsubset27() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(structure(list(surname = structure(c('Tukey', 'Venables', 'Tierney', 'Ripley', 'McNeil'), class = 'AsIs')), .Names = 'surname'), 1L);.subset2(argv[[1]],argv[[2]]);");
+        assertEval("argv <- list(structure(list(surname = structure(c('Tukey', 'Venables', 'Tierney', 'Ripley', 'McNeil'), class = 'AsIs')), .Names = 'surname'), 1L);.subset2(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -61,8 +60,7 @@ public class TestrGenBuiltinsubset2 extends TestBase {
 
     @Test
     public void testsubset29() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(structure(list(z = structure(c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'), .Dim = c(3L, 3L), class = 'AsIs')), .Names = 'z'), 1L);.subset2(argv[[1]],argv[[2]]);");
+        assertEval("argv <- list(structure(list(z = structure(c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'), .Dim = c(3L, 3L), class = 'AsIs')), .Names = 'z'), 1L);.subset2(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -78,8 +76,7 @@ public class TestrGenBuiltinsubset2 extends TestBase {
 
     @Test
     public void testsubset213() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(structure(list(a = structure('abc', class = 'AsIs'), b = structure('def\\\'gh', class = 'AsIs')), .Names = c('a', 'b'), row.names = '1', class = 'data.frame'), 1L);.subset2(argv[[1]],argv[[2]]);");
+        assertEval("argv <- list(structure(list(a = structure('abc', class = 'AsIs'), b = structure('def\\\'gh', class = 'AsIs')), .Names = c('a', 'b'), row.names = '1', class = 'data.frame'), 1L);.subset2(argv[[1]],argv[[2]]);");
     }
 
     @Test