◐ Shell
clean mode source ↗

bpo-46841: Inline cache for `BINARY_SUBSCR`. by markshannon · Pull Request #31618 · python/cpython

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good overall.

I still think that it makes more sense (and is a bit simpler) to just store pointers across four cache entries for now, and explore something like this separately as a possible improvement later. It seems to me that the way you've done it here is quite a bit more complicated, for negligible gain: 6 byte savings per unquickened site, offset by the cost of an extra 2 bytes and a pointer indirection per quickened site, plus 10 more wasted bytes for the vast majority of quickened calls.

But I'll defer to your judgement here.