Re: Re: Possible stack frame calc dead code bug again!
Charles Oliver Nutter <[email protected]>
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <CAE-f1xRXgPXwNyzCAtac6_N=-=4AWC=5q+5RHuXkYWK5Z1cwCQ@mail.gmail.com> |
Ok, perhaps I reveal my weak knowledge of ASM here, but ASMifierClassVisitor doesn't appear to have a constructor that can delegate to another visitor. What am I missing? - Charlie On Fri, Sep 9, 2011 at 4:04 PM, Eugene Kuleshov <[email protected]> wrote: > Charlie, > > You ca just add asmifier visitor before or instead of classwriter into > visitor chain. > > regards, > Eugene > > On 2011-09-09 5:02 PM, "Charles Oliver Nutter" <[email protected]> wrote: >> Ok, I guess I'm not clear how to do that. How do I get ASMIfier to >> dump something out before I turn it into bytes? >> >> - Charlie >> >> On Fri, Sep 9, 2011 at 2:07 PM, Charles Oliver Nutter >> <[email protected]> wrote: >>> Ok, I'll give it a try. >>> >>> On Fri, Sep 9, 2011 at 1:27 PM, <[email protected]> wrote: >>>> can you also give the ASMifier code to produce the class, so that we >>>> have the original bytecode (i.e. before ClassWriter replaces deadcode with >>>> NOPs)? >>>> >>>> Eric >>>> >>>> Charles Oliver Nutter wrote: >>>>> Hello everyone, it's your friendly neighborhood compiler writer who >>>>> refuses to remove dead code! >>>>> >>>>> We have a similar case to the previous bug, though this one appears >>>>> to >>>>> only fail verification on Java 7...not on Java 6. >>>>> >>>>> The bytecode that fails is shown here: >>>>> https://gist.github.com/8899f7b0c7f8cd741ef8 >>>>> >>>>> The error: >>>>> >>>>> Stack map does not match the one at exception handler 56 in method >>>>> >>>>> blah.block_0$RUBY$__file__(Lblah;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject; >>>>> at offset 29 >>>>> java.lang.VerifyError: Stack map does not match the one at exception >>>>> handler 56 in method >>>>> >>>>> blah.block_0$RUBY$__file__(Lblah;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject; >>>>> at offset 29 >>>>> >>>>> Other than the version number 51 in the class file, the same bytecode >>>>> verifies on Java 6. Something got stricter in 7? Something broke? >>>>> >>>>> I've attached a zip containing the class file and the full output of >>>>> dumping the entire class's bytecode. >>>>> >>>>> This is running on RC1ish (custom build). >>>>> >>>>> Help?! >>>>> >>>>> - Charlie >>>>> >>>>> >>>>> -- >>>>> You receive this message as a subscriber of the [email protected] mailing >>>>> list. >>>>> To unsubscribe: mailto:[email protected] >>>>> For general help: mailto:[email protected]?subject=help >>>>> OW2 mailing lists service home page: http://www.ow2.org/wws >>>> >>> >
message-footer.txt
(text/plain, 238 B)
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws