[pypy-dev] JVM backend - status and future work possibilities?

Michał Bendowski michal at bendowski.pl
Fri May 13 15:37:38 CEST 2011


Thank you for your support Niko, Antonio and Charles. It seems that
the plan for now is to dig into pypy and try to get familiar with the
source (and I imagine it's not an easy task). As Antonio mentioned,
the first step is probably to work on integration at the RPython level
- and we should probably collaborate on that. Later we will have to
split probably, as a master's thesis is usually supposed to be an
individual contribution. That's not a problem for me right now, since
I will be doing an internship during the summer and I won't be able to
spend as much time on the project as I would like to. And everything
can change during that time :)

Just out of curiosity - where are you guys (Bo, Dario) studying? I'm
from the University of Warsaw.

Cheers,

Michał



On Fri, May 13, 2011 at 09:29, Niko Matsakis <niko at alum.mit.edu> wrote:
> Hello everyone,
>
> I just wanted to say that I am certainly available to answer questions about
> the code that exists.  I don't know how much work has been done on it since
> I last touched it, though.  I would be interested in helping out somewhat as
> well, but at the moment my time is very limited... I'm in the process of
> finishing up my PhD as well as various other projects. Anyway, I definitely
> think it'd be great if the JVM backend saw some attention!
>
>
> Niko
>
> Antonio Cuni wrote:
>
> On 11/05/11 23:02, Michał Bendowski wrote:
>
> Welcome everyone :)
>
> I was wondering what is the current status of the JVM backend.
>
> [cut]
>
> Hello Michał, Dario, Bo,
> I'm glad to see that there is interest around the JVM backend :-)
>
> Here is a summary of the current status and possible future direction.
>
> What works: translation of the basic interpreter to JVM
>
> What does not work/it's not there:
>
>   1) integration with the JVM classes at the RPython level
>   2) integration with the JVM classes at application level
>   3) JIT backend
>   4) a lot of modules which currently only work with the C backend
>
> Point (1) is a blocker for the rest, so it must be done before everything
> else.
>
> The idea, is to be able to instantiate java classes and call java methods
> from
> RPython code: the JVM backend will then turn these into the corresponding
> bytecode (invokespecial/invokevirtual).  This is "easy", but you need a deep
> understanding of the internals of the RPython toolchain to implement this
> (in
> particular, the annotation and the rtyping phases).
>
> The other requirement is that we want to be able to do JVM call also during
> testing.  As know, RPython is a subset of Python, and you can either
> translate
> it to C/JVM/CLI or execute it directly on top of CPython.  The latter is
> what
> we do all the time when doing testing.  Testing on top of CPython is
> extremely
> convenient for a large number of reasons which I'm not going to explain
> because it's late :-)
>
> We do not want to loose the possibility of testing on top of CPython, even
> when our RPython code contains calls to JVM classes.  So, we need a way to
> interface with the JVM from CPython, and this is why I asked Dario to
> investigate on JPype and JTool.
>
> Once step (1) is complete, the other tasks can be done in parallel.
>
> ciao,
> Anto
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev
>
>


More information about the pypy-dev mailing list