diff --git a/src/share/vm/classfile/systemDictionary.cpp b/src/share/vm/classfile/systemDictionary.cpp index ee311b6a85fc6ff7c10a582f09ba498a56edec77..f5c5c017dcd477181ebf53c89f323c47c0303767 100644 --- a/src/share/vm/classfile/systemDictionary.cpp +++ b/src/share/vm/classfile/systemDictionary.cpp @@ -1049,6 +1049,9 @@ Klass* SystemDictionary::parse_stream(Symbol* class_name, add_to_hierarchy(k, CHECK_NULL); // No exception, but can block // But, do not add to system dictionary. + + // compiled code dependencies need to be validated anyway + notice_modification(); } // Rewrite and patch constant pool here. diff --git a/src/share/vm/prims/jvmtiRedefineClasses.cpp b/src/share/vm/prims/jvmtiRedefineClasses.cpp index 1c3bbbfeed03e8e7a08227c6ef30fc219aa7da33..4a57b20569b51dfb55f133d0b6d40e27dba9d848 100644 --- a/src/share/vm/prims/jvmtiRedefineClasses.cpp +++ b/src/share/vm/prims/jvmtiRedefineClasses.cpp @@ -147,9 +147,6 @@ void VM_RedefineClasses::doit() { _scratch_classes[i] = NULL; } - // Disable any dependent concurrent compilations - SystemDictionary::notice_modification(); - // Set flag indicating that some invariants are no longer true. // See jvmtiExport.hpp for detailed explanation. JvmtiExport::set_has_redefined_a_class();