< 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 >