> On Mon, 11 Feb 2002, Ka-Ping Yee wrote: > > This simplifies things further: > > > > PyObject* cell_get(PyGlobalCell* c) > > { > > return c->cell_cellptr->cell_objptr; > > } > > I forgot to mention that this would also add loopback cellptrs for > the two cells pointed to by __builtin__.abs and __builtin__.max. > > But hey... in that case the cellptr is always two steps away from > the object. So why not just use PyObject**s instead of cells? > > dict -> ptr -> ptr -> object > > (Or, if we want to maintain backward compatibility with existing > dictionaries, let a cell be an object, so we can check its type, > and have it contain just one pointer instead of two?) > > Am i out to lunch? I think so. Think of max in the example used for your diagram (thanks for that BTW!). The first cell for it contains 3; the second cell for it contains the built-in function 'max'. A double dereference would get the wrong value. Or did I misread your suggestion? --Guido van Rossum (home page: http://www.python.org/~guido/)
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