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