diff --git a/Python/bytecodes.c b/Python/bytecodes.c index 371caf89c127be..5b7fdeb6b7fc75 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -5194,6 +5194,28 @@ dummy_func( assert(tstate->tracing || eval_breaker == FT_ATOMIC_LOAD_UINTPTR_ACQUIRE(_PyFrame_GetCode(frame)->_co_instrumentation_version)); } + label(start_frame) { + if (_Py_EnterRecursivePy(tstate)) { + goto exit_unwind; + } + + next_instr = frame->instr_ptr; + stack_pointer = _PyFrame_GetStackPointer(frame); + +#ifdef Py_DEBUG + int lltrace = maybe_lltrace_resume_frame(frame, GLOBALS()); + frame->lltrace = lltrace; + if (lltrace < 0) { + goto exit_unwind; + } +#endif +#if defined(Py_TAIL_CALL_INTERP) && !defined(IN_TAIL_CALL_INTERP) + return _TAIL_CALL_shim(frame, stack_pointer, tstate, next_instr, 0, 0); +#else + DISPATCH(); +#endif + } + label(pop_4_error) { STACK_SHRINK(1); goto pop_3_error; diff --git a/Python/ceval.c b/Python/ceval.c index 963726cf694590..027870ffe64009 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -866,13 +866,11 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int const _PyUOpInstruction *next_uop = NULL; #endif -start_frame: if (_Py_EnterRecursivePy(tstate)) { goto exit_unwind; } next_instr = frame->instr_ptr; -resume_frame: stack_pointer = _PyFrame_GetStackPointer(frame); LLTRACE_RESUME_FRAME(); diff --git a/Python/ceval_macros.h b/Python/ceval_macros.h index 1ffe31774e1951..5562a1dc157fa4 100644 --- a/Python/ceval_macros.h +++ b/Python/ceval_macros.h @@ -140,24 +140,6 @@ do { \ DISPATCH_GOTO(); \ } -#ifdef Py_TAIL_CALL_INTERP -#define DISPATCH_INLINED(NEW_FRAME) \ - do { \ - assert(tstate->interp->eval_frame == NULL); \ - _PyFrame_SetStackPointer(frame, stack_pointer); \ - assert((NEW_FRAME)->previous == frame); \ - frame = tstate->current_frame = (NEW_FRAME); \ - CALL_STAT_INC(inlined_py_calls); \ - if (_Py_EnterRecursivePy(tstate)) {\ - goto exit_unwind;\ - } \ - next_instr = frame->instr_ptr; \ - stack_pointer = _PyFrame_GetStackPointer(frame); \ - LLTRACE_RESUME_FRAME(); \ - NEXTOPARG(); \ - DISPATCH_GOTO(); \ - } while (0) -#else #define DISPATCH_INLINED(NEW_FRAME) \ do { \ assert(tstate->interp->eval_frame == NULL); \ @@ -167,7 +149,6 @@ do { \ CALL_STAT_INC(inlined_py_calls); \ goto start_frame; \ } while (0) -#endif // Use this instead of 'goto error' so Tier 2 can go to a different label #define GOTO_ERROR(LABEL) goto LABEL diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index f14dbd72d583a2..cadebc31754f5e 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -9498,6 +9498,27 @@ #endif /* Py_TAIL_CALL_INTERP */ /* BEGIN LABELS */ + start_frame: + { + if (_Py_EnterRecursivePy(tstate)) { + goto exit_unwind; + } + next_instr = frame->instr_ptr; + stack_pointer = _PyFrame_GetStackPointer(frame); + #ifdef Py_DEBUG + int lltrace = maybe_lltrace_resume_frame(frame, GLOBALS()); + frame->lltrace = lltrace; + if (lltrace < 0) { + goto exit_unwind; + } + #endif + #if defined(Py_TAIL_CALL_INTERP) && !defined(IN_TAIL_CALL_INTERP) + return _TAIL_CALL_shim(frame, stack_pointer, tstate, next_instr, 0, 0); + #else + DISPATCH(); + #endif + } + pop_4_error: { STACK_SHRINK(1); diff --git a/Python/generated_tail_call_handlers.c.h b/Python/generated_tail_call_handlers.c.h index 6898da36bdb879..9557ca75c37bb4 100644 --- a/Python/generated_tail_call_handlers.c.h +++ b/Python/generated_tail_call_handlers.c.h @@ -11,6 +11,7 @@ static inline PyObject *_TAIL_CALL_shim(TAIL_CALL_PARAMS); static py_tail_call_funcptr INSTRUCTION_TABLE[256]; +Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_start_frame(TAIL_CALL_PARAMS); Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_pop_4_error(TAIL_CALL_PARAMS); Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_pop_3_error(TAIL_CALL_PARAMS); Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_pop_2_error(TAIL_CALL_PARAMS); @@ -20,6 +21,27 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_exception_unwind(TAIL_CALL_PARAM Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_exit_unwind(TAIL_CALL_PARAMS); Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_resume_with_error(TAIL_CALL_PARAMS); +Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_start_frame(TAIL_CALL_PARAMS) +{ + if (_Py_EnterRecursivePy(tstate)) { + TAIL_CALL(exit_unwind); + } + next_instr = frame->instr_ptr; + stack_pointer = _PyFrame_GetStackPointer(frame); + #ifdef Py_DEBUG + int lltrace = maybe_lltrace_resume_frame(frame, GLOBALS()); + frame->lltrace = lltrace; + if (lltrace < 0) { + TAIL_CALL(exit_unwind); + } + #endif + #if defined(Py_TAIL_CALL_INTERP) && !defined(IN_TAIL_CALL_INTERP) + return _TAIL_CALL_shim(frame, stack_pointer, tstate, next_instr, 0, 0); + #else + DISPATCH(); + #endif +} + Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_pop_4_error(TAIL_CALL_PARAMS) { STACK_SHRINK(1); @@ -203,6 +225,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -268,6 +292,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_ADD_FLOAT(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -332,6 +358,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_ADD_INT(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -396,6 +424,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_ADD_UNICODE(TAIL_CALL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -465,6 +495,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_EXTEND(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -559,6 +591,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_INPLACE_ADD_UNICODE(TA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -624,6 +658,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_MULTIPLY_FLOAT(TAIL_CA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -688,6 +724,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_MULTIPLY_INT(TAIL_CALL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -753,6 +791,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_SUBTRACT_FLOAT(TAIL_CA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -817,6 +857,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_OP_SUBTRACT_INT(TAIL_CALL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -885,6 +927,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SLICE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -950,6 +994,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SUBSCR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1008,6 +1054,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SUBSCR_DICT(TAIL_CALL_PAR assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1106,6 +1154,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SUBSCR_GETITEM(TAIL_CALL_ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1185,6 +1235,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SUBSCR_LIST_INT(TAIL_CALL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1256,6 +1308,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SUBSCR_STR_INT(TAIL_CALL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1323,6 +1377,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BINARY_SUBSCR_TUPLE_INT(TAIL_CAL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1359,6 +1415,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BUILD_LIST(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1417,6 +1475,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BUILD_MAP(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1481,6 +1541,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BUILD_SET(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1525,6 +1587,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BUILD_SLICE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1578,6 +1642,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BUILD_STRING(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1614,6 +1680,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_BUILD_TUPLE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1641,6 +1709,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CACHE(TAIL_CALL_PARAMS){ Py_FatalError("Executing a cache."); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1820,6 +1890,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -1957,6 +2029,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_ALLOC_AND_ENTER_INIT(TAIL_C } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2111,6 +2185,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_BOUND_METHOD_EXACT_ARGS(TAI } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2249,6 +2325,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_BOUND_METHOD_GENERAL(TAIL_C } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2354,6 +2432,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_BUILTIN_CLASS(TAIL_CALL_PAR assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2465,6 +2545,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_BUILTIN_FAST(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2577,6 +2659,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_BUILTIN_FAST_WITH_KEYWORDS( assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2680,6 +2764,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_BUILTIN_O(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2861,6 +2947,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_FUNCTION_EX(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2897,6 +2985,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_INTRINSIC_1(TAIL_CALL_PARAM stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -2940,6 +3030,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_INTRINSIC_2(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3014,6 +3106,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_ISINSTANCE(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3190,6 +3284,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_KW(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3335,6 +3431,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_KW_BOUND_METHOD(TAIL_CALL_P } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3456,6 +3554,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_KW_NON_PY(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3572,6 +3672,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_KW_PY(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3646,6 +3748,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_LEN(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3715,6 +3819,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_LIST_APPEND(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3832,6 +3938,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_METHOD_DESCRIPTOR_FAST(TAIL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -3949,6 +4057,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_METHOD_DESCRIPTOR_FAST_WITH assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4060,6 +4170,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_METHOD_DESCRIPTOR_NOARGS(TA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4174,6 +4286,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_METHOD_DESCRIPTOR_O(TAIL_CA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4289,6 +4403,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_NON_PY_GENERAL(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4413,6 +4529,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_PY_EXACT_ARGS(TAIL_CALL_PAR } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4522,6 +4640,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_PY_GENERAL(TAIL_CALL_PARAMS } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4600,6 +4720,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_STR_1(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4678,6 +4800,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_TUPLE_1(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4733,6 +4857,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CALL_TYPE_1(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4798,6 +4924,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CHECK_EG_MATCH(TAIL_CALL_PARAMS) stack_pointer[-1] = match; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4844,6 +4972,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CHECK_EXC_MATCH(TAIL_CALL_PARAMS stack_pointer[-1] = b; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4904,6 +5034,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CLEANUP_THROW(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -4983,6 +5115,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_COMPARE_OP(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5048,6 +5182,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_COMPARE_OP_FLOAT(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5125,6 +5261,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_COMPARE_OP_INT(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5191,6 +5329,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_COMPARE_OP_STR(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5255,6 +5395,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CONTAINS_OP(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5306,6 +5448,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CONTAINS_OP_DICT(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5358,6 +5502,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CONTAINS_OP_SET(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5396,6 +5542,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_CONVERT_VALUE(TAIL_CALL_PARAMS){ stack_pointer[-1] = result; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5429,6 +5577,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_COPY(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5465,6 +5615,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_COPY_FREE_VARS(TAIL_CALL_PARAMS) } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5500,6 +5652,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DELETE_ATTR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5538,6 +5692,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DELETE_DEREF(TAIL_CALL_PARAMS){ stack_pointer = _PyFrame_GetStackPointer(frame); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5574,6 +5730,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DELETE_FAST(TAIL_CALL_PARAMS){ SETLOCAL(oparg, PyStackRef_NULL); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5614,6 +5772,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DELETE_GLOBAL(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5661,6 +5821,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DELETE_NAME(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5700,6 +5862,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DELETE_SUBSCR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5747,6 +5911,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DICT_MERGE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5798,6 +5964,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_DICT_UPDATE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5847,6 +6015,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_END_ASYNC_FOR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5881,6 +6051,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_END_FOR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5917,6 +6089,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_END_SEND(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -5968,6 +6142,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_ENTER_EXECUTOR(TAIL_CALL_PARAMS) #endif /* _Py_TIER2 */ } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6006,6 +6182,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_EXIT_INIT_CHECK(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6035,6 +6213,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_EXTENDED_ARG(TAIL_CALL_PARAMS){ PRE_DISPATCH_GOTO(); DISPATCH_GOTO(); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6078,6 +6258,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FORMAT_SIMPLE(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6118,6 +6300,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FORMAT_WITH_SPEC(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6198,6 +6382,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FOR_ITER(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6277,6 +6463,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FOR_ITER_GEN(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6351,6 +6539,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FOR_ITER_LIST(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6417,6 +6607,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FOR_ITER_RANGE(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6488,6 +6680,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_FOR_ITER_TUPLE(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6553,6 +6747,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_GET_AITER(TAIL_CALL_PARAMS){ stack_pointer[-1] = iter; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6591,6 +6787,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_GET_ANEXT(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6626,6 +6824,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_GET_AWAITABLE(TAIL_CALL_PARAMS){ stack_pointer[-1] = iter; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6662,6 +6862,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_GET_ITER(TAIL_CALL_PARAMS){ stack_pointer[-1] = iter; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6701,6 +6903,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_GET_LEN(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6762,6 +6966,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_GET_YIELD_FROM_ITER(TAIL_CALL_PA stack_pointer[-1] = iter; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6799,6 +7005,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_IMPORT_FROM(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -6842,6 +7050,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_IMPORT_NAME(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7029,6 +7239,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_CALL(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7055,6 +7267,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_CALL_FUNCTION_EX(TA INSTRUCTION_STATS(INSTRUMENTED_CALL_FUNCTION_EX); Py_MUSTTAIL return (INSTRUCTION_TABLE[CALL_FUNCTION_EX])(frame, stack_pointer, tstate, this_instr, opcode, oparg); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7097,6 +7311,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_CALL_KW(TAIL_CALL_P PAUSE_ADAPTIVE_COUNTER(this_instr[1].counter); Py_MUSTTAIL return (INSTRUCTION_TABLE[CALL_KW])(frame, stack_pointer, tstate, this_instr, opcode, oparg); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7140,6 +7356,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_END_FOR(TAIL_CALL_P assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7185,6 +7403,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_END_SEND(TAIL_CALL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7240,6 +7460,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_FOR_ITER(TAIL_CALL_ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7277,6 +7499,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_INSTRUCTION(TAIL_CA opcode = next_opcode; DISPATCH_GOTO(); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7319,6 +7543,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_JUMP_BACKWARD(TAIL_ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7346,6 +7572,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_JUMP_FORWARD(TAIL_C INSTRUMENTED_JUMP(this_instr, next_instr + oparg, PY_MONITORING_EVENT_JUMP); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7402,6 +7630,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_LINE(TAIL_CALL_PARA opcode = original_opcode; DISPATCH_GOTO(); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7432,6 +7662,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_LOAD_SUPER_ATTR(TAI PAUSE_ADAPTIVE_COUNTER(this_instr[1].counter); Py_MUSTTAIL return (INSTRUCTION_TABLE[LOAD_SUPER_ATTR])(frame, stack_pointer, tstate, this_instr, opcode, oparg); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7461,6 +7693,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_NOT_TAKEN(TAIL_CALL INSTRUMENTED_JUMP(prev_instr, next_instr, PY_MONITORING_EVENT_BRANCH_LEFT); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7494,6 +7728,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_POP_ITER(TAIL_CALL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7528,6 +7764,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_POP_JUMP_IF_FALSE(T } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7564,6 +7802,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_POP_JUMP_IF_NONE(TA } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7598,6 +7838,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_POP_JUMP_IF_NOT_NON } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7632,6 +7874,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_POP_JUMP_IF_TRUE(TA } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7722,6 +7966,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_RESUME(TAIL_CALL_PA } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7783,6 +8029,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_RETURN_VALUE(TAIL_C assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7868,6 +8116,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INSTRUMENTED_YIELD_VALUE(TAIL_CA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7905,6 +8155,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_INTERPRETER_EXIT(TAIL_CALL_PARAM /* Not strictly necessary, but prevents warnings */ return result; } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -7942,6 +8194,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_IS_OP(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8003,6 +8257,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_JUMP_BACKWARD(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8085,6 +8341,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_JUMP_BACKWARD_JIT(TAIL_CALL_PARA } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8117,6 +8375,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_JUMP_BACKWARD_NO_INTERRUPT(TAIL_ JUMPBY(-oparg); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8165,6 +8425,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_JUMP_BACKWARD_NO_JIT(TAIL_CALL_P } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8191,6 +8453,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_JUMP_FORWARD(TAIL_CALL_PARAMS){ JUMPBY(oparg); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8225,6 +8489,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LIST_APPEND(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8280,6 +8546,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LIST_EXTEND(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8374,6 +8642,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8439,6 +8709,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_CLASS(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8514,6 +8786,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_CLASS_WITH_METACLASS_C assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8585,6 +8859,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_GETATTRIBUTE_OVERRIDDE frame->return_offset = 10 ; DISPATCH_INLINED(new_frame); } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8673,6 +8949,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_INSTANCE_VALUE(TAIL_CA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8743,6 +9021,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_METHOD_LAZY_DICT(TAIL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8802,6 +9082,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_METHOD_NO_DICT(TAIL_CA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8883,6 +9165,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_METHOD_WITH_VALUES(TAI assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -8973,6 +9257,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_MODULE(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9027,6 +9313,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_NONDESCRIPTOR_NO_DICT( stack_pointer[-1] = attr; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9102,6 +9390,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_NONDESCRIPTOR_WITH_VAL stack_pointer[-1] = attr; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9210,6 +9500,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_PROPERTY(TAIL_CALL_PAR } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9286,6 +9578,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_SLOT(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9403,6 +9697,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_ATTR_WITH_HINT(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9445,6 +9741,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_BUILD_CLASS(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9485,6 +9783,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_COMMON_CONSTANT(TAIL_CALL_P assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9536,6 +9836,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_CONST(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9569,6 +9871,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_CONST_IMMORTAL(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9601,6 +9905,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_CONST_MORTAL(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9639,6 +9945,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_DEREF(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9670,6 +9978,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_FAST(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9702,6 +10012,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_FAST_AND_CLEAR(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9742,6 +10054,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_FAST_CHECK(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9777,6 +10091,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_FAST_LOAD_FAST(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9830,6 +10146,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_FROM_DICT_OR_DEREF(TAIL_CAL stack_pointer[-1] = value; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9918,6 +10236,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_FROM_DICT_OR_GLOBALS(TAIL_C stack_pointer[-1] = v; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -9984,6 +10304,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_GLOBAL(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10081,6 +10403,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_GLOBAL_BUILTIN(TAIL_CALL_PA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10162,6 +10486,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_GLOBAL_MODULE(TAIL_CALL_PAR assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10200,6 +10526,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_LOCALS(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10235,6 +10563,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_NAME(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10267,6 +10597,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_SMALL_INT(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10322,6 +10654,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_SPECIAL(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10442,6 +10776,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_SUPER_ATTR(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10504,6 +10840,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_SUPER_ATTR_ATTR(TAIL_CALL_P assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10578,6 +10916,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_LOAD_SUPER_ATTR_METHOD(TAIL_CALL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10611,6 +10951,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MAKE_CELL(TAIL_CALL_PARAMS){ SETLOCAL(oparg, PyStackRef_FromPyObjectSteal(cell)); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10650,6 +10992,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MAKE_FUNCTION(TAIL_CALL_PARAMS){ stack_pointer[-1] = func; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10695,6 +11039,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MAP_ADD(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10751,6 +11097,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MATCH_CLASS(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10791,6 +11139,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MATCH_KEYS(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10824,6 +11174,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MATCH_MAPPING(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10857,6 +11209,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_MATCH_SEQUENCE(TAIL_CALL_PARAMS) assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10882,6 +11236,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_NOP(TAIL_CALL_PARAMS){ INSTRUCTION_STATS(NOP); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10907,6 +11263,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_NOT_TAKEN(TAIL_CALL_PARAMS){ INSTRUCTION_STATS(NOT_TAKEN); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10942,6 +11300,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_EXCEPT(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -10972,6 +11332,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_ITER(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11007,6 +11369,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_JUMP_IF_FALSE(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11058,6 +11422,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_JUMP_IF_NONE(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11109,6 +11475,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_JUMP_IF_NOT_NONE(TAIL_CALL_P assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11144,6 +11512,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_JUMP_IF_TRUE(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11174,6 +11544,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_POP_TOP(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11217,6 +11589,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_PUSH_EXC_INFO(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11247,6 +11621,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_PUSH_NULL(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11290,6 +11666,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RAISE_VARARGS(TAIL_CALL_PARAMS){ } goto error; } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11351,6 +11729,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RERAISE(TAIL_CALL_PARAMS){ stack_pointer = _PyFrame_GetStackPointer(frame); goto exception_unwind; } + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11378,6 +11758,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RESERVED(TAIL_CALL_PARAMS){ Py_FatalError("Executing RESERVED instruction."); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11466,6 +11848,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RESUME(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11517,6 +11901,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RESUME_CHECK(TAIL_CALL_PARAMS){ #endif } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11568,6 +11954,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RETURN_GENERATOR(TAIL_CALL_PARAM assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11614,6 +12002,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_RETURN_VALUE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11722,6 +12112,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SEND(TAIL_CALL_PARAMS){ stack_pointer[-1] = retval; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11805,6 +12197,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SEND_GEN(TAIL_CALL_PARAMS){ } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11860,6 +12254,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SETUP_ANNOTATIONS(TAIL_CALL_PARA } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11897,6 +12293,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SET_ADD(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11939,6 +12337,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SET_FUNCTION_ATTRIBUTE(TAIL_CALL assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -11976,6 +12376,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SET_UPDATE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12039,6 +12441,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_ATTR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12128,6 +12532,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_ATTR_INSTANCE_VALUE(TAIL_C } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12192,6 +12598,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_ATTR_SLOT(TAIL_CALL_PARAMS } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12305,6 +12713,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_ATTR_WITH_HINT(TAIL_CALL_P } } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12338,6 +12748,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_DEREF(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12368,6 +12780,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_FAST(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12401,6 +12815,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_FAST_LOAD_FAST(TAIL_CALL_P stack_pointer[-1] = value2; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12436,6 +12852,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_FAST_STORE_FAST(TAIL_CALL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12471,6 +12889,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_GLOBAL(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12523,6 +12943,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_NAME(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12589,6 +13011,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_SLICE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12652,6 +13076,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_SUBSCR(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12702,6 +13128,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_SUBSCR_DICT(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12781,6 +13209,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_STORE_SUBSCR_LIST_INT(TAIL_CALL_ stack_pointer = _PyFrame_GetStackPointer(frame); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12817,6 +13247,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_SWAP(TAIL_CALL_PARAMS){ stack_pointer[-1] = bottom_out; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12875,6 +13307,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12925,6 +13359,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL_ALWAYS_TRUE(TAIL_CALL_PA stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -12962,6 +13398,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL_BOOL(TAIL_CALL_PARAMS){ STAT_INC(TO_BOOL, hit); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13010,6 +13448,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL_INT(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13052,6 +13492,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL_LIST(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13093,6 +13535,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL_NONE(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13142,6 +13586,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_TO_BOOL_STR(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13177,6 +13623,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNARY_INVERT(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13212,6 +13660,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNARY_NEGATIVE(TAIL_CALL_PARAMS) stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13244,6 +13694,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNARY_NOT(TAIL_CALL_PARAMS){ stack_pointer[-1] = res; } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13281,6 +13733,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNPACK_EX(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13342,6 +13796,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNPACK_SEQUENCE(TAIL_CALL_PARAMS assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13402,6 +13858,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNPACK_SEQUENCE_LIST(TAIL_CALL_P assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13453,6 +13911,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNPACK_SEQUENCE_TUPLE(TAIL_CALL_ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13505,6 +13965,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_UNPACK_SEQUENCE_TWO_TUPLE(TAIL_C assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13575,6 +14037,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_WITH_EXCEPT_START(TAIL_CALL_PARA assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: @@ -13639,6 +14103,8 @@ Py_PRESERVE_NONE_CC static PyObject *_TAIL_CALL_YIELD_VALUE(TAIL_CALL_PARAMS){ assert(WITHIN_STACK_BOUNDS()); } DISPATCH(); + start_frame: + TAIL_CALL(start_frame); pop_4_error: TAIL_CALL(pop_4_error); pop_3_error: