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]