mirror of
https://github.com/python/cpython.git
synced 2025-11-01 22:21:35 +00:00
GH-118093: Remove invalidated executors from side exits (GH-121885)
This commit is contained in:
parent
e9681211b9
commit
794546fd53
4 changed files with 27 additions and 28 deletions
9
Python/executor_cases.c.h
generated
9
Python/executor_cases.c.h
generated
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue