|
65 | 65 | import com.oracle.graal.python.builtins.objects.cext.hpy.PDebugHandle;
|
66 | 66 | import com.oracle.graal.python.builtins.objects.function.PKeyword;
|
67 | 67 | import com.oracle.graal.python.builtins.objects.list.PList;
|
68 |
| -import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary; |
| 68 | +import com.oracle.graal.python.lib.PyCallableCheckNode; |
69 | 69 | import com.oracle.graal.python.nodes.ErrorMessages;
|
70 | 70 | import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
|
71 | 71 | import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
|
|
78 | 78 | import com.oracle.graal.python.runtime.object.PythonObjectFactory;
|
79 | 79 | import com.oracle.truffle.api.CompilerDirectives;
|
80 | 80 | import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
|
| 81 | +import com.oracle.truffle.api.dsl.Cached; |
81 | 82 | import com.oracle.truffle.api.dsl.GenerateNodeFactory;
|
82 | 83 | import com.oracle.truffle.api.dsl.NodeFactory;
|
83 | 84 | import com.oracle.truffle.api.dsl.Specialization;
|
@@ -230,9 +231,10 @@ PDebugHandle doGeneric(Object cls, Object[] args, PKeyword[] kwargs) {
|
230 | 231 | @GenerateNodeFactory
|
231 | 232 | abstract static class HPyDebugSetOnInvalidHandleNode extends PythonUnaryBuiltinNode {
|
232 | 233 | @Specialization
|
233 |
| - PNone doInt(VirtualFrame frame, Object callback) { |
| 234 | + PNone doInt(VirtualFrame frame, Object callback, |
| 235 | + @Cached PyCallableCheckNode callableCheckNode) { |
234 | 236 | GraalHPyDebugContext hpyDebugContext = getHPyDebugContext(frame, getLanguage(), this);
|
235 |
| - if (!PythonObjectLibrary.getUncached().isCallable(callback)) { |
| 237 | + if (!callableCheckNode.execute(frame, callback)) { |
236 | 238 | throw raise(TypeError, "Expected a callable object");
|
237 | 239 | }
|
238 | 240 | hpyDebugContext.setOnInvalidHandleCallback(callback);
|
|
0 commit comments