| Index: runtime/vm/service.cc
|
| diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
|
| index c456fee51e9516a6f5088e970b5e4f7e47cf6322..97c0949e3c3f8a2d6526cf4e504d5d67c740be76 100644
|
| --- a/runtime/vm/service.cc
|
| +++ b/runtime/vm/service.cc
|
| @@ -40,6 +40,7 @@
|
| #include "vm/type_table.h"
|
| #include "vm/unicode.h"
|
| #include "vm/version.h"
|
| +#include "vm/kernel_isolate.h"
|
|
|
| namespace dart {
|
|
|
| @@ -61,6 +62,8 @@ DEFINE_FLAG(bool,
|
| "Print a message when an isolate is paused but there is no "
|
| "debugger attached.");
|
|
|
| +DECLARE_FLAG(bool, show_kernel_isolate);
|
| +
|
| #ifndef PRODUCT
|
| // The name of this of this vm as reported by the VM service protocol.
|
| static char* vm_name = NULL;
|
| @@ -3782,7 +3785,12 @@ class ServiceIsolateVisitor : public IsolateVisitor {
|
| virtual ~ServiceIsolateVisitor() {}
|
|
|
| void VisitIsolate(Isolate* isolate) {
|
| - if (!IsVMInternalIsolate(isolate)) {
|
| + bool is_kernel_isolate = false;
|
| +#ifndef DART_PRECOMPILED_RUNTIME
|
| + is_kernel_isolate =
|
| + KernelIsolate::IsKernelIsolate(isolate) && !FLAG_show_kernel_isolate;
|
| +#endif
|
| + if (!IsVMInternalIsolate(isolate) && !is_kernel_isolate) {
|
| jsarr_->AddValue(isolate);
|
| }
|
| }
|
|
|