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 Tue Jan 8 05:02:13 2013
--- new/src/share/vm/classfile/systemDictionary.cpp Tue Jan 8 05:02:11 2013
*** 1,7 ****
--- 1,7 ----
/*
! * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 133,149 ****
--- 133,154 ----
// 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
+ 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: " PTR_FORMAT, 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