diff options
author | Brandt Bucher <brandtbucher@microsoft.com> | 2025-02-07 19:41:17 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-07 19:41:17 (GMT) |
commit | 5fa7e1b7fd57e8c6297e9eb79d79cede42e5ce0f (patch) | |
tree | e4e8acf32a770aefec4fd565ec6023cac94dc4ff /Python/optimizer.c | |
parent | e4a00f70b176c3182aad3904f94c69a7fb733cd9 (diff) | |
download | cpython-5fa7e1b7fd57e8c6297e9eb79d79cede42e5ce0f.zip cpython-5fa7e1b7fd57e8c6297e9eb79d79cede42e5ce0f.tar.gz cpython-5fa7e1b7fd57e8c6297e9eb79d79cede42e5ce0f.tar.bz2 |
GH-129715: Remove _DYNAMIC_EXIT (GH-129716)
Diffstat (limited to 'Python/optimizer.c')
-rw-r--r-- | Python/optimizer.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/Python/optimizer.c b/Python/optimizer.c index 97831f5..340770a 100644 --- a/Python/optimizer.c +++ b/Python/optimizer.c @@ -757,9 +757,8 @@ translate_bytecode_to_trace( opcode == SEND_GEN) { DPRINTF(2, "Bailing due to dynamic target\n"); - ADD_TO_TRACE(uop, oparg, 0, target); - ADD_TO_TRACE(_DYNAMIC_EXIT, 0, 0, 0); - goto done; + OPT_STAT_INC(unknown_callee); + return 0; } assert(_PyOpcode_Deopt[opcode] == CALL || _PyOpcode_Deopt[opcode] == CALL_KW); int func_version_offset = @@ -825,9 +824,8 @@ translate_bytecode_to_trace( goto top; } DPRINTF(2, "Bail, new_code == NULL\n"); - ADD_TO_TRACE(uop, oparg, 0, target); - ADD_TO_TRACE(_DYNAMIC_EXIT, 0, 0, 0); - goto done; + OPT_STAT_INC(unknown_callee); + return 0; } if (uop == _BINARY_OP_INPLACE_ADD_UNICODE) { @@ -914,7 +912,7 @@ count_exits(_PyUOpInstruction *buffer, int length) int exit_count = 0; for (int i = 0; i < length; i++) { int opcode = buffer[i].opcode; - if (opcode == _EXIT_TRACE || opcode == _DYNAMIC_EXIT) { + if (opcode == _EXIT_TRACE) { exit_count++; } } @@ -1119,12 +1117,6 @@ make_executor_from_uops(_PyUOpInstruction *buffer, int length, const _PyBloomFil dest->operand0 = (uint64_t)exit; next_exit--; } - if (opcode == _DYNAMIC_EXIT) { - _PyExitData *exit = &executor->exits[next_exit]; - exit->target = 0; - dest->operand0 = (uint64_t)exit; - next_exit--; - } } assert(next_exit == -1); assert(dest == executor->trace); |