mirror of
https://github.com/python/cpython.git
synced 2025-10-17 12:18:23 +00:00
GH-117062: Make _JUMP_TO_TOP a general absolute jump (GH-120854)
This commit is contained in:
parent
ce1064e4c9
commit
a47abdb45d
5 changed files with 7 additions and 12 deletions
|
@ -4149,9 +4149,7 @@ dummy_func(
|
|||
}
|
||||
|
||||
op(_JUMP_TO_TOP, (--)) {
|
||||
#ifndef _Py_JIT
|
||||
next_uop = ¤t_executor->trace[1];
|
||||
#endif
|
||||
JUMP_TO_JUMP_TARGET();
|
||||
}
|
||||
|
||||
tier2 op(_SET_IP, (instr_ptr/4 --)) {
|
||||
|
|
4
Python/executor_cases.c.h
generated
4
Python/executor_cases.c.h
generated
|
@ -4302,9 +4302,7 @@
|
|||
}
|
||||
|
||||
case _JUMP_TO_TOP: {
|
||||
#ifndef _Py_JIT
|
||||
next_uop = ¤t_executor->trace[1];
|
||||
#endif
|
||||
JUMP_TO_JUMP_TARGET();
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1059,6 +1059,11 @@ prepare_for_execution(_PyUOpInstruction *buffer, int length)
|
|||
buffer[i].jump_target = 0;
|
||||
}
|
||||
}
|
||||
if (opcode == _JUMP_TO_TOP) {
|
||||
assert(buffer[0].opcode == _START_EXECUTOR);
|
||||
buffer[i].format = UOP_FORMAT_JUMP;
|
||||
buffer[i].jump_target = 1;
|
||||
}
|
||||
}
|
||||
return next_spare;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue