--- old/src/share/vm/compiler/compileBroker.cpp 2016-03-23 15:56:33.887961930 +0100 +++ new/src/share/vm/compiler/compileBroker.cpp 2016-03-23 15:56:33.768956881 +0100 @@ -32,7 +32,6 @@ #include "compiler/compileLog.hpp" #include "compiler/compilerOracle.hpp" #include "compiler/directivesParser.hpp" -#include "gc/shared/referencePendingListLocker.hpp" #include "interpreter/linkResolver.hpp" #include "memory/allocation.inline.hpp" #include "oops/methodData.hpp" @@ -901,15 +900,6 @@ return; } - // If the requesting thread is holding the pending list lock - // then we just return. We can't risk blocking while holding - // the pending list lock or a 3-way deadlock may occur - // between the reference handler thread, a GC (instigated - // by a compiler thread), and compiled method registration. - if (ReferencePendingListLocker::is_locked_by_self()) { - return; - } - if (TieredCompilation) { // Tiered policy requires MethodCounters to exist before adding a method to // the queue. Create if we don't have them yet. @@ -1311,7 +1301,6 @@ * has been fulfilled? */ bool CompileBroker::is_compile_blocking() { - assert(!ReferencePendingListLocker::is_locked_by_self(), "possible deadlock"); return !BackgroundCompilation; }