summaryrefslogtreecommitdiffstats
path: root/Python/bytecodes.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r--Python/bytecodes.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c
index 8b12da0..274c5c2 100644
--- a/Python/bytecodes.c
+++ b/Python/bytecodes.c
@@ -2119,11 +2119,8 @@ dummy_func(
_GUARD_DORV_NO_DICT +
_STORE_ATTR_INSTANCE_VALUE;
- inst(STORE_ATTR_WITH_HINT, (unused/1, type_version/2, hint/1, value, owner --)) {
- PyTypeObject *tp = Py_TYPE(owner);
- assert(type_version != 0);
- DEOPT_IF(tp->tp_version_tag != type_version);
- assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT);
+ op(_STORE_ATTR_WITH_HINT, (hint/1, value, owner --)) {
+ assert(Py_TYPE(owner)->tp_flags & Py_TPFLAGS_MANAGED_DICT);
PyDictObject *dict = _PyObject_GetManagedDict(owner);
DEOPT_IF(dict == NULL);
assert(PyDict_CheckExact((PyObject *)dict));
@@ -2158,6 +2155,11 @@ dummy_func(
Py_DECREF(owner);
}
+ macro(STORE_ATTR_WITH_HINT) =
+ unused/1 +
+ _GUARD_TYPE_VERSION +
+ _STORE_ATTR_WITH_HINT;
+
op(_STORE_ATTR_SLOT, (index/1, value, owner --)) {
char *addr = (char *)owner + index;
STAT_INC(STORE_ATTR, hit);