< prev index next >
src/share/vm/compiler/compileBroker.cpp
Print this page
rev 11747 : [mq]: per.hotspot.patch
*** 30,40 ****
#include "code/dependencyContext.hpp"
#include "compiler/compileBroker.hpp"
#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 "memory/resourceArea.hpp"
#include "oops/methodData.hpp"
#include "oops/method.hpp"
--- 30,39 ----
*** 891,909 ****
// for freeing the associated compile tasks. [Or we could have
// a single static monitor on which all these waiters sleep.]
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.
method->get_method_counters(thread);
}
--- 890,899 ----
< prev index next >