]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Replace ad-hoc labels with JUMP_TO_INSTRUCTION (GH-96634)
authorBrandt Bucher <brandtbucher@microsoft.com>
Fri, 9 Sep 2022 21:43:10 +0000 (14:43 -0700)
committerGitHub <noreply@github.com>
Fri, 9 Sep 2022 21:43:10 +0000 (14:43 -0700)
Python/ceval.c

index 8fca585eb71cb912dec224dfe3ff3b7c663f6b6c..7d4543ea03d9a01e4e11b68eb0e30cbc8f0c38ea 100644 (file)
@@ -4107,7 +4107,7 @@ handle_eval_breaker:
             PEEK(oparg + 1) = self;
             PEEK(oparg + 2) = meth;
             Py_DECREF(function);
-            goto call_exact_args;
+            JUMP_TO_INSTRUCTION(CALL_PY_EXACT_ARGS);
         }
 
         TARGET(KW_NAMES) {
@@ -4118,8 +4118,8 @@ handle_eval_breaker:
         }
 
         TARGET(CALL) {
+            PREDICTED(CALL);
             int total_args, is_meth;
-        call_function:
             is_meth = is_method(stack_pointer, oparg);
             PyObject *function = PEEK(oparg + 1);
             if (!is_meth && Py_TYPE(function) == &PyMethod_Type) {
@@ -4207,12 +4207,12 @@ handle_eval_breaker:
             else {
                 STAT_INC(CALL, deferred);
                 DECREMENT_ADAPTIVE_COUNTER(cache);
-                goto call_function;
+                JUMP_TO_INSTRUCTION(CALL);
             }
         }
 
         TARGET(CALL_PY_EXACT_ARGS) {
-        call_exact_args:
+            PREDICTED(CALL_PY_EXACT_ARGS);
             assert(call_shape.kwnames == NULL);
             DEOPT_IF(tstate->interp->eval_frame, CALL);
             _PyCallCache *cache = (_PyCallCache *)next_instr;