]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-115999: Add PyCodeObject.co_tlbc to the debug offsets (#134286)
authorPablo Galindo Salgado <Pablogsal@gmail.com>
Tue, 20 May 2025 15:31:37 +0000 (11:31 -0400)
committerGitHub <noreply@github.com>
Tue, 20 May 2025 15:31:37 +0000 (15:31 +0000)
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Include/internal/pycore_debug_offsets.h

index 59d2c9d53779538cb7a6df2319fdda87547ab62f..1a265c59ff8c082fae14fce12e20e05c8b26e326 100644 (file)
@@ -52,9 +52,13 @@ extern "C" {
 #ifdef Py_GIL_DISABLED
 # define _Py_Debug_gilruntimestate_enabled offsetof(struct _gil_runtime_state, enabled)
 # define _Py_Debug_Free_Threaded 1
+# define _Py_Debug_code_object_co_tlbc offsetof(PyCodeObject, co_tlbc)
+# define _Py_Debug_interpreter_frame_tlbc_index offsetof(_PyInterpreterFrame, tlbc_index)
 #else
 # define _Py_Debug_gilruntimestate_enabled 0
 # define _Py_Debug_Free_Threaded 0
+# define _Py_Debug_code_object_co_tlbc 0
+# define _Py_Debug_interpreter_frame_tlbc_index 0
 #endif
 
 
@@ -109,6 +113,7 @@ typedef struct _Py_DebugOffsets {
         uint64_t localsplus;
         uint64_t owner;
         uint64_t stackpointer;
+        uint64_t tlbc_index;
     } interpreter_frame;
 
     // Code object offset;
@@ -123,6 +128,7 @@ typedef struct _Py_DebugOffsets {
         uint64_t localsplusnames;
         uint64_t localspluskinds;
         uint64_t co_code_adaptive;
+        uint64_t co_tlbc;
     } code_object;
 
     // PyObject offset;
@@ -265,6 +271,7 @@ typedef struct _Py_DebugOffsets {
         .localsplus = offsetof(_PyInterpreterFrame, localsplus), \
         .owner = offsetof(_PyInterpreterFrame, owner), \
         .stackpointer = offsetof(_PyInterpreterFrame, stackpointer), \
+        .tlbc_index = _Py_Debug_interpreter_frame_tlbc_index, \
     }, \
     .code_object = { \
         .size = sizeof(PyCodeObject), \
@@ -277,6 +284,7 @@ typedef struct _Py_DebugOffsets {
         .localsplusnames = offsetof(PyCodeObject, co_localsplusnames), \
         .localspluskinds = offsetof(PyCodeObject, co_localspluskinds), \
         .co_code_adaptive = offsetof(PyCodeObject, co_code_adaptive), \
+        .co_tlbc = _Py_Debug_code_object_co_tlbc, \
     }, \
     .pyobject = { \
         .size = sizeof(PyObject), \