diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/RArgumentsNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/RArgumentsNode.java index 244c55359e7f6bc046ae731e45ff3fea0e17a9ee..c62c69443f7ca88c7468d784686575ce96ac4f0d 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/RArgumentsNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/signature/RArgumentsNode.java @@ -68,7 +68,7 @@ public abstract class RArgumentsNode extends RBaseNode { @Override public Object[] execute(RFunction function, RCaller caller, MaterializedFrame callerFrame, Object[] evaluatedArgs, ArgumentsSignature signature, DispatchArgs dispatchArgs) { if (function == cachedFunction) { - return RArguments.create(cachedFunction, caller, callerFrame, evaluatedArgs, cachedFunction.getEnclosingFrame(), dispatchArgs); + return RArguments.create(cachedFunction, caller, callerFrame, evaluatedArgs, signature, cachedFunction.getEnclosingFrame(), dispatchArgs); } else { CompilerDirectives.transferToInterpreterAndInvalidate(); return replace(new RArgumentsGenericNode()).execute(function, caller, callerFrame, evaluatedArgs, signature, dispatchArgs); @@ -79,7 +79,7 @@ public abstract class RArgumentsNode extends RBaseNode { private static final class RArgumentsGenericNode extends RArgumentsNode { @Override public Object[] execute(RFunction function, RCaller caller, MaterializedFrame callerFrame, Object[] evaluatedArgs, ArgumentsSignature signature, DispatchArgs dispatchArgs) { - return RArguments.create(function, caller, callerFrame, evaluatedArgs, function.getEnclosingFrame(), dispatchArgs); + return RArguments.create(function, caller, callerFrame, evaluatedArgs, signature, function.getEnclosingFrame(), dispatchArgs); } } } 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 35ebce4aa43a83817be26942121d23bc3a2fbe36..daa766599a6ab977d5bcdc45b3c80d8b1d2dfa2f 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 @@ -171,12 +171,8 @@ public final class RArguments { public static Object[] create(RFunction functionObj, RCaller call, MaterializedFrame callerFrame, Object[] evaluatedArgs, DispatchArgs dispatchArgs) { ArgumentsSignature formalSignature = ((HasSignature) functionObj.getRootNode()).getSignature(); - return create(functionObj, call, callerFrame, evaluatedArgs, ArgumentsSignature.empty(formalSignature.getLength()), dispatchArgs); - } - - public static Object[] create(RFunction functionObj, RCaller call, MaterializedFrame callerFrame, Object[] evaluatedArgs, ArgumentsSignature suppliedSignature, DispatchArgs dispatchArgs) { CompilerAsserts.neverPartOfCompilation(); - return create(functionObj, call, callerFrame, evaluatedArgs, suppliedSignature, functionObj.getEnclosingFrame(), dispatchArgs); + return create(functionObj, call, callerFrame, evaluatedArgs, ArgumentsSignature.empty(formalSignature.getLength()), functionObj.getEnclosingFrame(), dispatchArgs); } public static Object[] create(RFunction functionObj, RCaller call, MaterializedFrame callerFrame, Object[] evaluatedArgs, MaterializedFrame enclosingFrame, DispatchArgs dispatchArgs) {