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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.