https://github.com/python/cpython/commit/223c03a43c010cf4404f2a42efafe587646a0619
commit: 223c03a43c010cf4404f2a42efafe587646a0619
branch: main
author: Nadeshiko Manju <m...@manjusaka.me>
committer: Fidget-Spinner <kenjin4...@gmail.com>
date: 2024-06-27T19:35:25+08:00
summary:

gh-121082: Fix build failure when the developer use `--enable-pystats` 
arguments in configuration command after #118450 (#121083)



Signed-off-by: Manjusaka <m...@manjusaka.me>
Co-authored-by: Ken Jin <kenjin4...@gmail.com>

files:
A Misc/NEWS.d/next/Build/2024-06-27-18-03-20.gh-issue-121082.w3AfRx.rst
M Python/specialize.c

diff --git 
a/Misc/NEWS.d/next/Build/2024-06-27-18-03-20.gh-issue-121082.w3AfRx.rst 
b/Misc/NEWS.d/next/Build/2024-06-27-18-03-20.gh-issue-121082.w3AfRx.rst
new file mode 100644
index 00000000000000..7657672ba880c8
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2024-06-27-18-03-20.gh-issue-121082.w3AfRx.rst
@@ -0,0 +1 @@
+Fix build failure when the developer use ``--enable-pystats`` arguments in 
configuration command after #118450.
diff --git a/Python/specialize.c b/Python/specialize.c
index dc0e319880b976..497feca06e4c7f 100644
--- a/Python/specialize.c
+++ b/Python/specialize.c
@@ -2364,7 +2364,8 @@ _Py_Specialize_ForIter(_PyStackRef iter, _Py_CODEUNIT 
*instr, int oparg)
     assert(ENABLE_SPECIALIZATION);
     assert(_PyOpcode_Caches[FOR_ITER] == INLINE_CACHE_ENTRIES_FOR_ITER);
     _PyForIterCache *cache = (_PyForIterCache *)(instr + 1);
-    PyTypeObject *tp = Py_TYPE(PyStackRef_AsPyObjectBorrow(iter));
+    PyObject *iter_o = PyStackRef_AsPyObjectBorrow(iter);
+    PyTypeObject *tp = Py_TYPE(iter_o);
     if (tp == &PyListIter_Type) {
         instr->op.code = FOR_ITER_LIST;
         goto success;
@@ -2389,7 +2390,7 @@ _Py_Specialize_ForIter(_PyStackRef iter, _Py_CODEUNIT 
*instr, int oparg)
         goto success;
     }
     SPECIALIZATION_FAIL(FOR_ITER,
-                        _PySpecialization_ClassifyIterator(iter));
+                        _PySpecialization_ClassifyIterator(iter_o));
 failure:
     STAT_INC(FOR_ITER, failure);
     instr->op.code = FOR_ITER;

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to