hotspot/src/share/vm/services/threadService.cpp
changeset 13195 be27e1b6a4b9
parent 11420 22ec1bad0dce
child 13728 882756847a04
equal deleted inserted replaced
13099:64752e56d721 13195:be27e1b6a4b9
   435   if (with_lock_info) {
   435   if (with_lock_info) {
   436     ResourceMark rm;
   436     ResourceMark rm;
   437     GrowableArray<MonitorInfo*>* list = jvf->locked_monitors();
   437     GrowableArray<MonitorInfo*>* list = jvf->locked_monitors();
   438     int length = list->length();
   438     int length = list->length();
   439     if (length > 0) {
   439     if (length > 0) {
   440       _locked_monitors = new (ResourceObj::C_HEAP) GrowableArray<oop>(length, true);
   440       _locked_monitors = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<oop>(length, true);
   441       for (int i = 0; i < length; i++) {
   441       for (int i = 0; i < length; i++) {
   442         MonitorInfo* monitor = list->at(i);
   442         MonitorInfo* monitor = list->at(i);
   443         assert(monitor->owner(), "This monitor must have an owning object");
   443         assert(monitor->owner(), "This monitor must have an owning object");
   444         _locked_monitors->append(monitor->owner());
   444         _locked_monitors->append(monitor->owner());
   445       }
   445       }
   489   }
   489   }
   490 };
   490 };
   491 
   491 
   492 ThreadStackTrace::ThreadStackTrace(JavaThread* t, bool with_locked_monitors) {
   492 ThreadStackTrace::ThreadStackTrace(JavaThread* t, bool with_locked_monitors) {
   493   _thread = t;
   493   _thread = t;
   494   _frames = new (ResourceObj::C_HEAP) GrowableArray<StackFrameInfo*>(INITIAL_ARRAY_SIZE, true);
   494   _frames = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<StackFrameInfo*>(INITIAL_ARRAY_SIZE, true);
   495   _depth = 0;
   495   _depth = 0;
   496   _with_locked_monitors = with_locked_monitors;
   496   _with_locked_monitors = with_locked_monitors;
   497   if (_with_locked_monitors) {
   497   if (_with_locked_monitors) {
   498     _jni_locked_monitors = new (ResourceObj::C_HEAP) GrowableArray<oop>(INITIAL_ARRAY_SIZE, true);
   498     _jni_locked_monitors = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<oop>(INITIAL_ARRAY_SIZE, true);
   499   } else {
   499   } else {
   500     _jni_locked_monitors = NULL;
   500     _jni_locked_monitors = NULL;
   501   }
   501   }
   502 }
   502 }
   503 
   503 
   687   st->cr();
   687   st->cr();
   688 }
   688 }
   689 
   689 
   690 ThreadConcurrentLocks::ThreadConcurrentLocks(JavaThread* thread) {
   690 ThreadConcurrentLocks::ThreadConcurrentLocks(JavaThread* thread) {
   691   _thread = thread;
   691   _thread = thread;
   692   _owned_locks = new (ResourceObj::C_HEAP) GrowableArray<instanceOop>(INITIAL_ARRAY_SIZE, true);
   692   _owned_locks = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<instanceOop>(INITIAL_ARRAY_SIZE, true);
   693   _next = NULL;
   693   _next = NULL;
   694 }
   694 }
   695 
   695 
   696 ThreadConcurrentLocks::~ThreadConcurrentLocks() {
   696 ThreadConcurrentLocks::~ThreadConcurrentLocks() {
   697   delete _owned_locks;
   697   delete _owned_locks;
   801   }
   801   }
   802 }
   802 }
   803 
   803 
   804 DeadlockCycle::DeadlockCycle() {
   804 DeadlockCycle::DeadlockCycle() {
   805   _is_deadlock = false;
   805   _is_deadlock = false;
   806   _threads = new (ResourceObj::C_HEAP) GrowableArray<JavaThread*>(INITIAL_ARRAY_SIZE, true);
   806   _threads = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<JavaThread*>(INITIAL_ARRAY_SIZE, true);
   807   _next = NULL;
   807   _next = NULL;
   808 }
   808 }
   809 
   809 
   810 DeadlockCycle::~DeadlockCycle() {
   810 DeadlockCycle::~DeadlockCycle() {
   811   delete _threads;
   811   delete _threads;