| Index: runtime/vm/thread_registry.cc
|
| diff --git a/runtime/vm/thread_registry.cc b/runtime/vm/thread_registry.cc
|
| index c660843c1eac3bd892de539293114b2dae1632c6..eb39501bc0db930332b1975252287f3673306a72 100644
|
| --- a/runtime/vm/thread_registry.cc
|
| +++ b/runtime/vm/thread_registry.cc
|
| @@ -5,6 +5,7 @@
|
| #include "vm/thread_registry.h"
|
|
|
| #include "vm/isolate.h"
|
| +#include "vm/json_stream.h"
|
| #include "vm/lockers.h"
|
|
|
| namespace dart {
|
| @@ -91,6 +92,19 @@ void ThreadRegistry::PrepareForGC() {
|
| }
|
|
|
|
|
| +#ifndef PRODUCT
|
| +void ThreadRegistry::PrintJSON(JSONStream* stream) const {
|
| + MonitorLocker ml(threads_lock());
|
| + JSONArray threads(stream);
|
| + Thread* current = active_list_;
|
| + while (current != NULL) {
|
| + threads.AddValue(current);
|
| + current = current->next_;
|
| + }
|
| +}
|
| +#endif
|
| +
|
| +
|
| void ThreadRegistry::AddToActiveListLocked(Thread* thread) {
|
| ASSERT(thread != NULL);
|
| ASSERT(threads_lock()->IsOwnedByCurrentThread());
|
|
|