Use relaxed load to check if dictkeys are immortal
static inline void
dictkeys_incref(PyDictKeysObject *dk)
{
- if (dk->dk_refcnt == _Py_IMMORTAL_REFCNT) {
+ if (FT_ATOMIC_LOAD_SSIZE_RELAXED(dk->dk_refcnt) == _Py_IMMORTAL_REFCNT) {
return;
}
#ifdef Py_REF_DEBUG
static inline void
dictkeys_decref(PyInterpreterState *interp, PyDictKeysObject *dk, bool use_qsbr)
{
- if (dk->dk_refcnt == _Py_IMMORTAL_REFCNT) {
+ if (FT_ATOMIC_LOAD_SSIZE_RELAXED(dk->dk_refcnt) == _Py_IMMORTAL_REFCNT) {
return;
}
assert(dk->dk_refcnt > 0);
race:assign_version_tag
race:compare_unicode_unicode
race:delitem_common
-race:dictkeys_decref
-race:dictkeys_incref
race:dictresize
race:gc_collect_main
race:gc_restore_tid