Skip to content

Commit f776428

Browse files
committed
Fix: infinite recursion in 'SuperBuiltins.GetattributeNode'.
1 parent 1b0530a commit f776428

File tree

1 file changed

+6
-4
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/superobject

1 file changed

+6
-4
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/superobject/SuperBuiltins.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
import com.oracle.graal.python.builtins.objects.cell.PCell;
5353
import com.oracle.graal.python.builtins.objects.function.PArguments;
5454
import com.oracle.graal.python.builtins.objects.function.PKeyword;
55+
import com.oracle.graal.python.builtins.objects.object.ObjectBuiltins;
56+
import com.oracle.graal.python.builtins.objects.object.ObjectBuiltinsFactory;
5557
import com.oracle.graal.python.builtins.objects.str.PString;
5658
import com.oracle.graal.python.builtins.objects.superobject.SuperBuiltinsFactory.GetObjectNodeGen;
5759
import com.oracle.graal.python.builtins.objects.superobject.SuperBuiltinsFactory.GetObjectTypeNodeGen;
@@ -400,14 +402,14 @@ public abstract static class GetattributeNode extends PythonBinaryBuiltinNode {
400402
@Child GetTypeNode getType;
401403
@Child GetObjectNode getObject;
402404
@Child CallTernaryMethodNode callGet;
403-
@Child LookupAndCallBinaryNode getAttr;
405+
@Child ObjectBuiltins.GetAttributeNode objectGetattributeNode;
404406

405407
private Object genericGetAttr(Object object, Object attr) {
406-
if (getAttr == null) {
408+
if (objectGetattributeNode == null) {
407409
CompilerDirectives.transferToInterpreterAndInvalidate();
408-
getAttr = insert(LookupAndCallBinaryNode.create(SpecialMethodNames.__GETATTRIBUTE__));
410+
objectGetattributeNode = insert(ObjectBuiltinsFactory.GetAttributeNodeFactory.create());
409411
}
410-
return getAttr.executeObject(object, attr);
412+
return objectGetattributeNode.execute(object, attr);
411413
}
412414

413415
@Specialization

0 commit comments

Comments
 (0)