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