]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
fix frame owned by interp
authorKen Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Wed, 5 Nov 2025 18:27:51 +0000 (18:27 +0000)
committerKen Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Wed, 5 Nov 2025 18:27:51 +0000 (18:27 +0000)
Python/bytecodes.c
Python/executor_cases.c.h

index 8c73f35acfe4eea236233b6e8ca61aaead4ae717..3b14415f540b9125c4e07202d57bc2d36c3e1abb 100644 (file)
@@ -5514,6 +5514,9 @@ dummy_func(
                     TIER2_TO_TIER2(executor);
                 }
             }
+            if (frame->owner >= FRAME_OWNED_BY_INTERPRETER) {
+                GOTO_TIER_ONE(target);
+            }
             if (!backoff_counter_triggers(temperature)) {
                 exit->temperature = advance_backoff_counter(temperature);
                 GOTO_TIER_ONE(target);
index 173380aff00e759a85743d61522e23435d5a8ad0..28c139bf9e5760655d89e5e9f52d2eaa81eda0b2 100644 (file)
                     TIER2_TO_TIER2(executor);
                 }
             }
+            if (frame->owner >= FRAME_OWNED_BY_INTERPRETER) {
+                GOTO_TIER_ONE(target);
+            }
             if (!backoff_counter_triggers(temperature)) {
                 exit->temperature = advance_backoff_counter(temperature);
                 GOTO_TIER_ONE(target);