Message305722
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). |
|
Date |
User |
Action |
Args |
2017-11-07 09:11:08 | methane | set | recipients:
+ methane, tim.peters, rhettinger, serhiy.storchaka |
2017-11-07 09:11:08 | methane | set | messageid: <1510045868.67.0.213398074469.issue31954@psf.upfronthosting.co.za> |
2017-11-07 09:11:08 | methane | link | issue31954 messages |
2017-11-07 09:11:08 | methane | create | |
|