src/share/vm/classfile/systemDictionary.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/classfile/systemDictionary.cpp	Wed Dec  5 06:53:06 2012
--- new/src/share/vm/classfile/systemDictionary.cpp	Wed Dec  5 06:53:05 2012

*** 133,149 **** --- 133,155 ---- // Parallel class loading check bool SystemDictionary::is_parallelCapable(Handle class_loader) { if (UnsyncloadClass || class_loader.is_null()) return true; if (AlwaysLockClassLoader) return false; return java_lang_ClassLoader::parallelCapable(class_loader()); + // fullyConcurrent subsumes the parallelCapable test but + // maybe this should be inside java_lang_ClassLoader::parallelCapable? + return java_lang_ClassLoader::fullyConcurrent(class_loader()) || + java_lang_ClassLoader::parallelCapable(class_loader()); } // ---------------------------------------------------------------------------- // ParallelDefineClass flag does not apply to bootclass loader bool SystemDictionary::is_parallelDefine(Handle class_loader) { if (class_loader.is_null()) return false; ! if (AllowParallelDefineClass && java_lang_ClassLoader::parallelCapable(class_loader())) { ! if (java_lang_ClassLoader::fullyConcurrent(class_loader()) || + AllowParallelDefineClass && java_lang_ClassLoader::parallelCapable(class_loader())) { + if (TraceClassLoading) + tty->print_cr("Parallel define permitted for loader: %p", class_loader()); return true; } return false; } // ----------------------------------------------------------------------------

src/share/vm/classfile/systemDictionary.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File