# HG changeset patch # User hseigel # Date 1386348590 18000 # Node ID a150ff9e8efc374db16aa86ef4a16b35b991efe9 # Parent 769557390c4399e147d9e6f0d10cc137e7f1b470# Parent c586f8a7322f3d224d6ec75029fa306eecaa707a Merge diff -r c586f8a7322f -r a150ff9e8efc src/share/vm/interpreter/linkResolver.cpp --- a/src/share/vm/interpreter/linkResolver.cpp Thu Dec 05 12:35:38 2013 +0100 +++ b/src/share/vm/interpreter/linkResolver.cpp Fri Dec 06 11:49:50 2013 -0500 @@ -943,8 +943,17 @@ Klass *klass_to_check = !InstanceKlass::cast(current_klass())->is_anonymous() ? current_klass() : InstanceKlass::cast(current_klass())->host_klass(); + // As of the fix for 4486457 we disable verification for all of the + // dynamically-generated bytecodes associated with the 1.4 + // reflection implementation, not just those associated with + // sun/reflect/SerializationConstructorAccessor. + bool is_reflect = JDK_Version::is_gte_jdk14x_version() && + UseNewReflection && + klass_to_check->is_subclass_of( + SystemDictionary::reflect_MagicAccessorImpl_klass()); - if (!InstanceKlass::cast(klass_to_check)->is_same_or_direct_interface(resolved_klass())) { + if (!is_reflect && + !InstanceKlass::cast(klass_to_check)->is_same_or_direct_interface(resolved_klass())) { ResourceMark rm(THREAD); char buf[200]; jio_snprintf(buf, sizeof(buf),