Index: runtime/vm/service.cc |
diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc |
index b6197457f009895304d7abc54918a42db62942d8..87be6ca5c64fef678b5de8c3f3f9919a0d533c7b 100644 |
--- a/runtime/vm/service.cc |
+++ b/runtime/vm/service.cc |
@@ -48,11 +48,8 @@ ServiceIdZone::~ServiceIdZone() { |
} |
-RingServiceIdZone::RingServiceIdZone( |
- ObjectIdRing* ring, ObjectIdRing::IdPolicy policy) |
- : ring_(ring), |
- policy_(policy) { |
- ASSERT(ring_ != NULL); |
+RingServiceIdZone::RingServiceIdZone() |
+ : ring_(NULL) { |
rmacnak
2015/08/18 21:09:00
policy_ uninitialized. Mac/Clang build will compla
Cutch
2015/08/18 21:50:18
Done.
|
} |
@@ -60,7 +57,15 @@ RingServiceIdZone::~RingServiceIdZone() { |
} |
+void RingServiceIdZone::Init( |
+ ObjectIdRing* ring, ObjectIdRing::IdPolicy policy) { |
+ ring_ = ring; |
+ policy_ = policy; |
+} |
+ |
+ |
char* RingServiceIdZone::GetServiceId(const Object& obj) { |
+ ASSERT(ring_ != NULL); |
Thread* thread = Thread::Current(); |
Zone* zone = thread->zone(); |
ASSERT(zone != NULL); |
@@ -1003,7 +1008,8 @@ static bool DumpIdZone(Isolate* isolate, JSONStream* js) { |
ObjectIdRing* ring = isolate->object_id_ring(); |
ASSERT(ring != NULL); |
// When printing the ObjectIdRing, force object id reuse policy. |
- RingServiceIdZone reuse_zone(ring, ObjectIdRing::kReuseId); |
+ RingServiceIdZone reuse_zone; |
+ reuse_zone.Init(ring, ObjectIdRing::kReuseId); |
js->set_id_zone(&reuse_zone); |
ring->PrintJSON(js); |
return true; |