--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Mon Jun 23 08:40:31 2014 +0200
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Mon Jun 23 04:44:02 2014 +0000
@@ -638,8 +638,11 @@
while (next != NULL) {
CompileTask* current = next;
next = current->next();
- // Wake up thread that blocks on the compile task.
- current->lock()->notify();
+ {
+ // Wake up thread that blocks on the compile task.
+ MutexLocker ct_lock(current->lock());
+ current->lock()->notify();
+ }
// Put the task back on the freelist.
CompileTask::free(current);
}