RFR 8226304: Obsolete the -XX:+FailOverToOldVerifier option

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Jun 19 12:49:04 UTC 2019


http://cr.openjdk.java.net/~hseigel/bug_8226304/webrev/src/hotspot/share/classfile/verifier.cpp.frames.html 


180
181 // If DumpSharedSpaces is set then don't fall back to the old 
verifier on
182 // verification failure. If a class fails verification with the 
split verifier,
183 // it might fail the CDS runtime verifier constraint check. In that 
case, we
184 // don't want to share the class. We only archive classes that pass 
the split
185 // verifier.
186 if (klass->major_version() < NOFAILOVER_MAJOR_VERSION &&
187 !DumpSharedSpaces && !HAS_PENDING_EXCEPTION &&
  188         (exception_name == vmSymbols::java_lang_VerifyError() ||
  189          exception_name == vmSymbols::java_lang_ClassFormatError())) {


This logic is torturous.  Does the split verifier not set 
pending_exception, but sets the exception_name ?  Weird.

I kind of prefer the can_failover boolean better, adding 
!DumpSharedSpaces to that.

Coleen

On 6/18/19 3:06 PM, Harold Seigel wrote:
> Hi,
>
> Please review this JDK-14 fix to obsolete the 
> -XX+FailOverToOldVerifier option.
>
> Open Webrev: 
> http://cr.openjdk.java.net/~hseigel/bug_8226304/webrev/index.html
>
> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8226304
>
> The fix was tested by running with option FailOverToOldVerifier and 
> checking the output:
>
>     > java -XX:+FailOverToOldVerifier -version
>    Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option
>    FailOverToOldVerifier; support was removed in 14.0
>    java version "14-internal" 2020-03-17
>                ...
>
> It was regression tested by running Mach5 tiers 1 and 2 tests and 
> builds on Linux-x64, Solaris, Windows, and Mac OS X, by running Mach5 
> tiers 3-5 tests on Linux-x64, and JCK lang and VM tests on Linux-x64.
>
> Thanks, Harold
>



More information about the hotspot-runtime-dev mailing list