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]

Reply via email to