Chromium Code Reviews| Index: runtime/vm/heap.cc |
| diff --git a/runtime/vm/heap.cc b/runtime/vm/heap.cc |
| index 8f6633ca93e5c6e7ab1f5369cf0b6b2ee52b28a7..bcce09e005fdd34922a58d47349f2d31ab9cb8bf 100644 |
| --- a/runtime/vm/heap.cc |
| +++ b/runtime/vm/heap.cc |
| @@ -173,6 +173,7 @@ void Heap::CollectGarbage(Space space, ApiCallbacks api_callbacks) { |
| case kCode: { |
| bool promotion_failure = new_space_->HadPromotionFailure(); |
| RecordBeforeGC(kOld, promotion_failure ? kPromotionFailure : kOldSpace); |
| + UpdateClassStats(); |
|
Ivan Posva
2013/12/12 13:53:24
Why isn't this being done as part of new collectio
Cutch
2013/12/13 01:31:09
Agreed. Let's discuss this Friday morning.
|
| old_space_->MarkSweep(invoke_api_callbacks); |
| RecordAfterGC(); |
| PrintStats(); |
| @@ -192,6 +193,13 @@ void Heap::UpdateObjectHistogram() { |
| } |
| +void Heap::UpdateClassStats() { |
| + Isolate* isolate = Isolate::Current(); |
| + ClassTable* class_table = isolate->class_table(); |
| + class_table->Collect(); |
| +} |
| + |
| + |
| void Heap::CollectGarbage(Space space) { |
| ApiCallbacks api_callbacks; |
| if (space == kOld) { |
| @@ -205,6 +213,7 @@ void Heap::CollectGarbage(Space space) { |
| void Heap::CollectAllGarbage() { |
| RecordBeforeGC(kNew, kFull); |
| + UpdateClassStats(); |
| new_space_->Scavenge(kInvokeApiCallbacks); |
| RecordAfterGC(); |
| PrintStats(); |