[pypy-dev] re-boxing of CPython types.

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Apr 23 13:26:45 CEST 2009


On Thu, Apr 23, 2009 at 10:46 AM, Armin Rigo <arigo at tunes.org> wrote:
> Hi Luke,
>
> I think I understand the point of your work, so let me point out the
> difference with our JavaScript backend.  In your work, you are fine with
> emulating basic- or medium-level Python functionality, by giving up on
> the details.

 for the "web" mode, yes.
> For an example of what I mean with "medium-level Python functionality",
> just try to run any existing application in your system: it will fail
> because most existing applications rely somehow on advanced features
> of Python.

 well... it may come as a surprise to learn that the gtk "hello world"
application ran successfully under pyjs+python-spidermonkey (and a few
more, besides)- but i do know what you mean.

 by the time i moved on to the more comprehensive of the gtk examples,
i quickly encountered the intobject-conflict issue, and more (which
bernd dorn is looking at, in the "introspection" branch).

 but - leaving that aside: i thought last night about the
garbage-collection issue a bit and i believe i understand: you'd have
two separate garbage-collection systems (one in CPython and one in
pypy) both keeping separate refcounts on the same object, and thus end
up deleting the object out from underneath each other.

in webkit, there is a similar issue - the solution they have there is
that javascript objects are "marked as deleted" and also the c++
object has refcounting and both the javascript bindings and also any
other language bindings make direct reference to the underlying c++
object refcounting.

so i just wanted you to know that i do understand the complexities
involved, and i'll think about it some more and answer later.

l.



More information about the Pypy-dev mailing list