Assembly output from JRuby 'fib'

Rémi Forax forax at univ-mlv.fr
Thu Apr 28 09:03:15 PDT 2011


On 04/28/2011 03:56 PM, Charles Oliver Nutter wrote:
> BTW, a note on JRuby test failures running indy... (i.e. ATTN REMI)
>
> I'm having some trouble with JRuby's compiler and ASM failing to emit
> valid stack maps. There are some compilation scenarios in JRuby that
> may be exposing a bug in ASM's stack map calculation. If I emit Java
> 1.5 compatible bytecode for those scenarios and let the map be
> calculated during verification, the code loads and executes fine. If I
> switch to 1.6 bytecode, I get verification errors saying that the
> stack map is invalid. Could be an ASM bug?

yes. it could :)

Also it could be a bug on your side because to calculate stackmap
ASM needs to be able to find the common supertype of two types.
I don't know if you provide your own method for doing that but
by default it relies on reflection (getSupperClass/isAssignableFrom)
which doesn't work if your code use a Class that doesn't exist yet.

> With indy working really well now, I'm going to be working toward
> turning it on by default in JRuby, and that will require me to get
> test runs green. This is the main problem standing in my way.
>
> - Charlie

Rémi



More information about the mlvm-dev mailing list