Assembly output from JRuby 'fib'

Charles Nutter headius at headius.com
Fri Apr 29 16:03:25 PDT 2011


Rémi and I confirmed that it is in fact dead code (JRuby's fault) which is causing a problem for ASM 4 (ASM's fault). He's looking into a fix, and I'll try to eliminate the dead code.

Hopefully it can be fixed in ASM soon, since the code in question is being generated by a particularly gnarly part of JRuby's compiler.

- Charlie (mobile)

On Apr 29, 2011, at 15:58, Mark Roos <mroos at roos.com> wrote:

> 
> I have seen a stack map issue with ASM 4 as well.  In my case it was dead ( unreachable ) code which had 
> a return instruction in it.  Seemed to confuse the next stack map computation.  I am allowing ASM 4 to compute 
> the maps on its own. 
> 
> I replaced it (the return) with no ops and the problem went away.  The other dead instructions did not seem to 
> matter. 
> 
> mark 
> 
> 
> From:	Charles Oliver Nutter <headius at headius.com>
> To:	Da Vinci Machine Project <mlvm-dev at openjdk.java.net>
> Date:	04/28/2011 11:17 AM
> Subject: 	Re: Assembly output from JRuby 'fib'
> Sent by:	mlvm-dev-bounces at openjdk.java.net
> 
> 
> 
> 
> On Thu, Apr 28, 2011 at 11:03 AM, Rémi Forax <forax at univ-mlv.fr> wrote:
> > On 04/28/2011 03:56 PM, Charles Oliver Nutter wrote:
> >> 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.
> 
> If you're willing, I'll toss you 1.5 and 1.6 ASM-produced bytecode
> off-list and perhaps you can help me figure out if I'm doing something
> wrong or if ASM is choking on our peculiar code structure. I need this
> working to start running tests with invokedynamic.
> 
> - Charlie
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
> 
> 
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110429/d06a7d06/attachment.html 


More information about the mlvm-dev mailing list