| Index: runtime/vm/heap.cc
|
| diff --git a/runtime/vm/heap.cc b/runtime/vm/heap.cc
|
| index 8f6633ca93e5c6e7ab1f5369cf0b6b2ee52b28a7..acc941916350f096314ecd11402b4e46b24aa41c 100644
|
| --- a/runtime/vm/heap.cc
|
| +++ b/runtime/vm/heap.cc
|
| @@ -7,6 +7,7 @@
|
| #include "platform/assert.h"
|
| #include "platform/utils.h"
|
| #include "vm/flags.h"
|
| +#include "vm/heap_class_stats.h"
|
| #include "vm/heap_histogram.h"
|
| #include "vm/heap_profiler.h"
|
| #include "vm/isolate.h"
|
| @@ -177,6 +178,7 @@ void Heap::CollectGarbage(Space space, ApiCallbacks api_callbacks) {
|
| RecordAfterGC();
|
| PrintStats();
|
| UpdateObjectHistogram();
|
| + UpdateHeapClassStats();
|
| break;
|
| }
|
| default:
|
| @@ -192,6 +194,15 @@ void Heap::UpdateObjectHistogram() {
|
| }
|
|
|
|
|
| +void Heap::UpdateHeapClassStats() {
|
| + Isolate* isolate = Isolate::Current();
|
| + if (isolate->heap_class_stats() == NULL) {
|
| + return;
|
| + }
|
| + isolate->heap_class_stats()->Collect();
|
| +}
|
| +
|
| +
|
| void Heap::CollectGarbage(Space space) {
|
| ApiCallbacks api_callbacks;
|
| if (space == kOld) {
|
| @@ -213,6 +224,7 @@ void Heap::CollectAllGarbage() {
|
| RecordAfterGC();
|
| PrintStats();
|
| UpdateObjectHistogram();
|
| + UpdateHeapClassStats();
|
| }
|
|
|
|
|
|
|