Hi, 2011/3/26 Dima Tisnek <dim...@gmail.com>: > Hey, I had a look at cpyext recently and saw that reference counting > is emulated with, err, reference counting, seeminlgy in the referenced > object itself. > > Does this mean that cpyext would not work with other gc's or is there > some wrapping going on behind the scenes?
Cpyext works with all pypy gc's. The PyObject* exposed to C code is actually a proxy to the "real" interpreter object; a dict lookup is necessary each time a reference crosses the C/pypy boundary. Yes, this is slow. This is implemented in pypy/module/cpyext/pyobject.py; the main functions are create_ref() and from_ref(). -- Amaury Forgeot d'Arc _______________________________________________ pypy-dev@codespeak.net http://codespeak.net/mailman/listinfo/pypy-dev