Re: Re: Possible stack frame calc dead code bug again!
Charles Oliver Nutter <[email protected]>
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <[email protected]> |
Will do. - Charlie (mobile) On Sep 9, 2011, at 17:31, Eugene Kuleshov <[email protected]> wrote: > You are right. But can you replace classwriter with asmifier just for this class? It wont write bytecode, but you'll get the source code dumped instead. > > regards, > Eugene > On 2011-09-09 5:43 PM, "Charles Oliver Nutter" <[email protected]> wrote: > > 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