[issue39511] [subinterpreters] Per-interpreter singletons (None, True, False, etc.)
STINNER Victor
report at bugs.python.org
Wed Mar 10 04:46:07 EST 2021
STINNER Victor <vstinner at python.org> added the comment:
> Actually, interp->none shared _Py_NoneStruct variable.
My PR 18301 is a draft to check if we can solve the issue without breaking the C API compatibility. You're right that it doesn't solve the issue, it only checks the C API issue. IMO the PR 18301 proves that the "#define Py_None Py_GetNone()" trick works.
--
By the way, when I worked on a tagged pointer experiment:
https://github.com/vstinner/cpython/pull/6
I had to introduce Py_IS_NONE(op) function, since it was no longer possible to compare directly "op == Py_None".
static inline int Py_IS_NONE(PyObject *op) {
return (op == &_Py_NoneStruct || op == _Py_TAGPTR_NONE);
}
But this is not needed to solve this issue.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39511>
_______________________________________
More information about the Python-bugs-list
mailing list