Anto, Thanks for your patient. I will read the code of RPython first.
Bo Chen On Sat, May 21, 2011 at 6:22 PM, Antonio Cuni <anto.c...@gmail.com> wrote: > On 16/05/11 17:10, Bo Chen wrote: > > Anto, > > Hello Bo, > (I've CCed pypy-dev again, please click "reply all" to make sure the list > is > included) > > > Is there any advice on reading the source code of the pypy? > > that's a hard question, it depends what is your goal. My experience is that > if > you have a clear goal and start by writing a failing test, then it's easier > to > follow what's going on in that particular case. > > Personally, I love to put pdb.set_trace() here and there to watch the > execution of the code in the pieces I'm interested in. > > > And here is my question, the JVM backend is to invoke java classes in > pypy or > > translate the python binary to java binary, or both? > > The JVM backend translates RPython source code into JVM bytecode (actually, > it > generates a textual form of the JVM bytecode, which is then assembled by > jasmin). > > Currently, you cannot create/call Java entities from RPython code, but as I > explained in the earlier emails, this is a prerequisite feature before > doing > the rest of the work. > > > There is a prototype use JPype, is this mean the JVM backend turn the > java > > binary code into the python's. > > no. JPype allows to call Java code from CPython, but there is no > translation > of java into python involved. > > Note that JPype would be used only for tests, and not for the actual > translation. This is because the RPython code can be either run on top of > cpython (for testing) or translated to jvm code. JPype (or equivalent) is > needed for the first case > > For the second case, JPype does not play any role. What it's needed is to > teach the RPython toolchain how to deal with Java classes. Remind that the > JVM backend already emits JVM bytecode, so it's "enough" to teach the > RPython > toolchain to transform e.g. "rjvm.System.out.println" into the > corresponding > invokestatic bytecode. > > > And only the JIT complier will transfer the python to java. > > no JIT is involved at this point. I think it's better to keep the JIT out > of > this particular discussion, to avoid confusion. > > > And the Point(1) would be not only just use the JPype, but also need > > implement totally? > > see my explanation above, hoping that it answer your question. > > ciao, > Anto >
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev