diff options
author | Brandt Bucher <brandtbucher@microsoft.com> | 2024-11-20 16:11:25 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-20 16:11:25 (GMT) |
commit | 48c50ff1a22f086c302c52a70eb9912d76c66f91 (patch) | |
tree | 0d0412c0688a33a504d86e51b8931d95801b836d /Python/generated_cases.c.h | |
parent | addb225f3823b03774cddacce35214dd471bec46 (diff) | |
download | cpython-48c50ff1a22f086c302c52a70eb9912d76c66f91.zip cpython-48c50ff1a22f086c302c52a70eb9912d76c66f91.tar.gz cpython-48c50ff1a22f086c302c52a70eb9912d76c66f91.tar.bz2 |
GH-126892: Reset warmup counters when JIT compiling code (GH-126893)
Diffstat (limited to 'Python/generated_cases.c.h')
-rw-r--r-- | Python/generated_cases.c.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index 15308d6..4d89753 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -5092,15 +5092,18 @@ _PyFrame_SetStackPointer(frame, stack_pointer); int optimized = _PyOptimizer_Optimize(frame, start, stack_pointer, &executor, 0); stack_pointer = _PyFrame_GetStackPointer(frame); - if (optimized < 0) goto error; - if (optimized) { + if (optimized <= 0) { + this_instr[1].counter = restart_backoff_counter(counter); + if (optimized < 0) goto error; + } + else { + _PyFrame_SetStackPointer(frame, stack_pointer); + this_instr[1].counter = initial_jump_backoff_counter(); + stack_pointer = _PyFrame_GetStackPointer(frame); assert(tstate->previous_executor == NULL); tstate->previous_executor = Py_None; GOTO_TIER_TWO(executor); } - else { - this_instr[1].counter = restart_backoff_counter(counter); - } } else { ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); |