Request for review (M / Verifier Error messages)

Karen Kinnear karen.kinnear at oracle.com
Wed Aug 1 13:29:34 PDT 2012


Keith,

First - thank you for doing this and for attaching the detailed output information,
which I think will be very useful.

Looks good and I like the way you structured this.

Minor questions/comments:
1. stackMapFrame.hpp lines 230-231: is that comment still accurate?
and stackMapFrame.cpp lines 225-226 - are these still true?

2. FLAGS_MISMATCH/bad_flags:
Would there be any value in printing out what the flags are? Or is that
obvious?

3. StackMapTable.hpp/cpp
would it be hard to rename print to print_on since you now pass it a stream?
Also end of print, you call tty->print_cr, don't you want to use str not tty?

thanks,
Karen

On Aug 1, 2012, at 1:36 PM, Keith McGuigan wrote:

> 
> Anyone?
> 
> On 7/26/2012 6:02 PM, Keith McGuigan wrote:
>> Hello,
>> 
>> Would appreciate any review of the following code:
>> http://cr.openjdk.java.net/~kamg/7116786/
>> 
>> This code adds additional information to VerifyError messages to make it
>> easier to diagnose bytecode problems in the field.  It may be a full (or
>> partial) solution for JEP 136 (http://openjdk.java.net/jeps/136).
>> 
>> The basic idea is to create an ErrorContext object when a verification
>> error occurs and populate it with context information so that things
>> like the current frame, stackmaps, and bytecodes can be included in the
>> VerifyError's message.  In addition a diagnostic flag,
>> -XX:+VerifyVerbose is added which prints out the details of the
>> verification as it occurs.
>> 
>> The included test case has a 'testcases.jar' file that contains
>> hand-modified classfiles that trigger VerifyErrors in each possible
>> location in the verifier.  Some cases appeared unreachable so those
>> cases are missing.  I'm attaching the output of the test so you may see
>> the resulting error message format.
>> 
>> --
>> - Keith



More information about the hotspot-runtime-dev mailing list