@@ -298,6 +298,11 @@ extern JitOptRef _Py_uop_sym_new_compact_int(JitOptContext *ctx);
298298extern void _Py_uop_sym_set_compact_int (JitOptContext * ctx , JitOptRef sym );
299299extern JitOptRef _Py_uop_sym_new_predicate (JitOptContext * ctx , JitOptRef lhs_ref , JitOptRef rhs_ref , JitOptPredicateKind kind );
300300extern void _Py_uop_sym_apply_predicate_narrowing (JitOptContext * ctx , JitOptRef sym , bool branch_is_true );
301+ extern void _Py_uop_sym_set_recorded_value (JitOptContext * ctx , JitOptRef sym , PyObject * value );
302+ extern void _Py_uop_sym_set_recorded_type (JitOptContext * ctx , JitOptRef sym , PyTypeObject * type );
303+ extern void _Py_uop_sym_set_recorded_gen_func (JitOptContext * ctx , JitOptRef ref , PyFunctionObject * value );
304+ extern PyCodeObject * _Py_uop_sym_get_probable_func_code (JitOptRef sym );
305+ extern PyObject * _Py_uop_sym_get_probable_value (JitOptRef sym );
301306
302307extern void _Py_uop_abstractcontext_init (JitOptContext * ctx );
303308extern void _Py_uop_abstractcontext_fini (JitOptContext * ctx );
@@ -308,6 +313,14 @@ extern _Py_UOpsAbstractFrame *_Py_uop_frame_new(
308313 int curr_stackentries ,
309314 JitOptRef * args ,
310315 int arg_len );
316+
317+ extern _Py_UOpsAbstractFrame * _Py_uop_frame_new_from_symbol (
318+ JitOptContext * ctx ,
319+ JitOptRef callable ,
320+ int curr_stackentries ,
321+ JitOptRef * args ,
322+ int arg_len );
323+
311324extern int _Py_uop_frame_pop (JitOptContext * ctx , PyCodeObject * co , int curr_stackentries );
312325
313326PyAPI_FUNC (PyObject * ) _Py_uop_symbols_test (PyObject * self , PyObject * ignored );
@@ -341,6 +354,7 @@ _PyJit_TryInitializeTracing(PyThreadState *tstate, _PyInterpreterFrame *frame,
341354 int oparg , _PyExecutorObject * current_executor );
342355
343356PyAPI_FUNC (void ) _PyJit_FinalizeTracing (PyThreadState * tstate , int err );
357+ void _PyPrintExecutor (_PyExecutorObject * executor , const _PyUOpInstruction * marker );
344358void _PyJit_TracerFree (_PyThreadStateImpl * _tstate );
345359
346360void _PyJit_Tracer_InvalidateDependency (PyThreadState * old_tstate , void * obj );
0 commit comments