Re: [Python-Dev] Compact GC Header
29.05.18 17:15, Steve Dower пише:
Looks like it breaks the 3.7 ABI, which is certainly not allowed at this time. But it’s not a limited API structure, so no problem for 3.8.
Looks like it breaks only extensions that use private macros _PyObject_GC_TRACK, _PyObject_GC_UNTRACK and _PyObject_GC_IS_TRACKED. Those that use only public functions PyObject_GC_Track() and PyObject_GC_UnTrack() shouldn't be affected.
On 30 May 2018 at 20:43, Serhiy Storchaka
29.05.18 17:15, Steve Dower пише:
Looks like it breaks the 3.7 ABI, which is certainly not allowed at this time. But it’s not a limited API structure, so no problem for 3.8.
Looks like it breaks only extensions that use private macros _PyObject_GC_TRACK, _PyObject_GC_UNTRACK and _PyObject_GC_IS_TRACKED. Those that use only public functions PyObject_GC_Track() and PyObject_GC_UnTrack() shouldn't be affected.
The ABI concern is with PyGC_Head changing size, as that's a public struct definition in a public header - even though the macros for working with it are marked as private, the struct itself isn't. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia
participants (2)
-
Nick Coghlan
-
Serhiy Storchaka