equal
deleted
inserted
replaced
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; |