https://github.com/python/cpython/commit/1ca99ed240e1e70502d84fea274423b660d172c2
commit: 1ca99ed240e1e70502d84fea274423b660d172c2
branch: main
author: Mark Shannon <[email protected]>
committer: markshannon <[email protected]>
date: 2024-07-26T18:38:52+01:00
summary:

Manually override bytecode definition in optimizer, to avoid build error 
(GH-122316)

files:
M Python/optimizer_bytecodes.c
M Python/optimizer_cases.c.h

diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c
index 4d4f89301c7475..c982e37182157a 100644
--- a/Python/optimizer_bytecodes.c
+++ b/Python/optimizer_bytecodes.c
@@ -596,6 +596,14 @@ dummy_func(void) {
         }
     }
 
+    op(_MAYBE_EXPAND_METHOD, (callable, self_or_null, args[oparg] -- func, 
maybe_self, args[oparg])) {
+        (void)callable;
+        (void)self_or_null;
+        (void)args;
+        func = sym_new_not_null(ctx);
+        maybe_self = sym_new_not_null(ctx);
+    }
+
     op(_PY_FRAME_GENERAL, (callable, self_or_null, args[oparg] -- new_frame: 
_Py_UOpsAbstractFrame *)) {
         /* The _Py_UOpsAbstractFrame design assumes that we can copy arguments 
across directly */
         (void)callable;
diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h
index fae93ce89e82e5..4fa40ff861ba70 100644
--- a/Python/optimizer_cases.c.h
+++ b/Python/optimizer_cases.c.h
@@ -1599,14 +1599,19 @@
         }
 
         case _MAYBE_EXPAND_METHOD: {
+            _Py_UopsSymbol **args;
+            _Py_UopsSymbol *self_or_null;
+            _Py_UopsSymbol *callable;
             _Py_UopsSymbol *func;
             _Py_UopsSymbol *maybe_self;
-            _Py_UopsSymbol **args;
+            args = &stack_pointer[-oparg];
+            self_or_null = stack_pointer[-1 - oparg];
+            callable = stack_pointer[-2 - oparg];
+            (void)callable;
+            (void)self_or_null;
+            (void)args;
             func = sym_new_not_null(ctx);
             maybe_self = sym_new_not_null(ctx);
-            for (int _i = oparg; --_i >= 0;) {
-                args[_i] = sym_new_not_null(ctx);
-            }
             stack_pointer[-2 - oparg] = func;
             stack_pointer[-1 - oparg] = maybe_self;
             break;

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to