https://github.com/python/cpython/commit/85f092f541a2caf47e77b8510cbc720216e91e63
commit: 85f092f541a2caf47e77b8510cbc720216e91e63
branch: main
author: Kumar Aditya <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2025-07-04T09:04:47+05:30
summary:
gh-115999: remove redundant check in free-threading from
`_STORE_ATTR_WITH_HINT` (#136249)
files:
M Python/bytecodes.c
M Python/executor_cases.c.h
M Python/generated_cases.c.h
diff --git a/Python/bytecodes.c b/Python/bytecodes.c
index a5b74d88d7d4fe..d9abc4c53d1f50 100644
--- a/Python/bytecodes.c
+++ b/Python/bytecodes.c
@@ -2641,12 +2641,6 @@ dummy_func(
PyDictObject *dict = _PyObject_GetManagedDict(owner_o);
DEOPT_IF(dict == NULL);
DEOPT_IF(!LOCK_OBJECT(dict));
- #ifdef Py_GIL_DISABLED
- if (dict != _PyObject_GetManagedDict(owner_o)) {
- UNLOCK_OBJECT(dict);
- DEOPT_IF(true);
- }
- #endif
assert(PyDict_CheckExact((PyObject *)dict));
PyObject *name = GETITEM(FRAME_CO_NAMES, oparg);
if (hint >= (size_t)dict->ma_keys->dk_nentries ||
diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h
index 276c320c5f4d90..e152865e4ec9e8 100644
--- a/Python/executor_cases.c.h
+++ b/Python/executor_cases.c.h
@@ -3704,15 +3704,6 @@
UOP_STAT_INC(uopcode, miss);
JUMP_TO_JUMP_TARGET();
}
- #ifdef Py_GIL_DISABLED
- if (dict != _PyObject_GetManagedDict(owner_o)) {
- UNLOCK_OBJECT(dict);
- if (true) {
- UOP_STAT_INC(uopcode, miss);
- JUMP_TO_JUMP_TARGET();
- }
- }
- #endif
assert(PyDict_CheckExact((PyObject *)dict));
PyObject *name = GETITEM(FRAME_CO_NAMES, oparg);
if (hint >= (size_t)dict->ma_keys->dk_nentries ||
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h
index bb153bc1c0e11a..aa1eb373b7ba4b 100644
--- a/Python/generated_cases.c.h
+++ b/Python/generated_cases.c.h
@@ -11064,16 +11064,6 @@
assert(_PyOpcode_Deopt[opcode] == (STORE_ATTR));
JUMP_TO_PREDICTED(STORE_ATTR);
}
- #ifdef Py_GIL_DISABLED
- if (dict != _PyObject_GetManagedDict(owner_o)) {
- UNLOCK_OBJECT(dict);
- if (true) {
- UPDATE_MISS_STATS(STORE_ATTR);
- assert(_PyOpcode_Deopt[opcode] == (STORE_ATTR));
- JUMP_TO_PREDICTED(STORE_ATTR);
- }
- }
- #endif
assert(PyDict_CheckExact((PyObject *)dict));
PyObject *name = GETITEM(FRAME_CO_NAMES, oparg);
if (hint >= (size_t)dict->ma_keys->dk_nentries ||
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]