]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-94673: Add _PyStaticType_InitBuiltin() (#95152)
authorEric Snow <ericsnowcurrently@gmail.com>
Mon, 25 Jul 2022 18:47:31 +0000 (12:47 -0600)
committerGitHub <noreply@github.com>
Mon, 25 Jul 2022 18:47:31 +0000 (12:47 -0600)
commit4a1dd734311891662a6fc3394f93db98c93e7219
tree2f85a419478553aeedd1622cb53dd5b302f77785
parentc5140945c723ae6c4b7ee81ff720ac8ea4b52cfd
gh-94673: Add _PyStaticType_InitBuiltin() (#95152)

This is the first of several precursors to storing tp_subclasses (and tp_weaklist) on the interpreter state for static builtin types.

We do the following:

* add `_PyStaticType_InitBuiltin()`
* add `_Py_TPFLAGS_STATIC_BUILTIN`
* set it on all static builtin types in `_PyStaticType_InitBuiltin()`
* shuffle some code around to be able to use _PyStaticType_InitBuiltin()
    * rename `_PyStructSequence_InitType()` to `_PyStructSequence_InitBuiltinWithFlags()`
    * add `_PyStructSequence_InitBuiltin()`.
13 files changed:
Include/internal/pycore_structseq.h
Include/internal/pycore_typeobject.h
Include/object.h
Objects/exceptions.c
Objects/floatobject.c
Objects/longobject.c
Objects/object.c
Objects/structseq.c
Objects/typeobject.c
Objects/unicodeobject.c
Python/errors.c
Python/sysmodule.c
Python/thread.c