-
Enhancement
-
Resolution: Fixed
-
P4
-
17
-
b06
Loading from the bootclass path (class_loader == NULL) doesn't actually take the confusingly-named system_loader_lock_obj, because if the class loader is NULL. ie. it is parallelCapable:
// Classloaders that support parallelism, e.g. bootstrap classloader,
// do not acquire lock here
bool DoObjectLock = true;
if (is_parallelCapable(class_loader)) {
DoObjectLock = false;
}
This CR is to streamline the code that doesn't take out the system_loader_lock_obj.
The only code that uses the system_loader_lock_obj is bootclasspath append code which shouldn't take out an object lock.
// Classloaders that support parallelism, e.g. bootstrap classloader,
// do not acquire lock here
bool DoObjectLock = true;
if (is_parallelCapable(class_loader)) {
DoObjectLock = false;
}
This CR is to streamline the code that doesn't take out the system_loader_lock_obj.
The only code that uses the system_loader_lock_obj is bootclasspath append code which shouldn't take out an object lock.
- relates to
-
JDK-8259067 bootclasspath append takes out object lock
-
- Resolved
-