From: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Date: Fri, 17 Oct 2025 17:22:59 +0000 (+0100) Subject: Turn off optimizer for real, trace through init X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9910b653a2168a7a8647c832ede62322aff3e395;p=thirdparty%2FPython%2Fcpython.git Turn off optimizer for real, trace through init --- 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
> -] - -} -