RFR 8219579: Remove redundant signature parsing from the verifier

Lois Foltan lois.foltan at oracle.com
Thu Feb 28 22:16:45 UTC 2019


On 2/28/2019 3:57 PM, Harold Seigel wrote:
> Hi,
>
> Please review this fix to remove redundant field and method signature 
> parsing from the verifier.  The parsing is redundant because field and 
> method signatures are already checked by ClassFileParser.
>
> Note that current behavior, in the odd case where a user enables local 
> verification but disables remote verification, is that both local and 
> remote classes get verified.  The change in arguments.cpp does not 
> change that.
>
> Open Webrev: 
> http://cr.openjdk.java.net/~hseigel/bug_8219579/webrev/index.html
>
> JBS Bug:  https://bugs.openjdk.java.net/browse/JDK-8219579
>
> The fix was regression tested by running Mach5 tiers 1 and 2 tests and 
> builds on Linux-x64, Solaris, Windows, and Mac OS X, running tiers 3-5 
> tests on Linux-x64, and by running JCK-13 Lang and VM tests on Linux-x64.
>
> Thanks, Harold
>

Hi Harold,

Looks good.  A couple of comments:

- is there a way to remove the SignatureVerifier data structure since it 
is now only used in an ASSERT situation by verifier.cpp? Could you use 
ClassFileParser::verify_legal_method_signature and 
ClassFileParser::verify_legal_field_signature within 
classfile/verifier.cpp instead?

- classfile/verifier.cpp
   line #2114 - can you change the comment in the assert back to 
something specific to condy like "Invalid type for dynamic constant"?
   line #2241 & 2717 - nit the other asserts use "Invalid" instead of 
"Bad".  My suggestion is to make them all consistently use "Invalid"

Thanks, I don't need to see another webrev.
Lois


More information about the hotspot-runtime-dev mailing list