Index: runtime/vm/thread_registry.cc |
diff --git a/runtime/vm/thread_registry.cc b/runtime/vm/thread_registry.cc |
index 4694cc06a8771c7590f5e378d8bb171aefb851f3..1483b131ec656200fca367f46a2028489d1b0baa 100644 |
--- a/runtime/vm/thread_registry.cc |
+++ b/runtime/vm/thread_registry.cc |
@@ -170,6 +170,7 @@ Thread* ThreadRegistry::GetFromFreelistLocked(Isolate* isolate) { |
return thread; |
} |
+ |
void ThreadRegistry::ReturnToFreelistLocked(Thread* thread) { |
ASSERT(thread != NULL); |
ASSERT(thread->os_thread_ == NULL); |
@@ -181,4 +182,16 @@ void ThreadRegistry::ReturnToFreelistLocked(Thread* thread) { |
free_list_ = thread; |
} |
+ |
+uint ThreadRegistry::ThreadHighWatermarksTotalLocked() const { |
+ ASSERT(threads_lock()->IsOwnedByCurrentThread()); |
+ uint memory_high_watermarks_total = 0; |
+ Thread* current = active_list_; |
+ while (current != NULL) { |
+ memory_high_watermarks_total += current->memory_high_watermark(); |
+ current = current->next_; |
+ } |
+ return memory_high_watermarks_total; |
siva
2017/01/21 00:30:51
Why is it necessary to sum up the high water marks
|
+} |
+ |
} // namespace dart |