hotspot/src/share/vm/compiler/compileBroker.cpp
changeset 37179 4dbcb3a642d2
parent 36597 ee256e343585
parent 37161 e881f320966e
child 37237 7e5787f48bae
equal deleted inserted replaced
36617:390e8993b88e 37179:4dbcb3a642d2
    30 #include "code/dependencyContext.hpp"
    30 #include "code/dependencyContext.hpp"
    31 #include "compiler/compileBroker.hpp"
    31 #include "compiler/compileBroker.hpp"
    32 #include "compiler/compileLog.hpp"
    32 #include "compiler/compileLog.hpp"
    33 #include "compiler/compilerOracle.hpp"
    33 #include "compiler/compilerOracle.hpp"
    34 #include "compiler/directivesParser.hpp"
    34 #include "compiler/directivesParser.hpp"
       
    35 #include "gc/shared/referencePendingListLocker.hpp"
    35 #include "interpreter/linkResolver.hpp"
    36 #include "interpreter/linkResolver.hpp"
    36 #include "memory/allocation.inline.hpp"
    37 #include "memory/allocation.inline.hpp"
    37 #include "oops/methodData.hpp"
    38 #include "oops/methodData.hpp"
    38 #include "oops/method.hpp"
    39 #include "oops/method.hpp"
    39 #include "oops/oop.inline.hpp"
    40 #include "oops/oop.inline.hpp"
    46 #include "runtime/interfaceSupport.hpp"
    47 #include "runtime/interfaceSupport.hpp"
    47 #include "runtime/javaCalls.hpp"
    48 #include "runtime/javaCalls.hpp"
    48 #include "runtime/os.hpp"
    49 #include "runtime/os.hpp"
    49 #include "runtime/sharedRuntime.hpp"
    50 #include "runtime/sharedRuntime.hpp"
    50 #include "runtime/sweeper.hpp"
    51 #include "runtime/sweeper.hpp"
       
    52 #include "runtime/timerTrace.hpp"
    51 #include "trace/tracing.hpp"
    53 #include "trace/tracing.hpp"
    52 #include "utilities/dtrace.hpp"
    54 #include "utilities/dtrace.hpp"
    53 #include "utilities/events.hpp"
    55 #include "utilities/events.hpp"
    54 #ifdef COMPILER1
    56 #ifdef COMPILER1
    55 #include "c1/c1_Compiler.hpp"
    57 #include "c1/c1_Compiler.hpp"
   898   // If the requesting thread is holding the pending list lock
   900   // If the requesting thread is holding the pending list lock
   899   // then we just return. We can't risk blocking while holding
   901   // then we just return. We can't risk blocking while holding
   900   // the pending list lock or a 3-way deadlock may occur
   902   // the pending list lock or a 3-way deadlock may occur
   901   // between the reference handler thread, a GC (instigated
   903   // between the reference handler thread, a GC (instigated
   902   // by a compiler thread), and compiled method registration.
   904   // by a compiler thread), and compiled method registration.
   903   if (InstanceRefKlass::owns_pending_list_lock(JavaThread::current())) {
   905   if (ReferencePendingListLocker::is_locked_by_self()) {
   904     return;
   906     return;
   905   }
   907   }
   906 
   908 
   907   if (TieredCompilation) {
   909   if (TieredCompilation) {
   908     // Tiered policy requires MethodCounters to exist before adding a method to
   910     // Tiered policy requires MethodCounters to exist before adding a method to