Chromium Code Reviews| Index: runtime/vm/service.cc |
| diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc |
| index de3f48d391d19764e521a7bacc6b9e1edca8588a..8b8ff42c92a09618cceb8d1abda4f5ad53699c54 100644 |
| --- a/runtime/vm/service.cc |
| +++ b/runtime/vm/service.cc |
| @@ -2594,11 +2594,24 @@ static bool GetObjectByAddress(Isolate* isolate, JSONStream* js) { |
| ContainsAddressVisitor visitor(isolate, addr); |
| object = isolate->heap()->FindObject(&visitor); |
| } |
| - if (object.IsNull()) { |
| - PrintSentinel(js, kFreeSentinel); |
| - } else { |
| + |
| + if (!object.IsNull()) { |
| + object.PrintJSON(js, ref); |
| + return true; |
| + } |
| + |
| + { |
| + NoSafepointScope no_safepoint; |
| + ContainsAddressVisitor visitor(Dart::vm_isolate(), addr); |
| + object = Dart::vm_isolate()->heap()->FindObject(&visitor); |
|
Cutch
2015/07/23 23:59:25
Maybe refactor the FindObject calls into a helper:
rmacnak
2015/07/24 00:17:45
Done.
|
| + } |
| + |
| + if (!object.IsNull()) { |
| object.PrintJSON(js, ref); |
| + return true; |
| } |
| + |
| + PrintSentinel(js, kFreeSentinel); |
| return true; |
| } |