This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author methane
Recipients methane, rhettinger, serhiy.storchaka, tim.peters
Date 2017-11-07.09:11:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1510045868.67.0.213398074469.issue31954@psf.upfronthosting.co.za>
In-reply-to
Content
I don't know why dk_lookup is in dictkeys object.  But I think
it's because sharing 1 word from all key-sharing dict.
So ma_clean flag can be in dictkeys object for same reason.

BTW, We use dk_lookup function pointer and it tooks 1 word.
But PyPy use flags for it.  So they can pack other informations into same word.

static dict_lookup_func lookup_funcs = {lookdict_unicode_nodummy, lookdict_unicode, lookdict_split, lookdict};
...
    unsigned int ma_clean:1;
    unsigned int ma_lookup_func:2; // lookup_funcs[ma_lookup_func]
...

In this way, we can have more flags for future optimization.
(e.g. "all keys are interned string and comparing pointer is enough for searching interned key" flag).
History
Date User Action Args
2017-11-07 09:11:08methanesetrecipients: + methane, tim.peters, rhettinger, serhiy.storchaka
2017-11-07 09:11:08methanesetmessageid: <1510045868.67.0.213398074469.issue31954@psf.upfronthosting.co.za>
2017-11-07 09:11:08methanelinkissue31954 messages
2017-11-07 09:11:08methanecreate