From ea5ab17c5fccc4679576d11c7c7e89825ef44f40 Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Thu, 18 Aug 2016 13:07:01 +0200 Subject: [PATCH] pass along signature in RArgumentsNode --- .../truffle/r/nodes/function/signature/RArgumentsNode.java | 4 ++-- .../src/com/oracle/truffle/r/runtime/RArguments.java | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) 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 244c55359e..c62c69443f 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 35ebce4aa4..daa766599a 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) { -- GitLab