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

Reply via email to