Skip to content

Commit ac0bfd1

Browse files
committed
Fix: Use 'uninitializedBody' to copy function root node with new arity.
1 parent a995c6d commit ac0bfd1

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/BuiltinFunctions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1760,8 +1760,8 @@ public boolean visit(Node node) {
17601760
*/
17611761
FunctionRootNode functionRootNode = (FunctionRootNode) func.getFunctionRootNode();
17621762
assert !functionRootNode.isRewritten() : "a function cannot be annotated as builtin twice";
1763-
functionRootNode.setRewritten();
17641763
functionRootNode = functionRootNode.copyWithNewArity(arity.createWithSelf());
1764+
functionRootNode.setRewritten();
17651765
functionRootNode.accept(new NodeVisitor() {
17661766
public boolean visit(Node node) {
17671767
if (node instanceof ReadVarArgsNode) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/function/FunctionRootNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ public FunctionRootNode(PythonLanguage language, SourceSection sourceSection, St
8080
}
8181

8282
public FunctionRootNode copyWithNewArity(Arity newArity) {
83-
FunctionRootNode copy = new FunctionRootNode(getLanguage(PythonLanguage.class), getSourceSection(), functionName, isGenerator, getFrameDescriptor(), body, executionCellSlots, newArity);
84-
copy.setRewritten();
83+
FunctionRootNode copy = new FunctionRootNode(getLanguage(PythonLanguage.class), getSourceSection(), functionName, isGenerator, getFrameDescriptor(), uninitializedBody, executionCellSlots,
84+
newArity);
8585
return copy;
8686
}
8787

0 commit comments

Comments
 (0)