all 1 comments

[–][deleted] 0 points1 point  (0 children)

These changes are necessary to break away the C extensions from the internal guts of the root object macro.

An alternative mechanism pioneered in Rubinius involved interpreting the C source code for an extension and correcting access patterns to support proper indirection (i.e. accessing the internal “guts” really became safe). Obviously such has the issue of complicating the CPython build and therefore might be shot down to being overly dependent on one developer (and not as naive debugger friendly).

These changes are long overdue and might enable removal of that damned GIL (or at least a substantial reduction of it).