GH-128682: Spill the stack pointer in labels, as well as instructions (GH-129618)

This commit is contained in:
Mark Shannon 2025-02-04 12:18:31 +00:00 committed by GitHub
parent d3c54f3788
commit 2effea4dab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 277 additions and 102 deletions

View file

@ -105,8 +105,9 @@ uop_optimize(_PyInterpreterFrame *frame, _Py_CODEUNIT *instr,
int
_PyOptimizer_Optimize(
_PyInterpreterFrame *frame, _Py_CODEUNIT *start,
_PyStackRef *stack_pointer, _PyExecutorObject **executor_ptr, int chain_depth)
_PyExecutorObject **executor_ptr, int chain_depth)
{
_PyStackRef *stack_pointer = frame->stackpointer;
assert(_PyInterpreterState_GET()->jit);
// The first executor in a chain and the MAX_CHAIN_DEPTH'th executor *must*
// make progress in order to avoid infinite loops or excessively-long