aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/optimizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/optimizer.c')
-rw-r--r--Python/optimizer.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/Python/optimizer.c b/Python/optimizer.c
index 97831f58098..340770ae55e 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);