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

Antonio Cuni anto.cuni at gmail.com
Fri May 13 18:14:35 CEST 2011


On 12/05/11 06:39, Charles Oliver Nutter wrote:
> FWIW I would be happy to help out with advice and direction, especially if the JVM backend could be rejiggered to take advantage of the new invokedynamic bytecode in Java 7. I have been using it for JRuby and have been very pleased with it.

Hello Charles,

I think that invokedynamic might be very useful for a potential JVM JIT
backend, but not for the static one, because the RPython code translates quite
straightforwardly to the "normal" JVM bytecode.

About the JIT, I am very interested in hearing about the potential of
invokedynamic.  For example, I think it could be useful for attaching new
bridges to already compiled loops, without the need to recompile the whole
loop as the CLI JIT backend does.

Two questions:

  - how fast/slow is an invokedynamic call compared to a local jump? (Assuming
that the JVM is able to inline the target method)

  - are tail calls supported by the JVM, and by invokedynamic in particular?

ciao,
Anto


More information about the pypy-dev mailing list