Hi Simon, On Thu, Mar 29, 2007 at 06:37:44PM -0700, Simon Burton wrote: > I am very curious about this suggestively named hlinvoke.. It seems that > if we can get the ll_str of rclass to call the low-level-ized version of the > __str__ > method then we are done. Is this the idea behind hlinvoke ? (... looking now > at test_rpbc...)
Yes. It's used to call back RPython functions from low-level helpers, where it's normally not possible. It's used by objectmodel.rdict() to call the RPython functions that implement the custom key equality and hash. See lltypesystem/rdict.py for an example... You don't get method dispatch for free - you have to call an RPython function, not a method, so you'd need to manually add in the vtable of the class a field for the low-level function pointer to the RPython function. Note also that hlinvoke() is not yet implemented for the ootypesystem. A bientot, Armin. _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
