aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/executor_cases.c.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/executor_cases.c.h')
-rw-r--r--Python/executor_cases.c.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h
index e9f73f032bf..2a4428e4a52 100644
--- a/Python/executor_cases.c.h
+++ b/Python/executor_cases.c.h
@@ -4986,6 +4986,10 @@
_PyOpcode_OpName[target->op.code]);
}
#endif
+ if (exit->executor && !exit->executor->vm_data.valid) {
+ exit->temperature = initial_temperature_backoff_counter();
+ Py_CLEAR(exit->executor);
+ }
if (exit->executor == NULL) {
_Py_BackoffCounter temperature = exit->temperature;
if (!backoff_counter_triggers(temperature)) {
@@ -5156,10 +5160,7 @@
#ifndef _Py_JIT
current_executor = (_PyExecutorObject*)executor;
#endif
- if (!((_PyExecutorObject *)executor)->vm_data.valid) {
- UOP_STAT_INC(uopcode, miss);
- JUMP_TO_JUMP_TARGET();
- }
+ assert(((_PyExecutorObject *)executor)->vm_data.valid);
break;
}