From 9910b653a2168a7a8647c832ede62322aff3e395 Mon Sep 17 00:00:00 2001
From: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Date: Fri, 17 Oct 2025 18:22:59 +0100
Subject: [PATCH] Turn off optimizer for real, trace through init
---
Python/optimizer.c | 5 +-
Python/optimizer_analysis.c | 14 +-
hello.gvz | 426 ------------------------------------
3 files changed, 9 insertions(+), 436 deletions(-)
delete mode 100644 hello.gvz
diff --git a/Python/optimizer.c b/Python/optimizer.c
index 98ac04574776..77f7dee553f3 100644
--- a/Python/optimizer.c
+++ b/Python/optimizer.c
@@ -597,9 +597,8 @@ _PyJIT_translate_single_bytecode_to_trace(
// TODO handle extended args.
oparg > 255 || opcode == EXTENDED_ARG ||
opcode == WITH_EXCEPT_START || opcode == RERAISE || opcode == CLEANUP_THROW || opcode == PUSH_EXC_INFO ||
- frame->owner >= FRAME_OWNED_BY_INTERPRETER ||
- // This can be supported, but requires a tracing shim frame.
- opcode == CALL_ALLOC_AND_ENTER_INIT) {
+ frame->owner >= FRAME_OWNED_BY_INTERPRETER
+ ) {
unsupported:
{
// Rewind to previous instruction and replace with _EXIT_TRACE.
diff --git a/Python/optimizer_analysis.c b/Python/optimizer_analysis.c
index 814575e50978..5e18b4e40f3d 100644
--- a/Python/optimizer_analysis.c
+++ b/Python/optimizer_analysis.c
@@ -528,13 +528,13 @@ _Py_uop_analyze_and_optimize(
{
OPT_STAT_INC(optimizer_attempts);
- int err = optimize_uops(
- initial_func, buffer,
- length, curr_stacklen, dependencies);
-
- if (err == 0) {
- return err;
- }
+ // int err = optimize_uops(
+ // initial_func, buffer,
+ // length, curr_stacklen, dependencies);
+ //
+ // if (err == 0) {
+ // return err;
+ // }
assert(length > 0);
diff --git a/hello.gvz b/hello.gvz
deleted file mode 100644
index 849b52472cd3..000000000000
--- a/hello.gvz
+++ /dev/null
@@ -1,426 +0,0 @@
-digraph ideal {
-
- rankdir = "LR"
-
-executor_0x555555ebd390 [
- shape = none
- label = <
- | Executor |
- | No code object |
- | _START_EXECUTOR |
- | _MAKE_WARM |
- | _SET_IP |
- | _CHECK_FUNCTION_VERSION |
- | _CHECK_FUNCTION_EXACT_ARGS |
- | _CHECK_STACK_SPACE_OPERAND |
- | _CHECK_RECURSION_REMAINING |
- | _INIT_CALL_PY_EXACT_ARGS_1 |
- | _SAVE_RETURN_OFFSET |
- | _PUSH_FRAME |
- | _GUARD_IP |
- | _TIER2_RESUME_CHECK |
- | _LOAD_FAST_BORROW_0 |
- | _SET_IP |
- | _GUARD_TOS_TUPLE |
- | _UNPACK_SEQUENCE_TWO_TUPLE |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_1 |
- | _STORE_FAST_2 |
- | _CHECK_VALIDITY |
- | _LOAD_CONST_INLINE_BORROW |
- | _SET_IP |
- | _STORE_FAST_3 |
- | _CHECK_VALIDITY |
- | _GUARD_GLOBALS_VERSION |
- | _LOAD_CONST_INLINE_BORROW |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_2 |
- | _SET_IP |
- | _CALL_BUILTIN_CLASS |
- | _TIER2_RESUME_CHECK |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _GET_ITER |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _FOR_ITER_TIER_TWO |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _GUARD_TOS_TUPLE |
- | _UNPACK_SEQUENCE_TWO_TUPLE |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_4 |
- | _STORE_FAST_5 |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_3 |
- | _LOAD_CONST_INLINE |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_1 |
- | _LOAD_FAST_BORROW_4 |
- | _SET_IP |
- | _CHECK_FUNCTION_VERSION_INLINE |
- | _CHECK_RECURSION_REMAINING |
- | _INIT_CALL_PY_EXACT_ARGS_2 |
- | _SAVE_RETURN_OFFSET |
- | _PUSH_FRAME |
- | _GUARD_IP |
- | _TIER2_RESUME_CHECK |
- | _LOAD_CONST_INLINE_BORROW |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _GUARD_TOS_INT |
- | _GUARD_NOS_INT |
- | _BINARY_OP_ADD_INT |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _BINARY_OP_MULTIPLY_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_0 |
- | _GUARD_NOS_OVERFLOWED |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _RETURN_VALUE |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_5 |
- | _GUARD_TOS_FLOAT |
- | _BINARY_OP_MULTIPLY_FLOAT |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_3 |
- | _EXIT_TRACE |
-
>
-]
-
-executor_0x555555ebd390:i97 -> executor_0x555555eb9530:start
-executor_0x555555eb48f0 [
- shape = none
- label = <
- | Executor |
- | part_At_times_u: 44 |
- | _START_EXECUTOR |
- | _MAKE_WARM |
- | _SET_IP |
- | _POP_ITER |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_3 |
- | _SET_IP |
- | _RETURN_VALUE |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _LIST_APPEND |
- | _EXIT_TRACE |
-
>
-]
-
-executor_0x555555eb48f0:i11 -> executor_0x555555ebc2b0:start
-executor_0x555555e0b190 [
- shape = none
- label = <
- | Executor |
- | part_A_times_u: 36 |
- | _START_EXECUTOR |
- | _MAKE_WARM |
- | _SET_IP |
- | _POP_ITER |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_3 |
- | _SET_IP |
- | _RETURN_VALUE |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _LIST_APPEND |
- | _EXIT_TRACE |
-
>
-]
-
-executor_0x555555e0b190:i11 -> executor_0x555555ebc2b0:start
-executor_0x555555ebc2b0 [
- shape = none
- label = <
- | Executor |
- | eval_times_u: 26 |
- | _START_EXECUTOR |
- | _MAKE_WARM |
- | _ITER_CHECK_RANGE |
- | _GUARD_NOT_EXHAUSTED_RANGE |
- | _ITER_NEXT_RANGE |
- | _SET_IP |
- | _STORE_FAST_2 |
- | _LOAD_FAST_0 |
- | _CHECK_VALIDITY |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_2 |
- | _LOAD_FAST_BORROW_1 |
- | _BUILD_TUPLE |
- | _SET_IP |
- | _CHECK_FUNCTION_VERSION |
- | _CHECK_FUNCTION_EXACT_ARGS |
- | _CHECK_STACK_SPACE_OPERAND |
- | _CHECK_RECURSION_REMAINING |
- | _INIT_CALL_PY_EXACT_ARGS_1 |
- | _SAVE_RETURN_OFFSET |
- | _PUSH_FRAME |
- | _GUARD_IP |
- | _TIER2_RESUME_CHECK |
- | _LOAD_FAST_BORROW_0 |
- | _SET_IP |
- | _UNPACK_SEQUENCE_TWO_TUPLE |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_1 |
- | _STORE_FAST_2 |
- | _CHECK_VALIDITY |
- | _LOAD_CONST_INLINE_BORROW |
- | _SET_IP |
- | _STORE_FAST_3 |
- | _CHECK_VALIDITY |
- | _GUARD_GLOBALS_VERSION |
- | _LOAD_CONST_INLINE_BORROW |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_2 |
- | _SET_IP |
- | _CALL_BUILTIN_CLASS |
- | _TIER2_RESUME_CHECK |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _GET_ITER |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _FOR_ITER_TIER_TWO |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _GUARD_TOS_TUPLE |
- | _UNPACK_SEQUENCE_TWO_TUPLE |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_4 |
- | _STORE_FAST_5 |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_3 |
- | _LOAD_CONST_INLINE |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_4 |
- | _LOAD_FAST_BORROW_1 |
- | _SET_IP |
- | _CHECK_FUNCTION_VERSION_INLINE |
- | _CHECK_RECURSION_REMAINING |
- | _INIT_CALL_PY_EXACT_ARGS_2 |
- | _SAVE_RETURN_OFFSET |
- | _PUSH_FRAME |
- | _GUARD_IP |
- | _TIER2_RESUME_CHECK |
- | _LOAD_CONST_INLINE_BORROW |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _GUARD_TOS_OVERFLOWED |
- | _GUARD_NOS_INT |
- | _BINARY_OP_ADD_INT |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _BINARY_OP_MULTIPLY_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_0 |
- | _GUARD_NOS_OVERFLOWED |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _RETURN_VALUE |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_5 |
- | _GUARD_TOS_FLOAT |
- | _BINARY_OP_MULTIPLY_FLOAT |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_3 |
- | _EXIT_TRACE |
-
>
-]
-
-executor_0x555555ebc2b0:i14 -> executor_0x555555ebd390:start
-executor_0x555555ebc2b0:i15 -> executor_0x555555ebd390:start
-executor_0x555555ebc2b0:i107 -> executor_0x555555eba4f0:start
-executor_0x555555eba4f0 [
- shape = none
- label = <
- | Executor |
- | part_At_times_u: 45 |
- | _START_EXECUTOR |
- | _MAKE_WARM |
- | _SET_IP |
- | _FOR_ITER_TIER_TWO |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _GUARD_TOS_TUPLE |
- | _UNPACK_SEQUENCE_TWO_TUPLE |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_4 |
- | _STORE_FAST_5 |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_3 |
- | _GUARD_GLOBALS_VERSION |
- | _LOAD_CONST_INLINE |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_4 |
- | _LOAD_FAST_BORROW_1 |
- | _SET_IP |
- | _CHECK_FUNCTION_VERSION_INLINE |
- | _CHECK_STACK_SPACE_OPERAND |
- | _CHECK_RECURSION_REMAINING |
- | _INIT_CALL_PY_EXACT_ARGS_2 |
- | _SAVE_RETURN_OFFSET |
- | _PUSH_FRAME |
- | _GUARD_IP |
- | _TIER2_RESUME_CHECK |
- | _LOAD_CONST_INLINE_BORROW |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _GUARD_TOS_INT |
- | _GUARD_NOS_INT |
- | _BINARY_OP_ADD_INT |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _BINARY_OP_MULTIPLY_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_0 |
- | _GUARD_NOS_OVERFLOWED |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _SET_IP |
- | _GUARD_BINARY_OP_EXTEND |
- | _BINARY_OP_EXTEND |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _RETURN_VALUE |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_5 |
- | _GUARD_TOS_FLOAT |
- | _GUARD_NOS_FLOAT |
- | _BINARY_OP_MULTIPLY_FLOAT |
- | _GUARD_NOS_FLOAT |
- | _BINARY_OP_ADD_FLOAT |
- | _SET_IP |
- | _STORE_FAST_3 |
- | _JUMP_TO_TOP |
-
>
-]
-
-executor_0x555555eb9530 [
- shape = none
- label = <
- | Executor |
- | part_A_times_u: 37 |
- | _START_EXECUTOR |
- | _MAKE_WARM |
- | _SET_IP |
- | _FOR_ITER_TIER_TWO |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _GUARD_TOS_TUPLE |
- | _UNPACK_SEQUENCE_TWO_TUPLE |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _STORE_FAST_4 |
- | _STORE_FAST_5 |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_3 |
- | _GUARD_GLOBALS_VERSION |
- | _LOAD_CONST_INLINE |
- | _PUSH_NULL |
- | _LOAD_FAST_BORROW_1 |
- | _LOAD_FAST_BORROW_4 |
- | _SET_IP |
- | _CHECK_FUNCTION_VERSION_INLINE |
- | _CHECK_STACK_SPACE_OPERAND |
- | _CHECK_RECURSION_REMAINING |
- | _INIT_CALL_PY_EXACT_ARGS_2 |
- | _SAVE_RETURN_OFFSET |
- | _PUSH_FRAME |
- | _GUARD_IP |
- | _TIER2_RESUME_CHECK |
- | _LOAD_CONST_INLINE_BORROW |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _GUARD_TOS_INT |
- | _GUARD_NOS_INT |
- | _BINARY_OP_ADD_INT |
- | _LOAD_FAST_BORROW_0 |
- | _LOAD_FAST_BORROW_1 |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _BINARY_OP_MULTIPLY_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _SET_IP |
- | _BINARY_OP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_0 |
- | _GUARD_NOS_OVERFLOWED |
- | _BINARY_OP_ADD_INT |
- | _LOAD_CONST_INLINE_BORROW |
- | _BINARY_OP_ADD_INT |
- | _SET_IP |
- | _GUARD_BINARY_OP_EXTEND |
- | _BINARY_OP_EXTEND |
- | _CHECK_VALIDITY |
- | _SET_IP |
- | _RETURN_VALUE |
- | _GUARD_IP |
- | _CHECK_VALIDITY |
- | _LOAD_FAST_BORROW_5 |
- | _SET_IP |
- | _GUARD_BINARY_OP_EXTEND |
- | _BINARY_OP_EXTEND |
- | _CHECK_VALIDITY |
- | _GUARD_TOS_FLOAT |
- | _GUARD_NOS_FLOAT |
- | _BINARY_OP_ADD_FLOAT |
- | _SET_IP |
- | _STORE_FAST_3 |
- | _JUMP_TO_TOP |
-
>
-]
-
-}
-
--
2.47.3