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 45721e4ced626d59066cacbce3529fe5d056a3b2..e7015136cf9bc346213560e8dfd47a03e42c52c3 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 @@ -265,7 +265,7 @@ public class FrameFunctions { * starting point */ RCallNode callNode = (RCallNode) RASTUtils.unwrap(call.getRep()); - CallArgumentsNode callArgs = callNode.createArguments(null, false, false); + CallArgumentsNode callArgs = callNode.createArguments(null, false, true); ArgumentsSignature inputVarArgSignature = callArgs.containsVarArgsSymbol() ? CallArgumentsNode.getVarargsAndNames(cframe).getSignature() : null; RNode[] matchedArgNodes = ArgumentMatcher.matchArguments((RRootNode) definition.getRootNode(), callArgs, inputVarArgSignature, null, null, true).getArguments(); ArgumentsSignature sig = ((HasSignature) definition.getRootNode()).getSignature(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java index 7fa4270828d46489c5babae16b4f34a4715714db..65788bca319adb4635b5150e578e660e01d77488 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java @@ -378,8 +378,8 @@ public abstract class RCallNode extends RCallBaseNode implements RSyntaxNode, RS return call.execute(frame, resultFunction, argAndNames, s3Args, null); } - protected CallArgumentsNode createArguments() { - return signature == null ? null : createArguments(null, false, false); + protected CallArgumentsNode createGenericDispatchArguments() { + return signature == null ? null : createArguments(null, false, true); } protected boolean isGroupGenericDispatch(RFunction function) { @@ -399,7 +399,7 @@ public abstract class RCallNode extends RCallBaseNode implements RSyntaxNode, RS @Specialization(guards = "isGroupGenericDispatch(function)") public Object callGroupGeneric(VirtualFrame frame, RFunction function, - @Cached("createArguments()") CallArgumentsNode callArguments, + @Cached("createGenericDispatchArguments()") CallArgumentsNode callArguments, @Cached("create()") ClassHierarchyNode classHierarchyNodeX, @Cached("createWithException()") S3FunctionLookupNode dispatchLookupX, @Cached("create()") ClassHierarchyNode classHierarchyNodeY,