2009/5/8 Daniel Stutzbach <daniel at stutzbachenterprises.com>: > On Fri, May 8, 2009 at 1:09 PM, Benjamin Peterson <benjamin at python.org> > wrote: >> >> I've know hit __enter__ and __exit__. The compiler >> generates LOAD_ATTR instructions for these, so it uses the normal >> lookup. The only way I can see to fix this is add a new opcode which >> uses _PyObject_LookupSpecial, but I don't think we really care this >> much. Opinions? > > Why does this problem arise only with __enter__ and __exit__? Normally special methods use slots of the PyTypeObject struct. typeobject.c looks up all those methods on Python classes correctly. In the case of __enter__ and __exit__, the compiler generates bytecode to look them up, and that bytecode use PyObject_Getattr. -- Regards, Benjamin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4