
Thanks! On Wed, Feb 16, 2022 at 11:19 AM Kevin Modzelewski <kevmod@gmail.com> wrote:
Importantly, our system allows for the reference count of immortal objects to change, as long as it doesn't go below half of the original very-high value. So extension code with no concept of immortality will still update the reference counts of immortal objects, but this is fine. Because of this we haven't seen any issues with extension modules.
In CPython we will *have* to allow this in order to support binary packages built with earlier CPython versions (assuming they only use the stable ABI). Those packages will necessarily use INCREF/DECREF macros that don't check for the immortality bit. Yes, it will break COW, but nevertheless we have to support the Stable ABI, and INCREF/DECREF are in the Stable ABI. If you want COW you will have to compile such packages from source. -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-c...>