comparison src/share/vm/classfile/verifier.cpp @ 1562:dfe27f03244a

Merge
author trims
date Tue, 01 Jun 2010 11:48:33 -0700
parents c18cbe5936b8 e40a3601bc1f
children e9ff18c4ace7
comparison
equal deleted inserted replaced
1553:573e8ea5fd68 1562:dfe27f03244a
23 */ 23 */
24 24
25 # include "incls/_precompiled.incl" 25 # include "incls/_precompiled.incl"
26 # include "incls/_verifier.cpp.incl" 26 # include "incls/_verifier.cpp.incl"
27 27
28 #define NOFAILOVER_MAJOR_VERSION 51
29
28 // Access to external entry for VerifyClassCodes - old byte code verifier 30 // Access to external entry for VerifyClassCodes - old byte code verifier
29 31
30 extern "C" { 32 extern "C" {
31 typedef jboolean (*verify_byte_codes_fn_t)(JNIEnv *, jclass, char *, jint); 33 typedef jboolean (*verify_byte_codes_fn_t)(JNIEnv *, jclass, char *, jint);
32 typedef jboolean (*verify_byte_codes_fn_new_t)(JNIEnv *, jclass, char *, jint, jint); 34 typedef jboolean (*verify_byte_codes_fn_new_t)(JNIEnv *, jclass, char *, jint, jint);
89 klass->major_version() >= STACKMAP_ATTRIBUTE_MAJOR_VERSION) { 91 klass->major_version() >= STACKMAP_ATTRIBUTE_MAJOR_VERSION) {
90 ClassVerifier split_verifier( 92 ClassVerifier split_verifier(
91 klass, message_buffer, message_buffer_len, THREAD); 93 klass, message_buffer, message_buffer_len, THREAD);
92 split_verifier.verify_class(THREAD); 94 split_verifier.verify_class(THREAD);
93 exception_name = split_verifier.result(); 95 exception_name = split_verifier.result();
94 if (FailOverToOldVerifier && !HAS_PENDING_EXCEPTION && 96 if (klass->major_version() < NOFAILOVER_MAJOR_VERSION &&
97 FailOverToOldVerifier && !HAS_PENDING_EXCEPTION &&
95 (exception_name == vmSymbols::java_lang_VerifyError() || 98 (exception_name == vmSymbols::java_lang_VerifyError() ||
96 exception_name == vmSymbols::java_lang_ClassFormatError())) { 99 exception_name == vmSymbols::java_lang_ClassFormatError())) {
97 if (TraceClassInitialization) { 100 if (TraceClassInitialization) {
98 tty->print_cr( 101 tty->print_cr(
99 "Fail over class verification to old verifier for: %s", klassName); 102 "Fail over class verification to old verifier for: %s", klassName);