mirror of
https://github.com/python/cpython.git
synced 2025-10-20 08:23:47 +00:00
GH-137959: Replace shim code in jitted code with a single trampoline function. (GH-137961)
This commit is contained in:
parent
c056a089d8
commit
a8d9d94784
17 changed files with 166 additions and 104 deletions
|
@ -2971,7 +2971,7 @@ dummy_func(
|
|||
assert(tstate->current_executor == NULL);
|
||||
assert(executor != tstate->interp->cold_executor);
|
||||
tstate->jit_exit = NULL;
|
||||
GOTO_TIER_TWO(executor);
|
||||
TIER1_TO_TIER2(executor);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -3037,7 +3037,7 @@ dummy_func(
|
|||
}
|
||||
assert(executor != tstate->interp->cold_executor);
|
||||
tstate->jit_exit = NULL;
|
||||
GOTO_TIER_TWO(executor);
|
||||
TIER1_TO_TIER2(executor);
|
||||
#else
|
||||
Py_FatalError("ENTER_EXECUTOR is not supported in this build");
|
||||
#endif /* _Py_TIER2 */
|
||||
|
@ -5257,7 +5257,7 @@ dummy_func(
|
|||
}
|
||||
#endif
|
||||
tstate->jit_exit = exit;
|
||||
GOTO_TIER_TWO(exit->executor);
|
||||
TIER2_TO_TIER2(exit->executor);
|
||||
}
|
||||
|
||||
tier2 op(_CHECK_VALIDITY, (--)) {
|
||||
|
@ -5353,7 +5353,7 @@ dummy_func(
|
|||
|
||||
tier2 op(_START_EXECUTOR, (executor/4 --)) {
|
||||
#ifndef _Py_JIT
|
||||
current_executor = (_PyExecutorObject*)executor;
|
||||
assert(current_executor == (_PyExecutorObject*)executor);
|
||||
#endif
|
||||
assert(tstate->jit_exit == NULL || tstate->jit_exit->executor == current_executor);
|
||||
tstate->current_executor = (PyObject *)executor;
|
||||
|
@ -5434,7 +5434,7 @@ dummy_func(
|
|||
}
|
||||
assert(tstate->jit_exit == exit);
|
||||
exit->executor = executor;
|
||||
GOTO_TIER_TWO(exit->executor);
|
||||
TIER2_TO_TIER2(exit->executor);
|
||||
}
|
||||
|
||||
label(pop_2_error) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue