hotspot/src/share/vm/oops/method.cpp
changeset 37179 4dbcb3a642d2
parent 36615 c744e3b0f8c5
parent 37155 f00f299cb386
child 37248 11a660dbbb8e
equal deleted inserted replaced
36617:390e8993b88e 37179:4dbcb3a642d2
    28 #include "code/codeCache.hpp"
    28 #include "code/codeCache.hpp"
    29 #include "code/debugInfoRec.hpp"
    29 #include "code/debugInfoRec.hpp"
    30 #include "gc/shared/collectedHeap.inline.hpp"
    30 #include "gc/shared/collectedHeap.inline.hpp"
    31 #include "gc/shared/gcLocker.hpp"
    31 #include "gc/shared/gcLocker.hpp"
    32 #include "gc/shared/generation.hpp"
    32 #include "gc/shared/generation.hpp"
       
    33 #include "gc/shared/referencePendingListLocker.hpp"
    33 #include "interpreter/bytecodeStream.hpp"
    34 #include "interpreter/bytecodeStream.hpp"
    34 #include "interpreter/bytecodeTracer.hpp"
    35 #include "interpreter/bytecodeTracer.hpp"
    35 #include "interpreter/bytecodes.hpp"
    36 #include "interpreter/bytecodes.hpp"
    36 #include "interpreter/interpreter.hpp"
    37 #include "interpreter/interpreter.hpp"
    37 #include "interpreter/oopMapCache.hpp"
    38 #include "interpreter/oopMapCache.hpp"
   372     return;
   373     return;
   373   }
   374   }
   374 
   375 
   375   // Do not profile method if current thread holds the pending list lock,
   376   // Do not profile method if current thread holds the pending list lock,
   376   // which avoids deadlock for acquiring the MethodData_lock.
   377   // which avoids deadlock for acquiring the MethodData_lock.
   377   if (InstanceRefKlass::owns_pending_list_lock((JavaThread*)THREAD)) {
   378   if (ReferencePendingListLocker::is_locked_by_self()) {
   378     return;
   379     return;
   379   }
   380   }
   380 
   381 
   381   // Grab a lock here to prevent multiple
   382   // Grab a lock here to prevent multiple
   382   // MethodData*s from being created.
   383   // MethodData*s from being created.