| Index: runtime/vm/scavenger.cc
|
| diff --git a/runtime/vm/scavenger.cc b/runtime/vm/scavenger.cc
|
| index e113cd9ba2e9fbe5aff7d7c467d02a69d7d44ca2..c6a3e3e7aa566f3c6b7a03cefd48368abf797b86 100644
|
| --- a/runtime/vm/scavenger.cc
|
| +++ b/runtime/vm/scavenger.cc
|
| @@ -836,12 +836,23 @@ void Scavenger::WriteProtect(bool read_only) {
|
|
|
|
|
| void Scavenger::PrintToJSONObject(JSONObject* object) {
|
| + Isolate* isolate = Isolate::Current();
|
| + ASSERT(isolate != NULL);
|
| JSONObject space(object, "new");
|
| space.AddProperty("type", "Scavenger");
|
| space.AddProperty("id", "heaps/new");
|
| space.AddProperty("name", "Scavenger");
|
| space.AddProperty("user_name", "new");
|
| space.AddProperty("collections", collections());
|
| + {
|
| + int64_t run_time = OS::GetCurrentTimeMicros() - isolate->start_time();
|
| + run_time = Utils::Maximum(run_time, static_cast<int64_t>(0));
|
| + double run_time_millis = MicrosecondsToMilliseconds(run_time);
|
| + double avg_time_between_collections =
|
| + run_time_millis / static_cast<double>(collections());
|
| + space.AddProperty("avgCollectionPeriodMillis",
|
| + avg_time_between_collections);
|
| + }
|
| space.AddProperty("used", UsedInWords() * kWordSize);
|
| space.AddProperty("capacity", CapacityInWords() * kWordSize);
|
| space.AddProperty("external", ExternalInWords() * kWordSize);
|
|
|