https://github.com/python/cpython/commit/0cbac06fc62d658b4ebcc09928e1357edfe1cf01
commit: 0cbac06fc62d658b4ebcc09928e1357edfe1cf01
branch: main
author: Xiaowei Lu <[email protected]>
committer: vstinner <[email protected]>
date: 2026-06-29T15:04:28+02:00
summary:
gh-151483: Only declare `PyCodeObject._co_unique_id` on Free Threading (#151484)
files:
M Include/cpython/code.h
diff --git a/Include/cpython/code.h b/Include/cpython/code.h
index 84456a709a6abe7..1be47e42ed62bfb 100644
--- a/Include/cpython/code.h
+++ b/Include/cpython/code.h
@@ -34,9 +34,13 @@ typedef struct {
char *entries[1];
} _PyCodeArray;
+#define _PyCode_DEF_UNIQUE_ID() \
+ Py_ssize_t _co_unique_id; /* ID used for per-thread refcounting */
+
#define _PyCode_DEF_THREAD_LOCAL_BYTECODE() \
_PyCodeArray *co_tlbc;
#else
+#define _PyCode_DEF_UNIQUE_ID()
#define _PyCode_DEF_THREAD_LOCAL_BYTECODE()
#endif
@@ -101,7 +105,7 @@ typedef struct {
_PyCoCached *_co_cached; /* cached co_* attributes */
\
uintptr_t _co_instrumentation_version; /* current instrumentation version
*/ \
struct _PyCoMonitoringData *_co_monitoring; /* Monitoring data */
\
- Py_ssize_t _co_unique_id; /* ID used for per-thread refcounting */ \
+ _PyCode_DEF_UNIQUE_ID()
\
int _co_firsttraceable; /* index of first traceable instruction */
\
/* Scratch space for extra data relating to the code object.
\
Type is a void* to keep the format private in codeobject.c to force
\
_______________________________________________
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]