GH-115651: Convert LOAD_MODULE_ATTR into LOAD_INLINE_CONST when the module is itself a constant. (GH-115711)

This commit is contained in:
Mark Shannon 2024-02-22 14:48:25 +00:00 committed by GitHub
parent c6a47de709
commit b348313e7a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 182 additions and 95 deletions

View file

@ -3712,11 +3712,11 @@
// _CHECK_ATTR_MODULE
owner = stack_pointer[-1];
{
uint32_t type_version = read_u32(&this_instr[2].cache);
uint32_t dict_version = read_u32(&this_instr[2].cache);
DEOPT_IF(!PyModule_CheckExact(owner), LOAD_ATTR);
PyDictObject *dict = (PyDictObject *)((PyModuleObject *)owner)->md_dict;
assert(dict != NULL);
DEOPT_IF(dict->ma_keys->dk_version != type_version, LOAD_ATTR);
DEOPT_IF(dict->ma_keys->dk_version != dict_version, LOAD_ATTR);
}
// _LOAD_ATTR_MODULE
{