mirror of
https://github.com/python/cpython.git
synced 2025-08-22 17:55:18 +00:00
GH-126599: Remove the PyOptimizer API (GH-129194)
This commit is contained in:
parent
5c930a26fb
commit
828b27680f
23 changed files with 345 additions and 435 deletions
|
@ -2782,13 +2782,26 @@ dummy_func(
|
|||
JUMPBY(oparg);
|
||||
}
|
||||
|
||||
tier1 op(_JUMP_BACKWARD, (the_counter/1 --)) {
|
||||
assert(oparg <= INSTR_OFFSET());
|
||||
JUMPBY(-oparg);
|
||||
#ifdef _Py_TIER2
|
||||
#if ENABLE_SPECIALIZATION
|
||||
family(JUMP_BACKWARD, 1) = {
|
||||
JUMP_BACKWARD_NO_JIT,
|
||||
JUMP_BACKWARD_JIT,
|
||||
};
|
||||
|
||||
tier1 op(_SPECIALIZE_JUMP_BACKWARD, (--)) {
|
||||
#if ENABLE_SPECIALIZATION
|
||||
if (this_instr->op.code == JUMP_BACKWARD) {
|
||||
this_instr->op.code = tstate->interp->jit ? JUMP_BACKWARD_JIT : JUMP_BACKWARD_NO_JIT;
|
||||
// Need to re-dispatch so the warmup counter isn't off by one:
|
||||
next_instr = this_instr;
|
||||
DISPATCH_SAME_OPARG();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
tier1 op(_JIT, (--)) {
|
||||
#ifdef _Py_TIER2
|
||||
_Py_BackoffCounter counter = this_instr[1].counter;
|
||||
if (backoff_counter_triggers(counter) && this_instr->op.code == JUMP_BACKWARD) {
|
||||
if (backoff_counter_triggers(counter) && this_instr->op.code == JUMP_BACKWARD_JIT) {
|
||||
_Py_CODEUNIT *start = this_instr;
|
||||
/* Back up over EXTENDED_ARGs so optimizer sees the whole instruction */
|
||||
while (oparg > 255) {
|
||||
|
@ -2811,13 +2824,25 @@ dummy_func(
|
|||
else {
|
||||
ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter);
|
||||
}
|
||||
#endif /* ENABLE_SPECIALIZATION */
|
||||
#endif /* _Py_TIER2 */
|
||||
#endif
|
||||
}
|
||||
|
||||
macro(JUMP_BACKWARD) =
|
||||
unused/1 +
|
||||
_SPECIALIZE_JUMP_BACKWARD +
|
||||
_CHECK_PERIODIC +
|
||||
_JUMP_BACKWARD;
|
||||
JUMP_BACKWARD_NO_INTERRUPT;
|
||||
|
||||
macro(JUMP_BACKWARD_NO_JIT) =
|
||||
unused/1 +
|
||||
_CHECK_PERIODIC +
|
||||
JUMP_BACKWARD_NO_INTERRUPT;
|
||||
|
||||
macro(JUMP_BACKWARD_JIT) =
|
||||
unused/1 +
|
||||
_CHECK_PERIODIC +
|
||||
JUMP_BACKWARD_NO_INTERRUPT +
|
||||
_JIT;
|
||||
|
||||
pseudo(JUMP, (--)) = {
|
||||
JUMP_FORWARD,
|
||||
|
@ -2906,6 +2931,7 @@ dummy_func(
|
|||
* generator or coroutine, so we deliberately do not check it here.
|
||||
* (see bpo-30039).
|
||||
*/
|
||||
assert(oparg <= INSTR_OFFSET());
|
||||
JUMPBY(-oparg);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue