Skip to content
Snippets Groups Projects
Commit 5bac6616 authored by Lukas Stadler's avatar Lukas Stadler
Browse files

do not increase refcount on group generic calls

parent b7735f7f
No related branches found
No related tags found
No related merge requests found
......@@ -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();
......
......@@ -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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment