Skip to content

Commit ac0711d

Browse files
fix backoff for previous exits
1 parent 7bfac26 commit ac0711d

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

Python/optimizer.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,9 @@ _PyOptimizer_Optimize(
172172
else {
173173
executor->vm_data.code = NULL;
174174
}
175-
if (chain_depth > 0) {
176-
_PyExitData *prev_exit = tstate->interp->jit_state.prev_exit;
177-
assert(prev_exit != NULL);
178-
prev_exit->executor = executor;;
175+
_PyExitData *prev_exit = tstate->interp->jit_state.prev_exit;
176+
if (prev_exit != NULL) {
177+
prev_exit->executor = executor;
179178
}
180179
executor->vm_data.chain_depth = chain_depth;
181180
assert(executor->vm_data.valid);
@@ -981,7 +980,7 @@ _PyJit_TryInitializeTracing(PyThreadState *tstate, _PyInterpreterFrame *frame, _
981980
tstate->interp->jit_state.initial_func = (PyFunctionObject *)Py_NewRef(_PyFrame_GetFunction(frame));
982981
tstate->interp->jit_state.prev_exit = exit;
983982
tstate->interp->jit_state.initial_stack_depth = curr_stackdepth;
984-
tstate->interp->jit_state.initial_chain_depth = chain_depth % MAX_CHAIN_DEPTH;
983+
tstate->interp->jit_state.initial_chain_depth = chain_depth;
985984
tstate->interp->jit_state.prev_instr_frame = frame;
986985
tstate->interp->jit_state.dependencies_still_valid = true;
987986
tstate->interp->jit_state.specialize_counter = 0;

0 commit comments

Comments
 (0)