| Index: runtime/vm/heap.cc
|
| ===================================================================
|
| --- runtime/vm/heap.cc (revision 34740)
|
| +++ runtime/vm/heap.cc (working copy)
|
| @@ -214,8 +214,6 @@
|
| new_space_->Scavenge(invoke_api_callbacks);
|
| RecordAfterGC();
|
| PrintStats();
|
| - // TODO(koda): Replace promotion failure tracking with
|
| - // old_space_->NeedsGarbageCollection.
|
| if (new_space_->HadPromotionFailure() || old_space_->NeedExternalGC()) {
|
| // Old collections should call the API callbacks.
|
| CollectGarbage(kOld, kInvokeApiCallbacks);
|
| @@ -469,8 +467,12 @@
|
| stats_.space_ = space;
|
| stats_.reason_ = reason;
|
| stats_.before_.micros_ = OS::GetCurrentTimeMicros();
|
| - stats_.before_.new_ = new_space_->GetCurrentUsage();
|
| - stats_.before_.old_ = old_space_->GetCurrentUsage();
|
| + stats_.before_.new_used_in_words_ = new_space_->UsedInWords();
|
| + stats_.before_.new_capacity_in_words_ = new_space_->CapacityInWords();
|
| + stats_.before_.new_external_in_words_ = new_space_->ExternalInWords();
|
| + stats_.before_.old_used_in_words_ = old_space_->UsedInWords();
|
| + stats_.before_.old_capacity_in_words_ = old_space_->CapacityInWords();
|
| + stats_.before_.old_external_in_words_ = old_space_->ExternalInWords();
|
| stats_.times_[0] = 0;
|
| stats_.times_[1] = 0;
|
| stats_.times_[2] = 0;
|
| @@ -492,8 +494,12 @@
|
| old_space_->AddGCTime(delta);
|
| old_space_->IncrementCollections();
|
| }
|
| - stats_.after_.new_ = new_space_->GetCurrentUsage();
|
| - stats_.after_.old_ = old_space_->GetCurrentUsage();
|
| + stats_.after_.new_used_in_words_ = new_space_->UsedInWords();
|
| + stats_.after_.new_capacity_in_words_ = new_space_->CapacityInWords();
|
| + stats_.after_.new_external_in_words_ = new_space_->ExternalInWords();
|
| + stats_.after_.old_used_in_words_ = old_space_->UsedInWords();
|
| + stats_.after_.old_capacity_in_words_ = old_space_->CapacityInWords();
|
| + stats_.after_.old_external_in_words_ = old_space_->ExternalInWords();
|
| ASSERT(gc_in_progress_);
|
| gc_in_progress_ = false;
|
| }
|
| @@ -531,18 +537,18 @@
|
| MicrosecondsToSeconds(stats_.before_.micros_ - isolate->start_time()),
|
| MicrosecondsToMilliseconds(stats_.after_.micros_ -
|
| stats_.before_.micros_),
|
| - RoundWordsToKB(stats_.before_.new_.used_in_words),
|
| - RoundWordsToKB(stats_.after_.new_.used_in_words),
|
| - RoundWordsToKB(stats_.before_.new_.capacity_in_words),
|
| - RoundWordsToKB(stats_.after_.new_.capacity_in_words),
|
| - RoundWordsToKB(stats_.before_.new_.external_in_words),
|
| - RoundWordsToKB(stats_.after_.new_.external_in_words),
|
| - RoundWordsToKB(stats_.before_.old_.used_in_words),
|
| - RoundWordsToKB(stats_.after_.old_.used_in_words),
|
| - RoundWordsToKB(stats_.before_.old_.capacity_in_words),
|
| - RoundWordsToKB(stats_.after_.old_.capacity_in_words),
|
| - RoundWordsToKB(stats_.before_.old_.external_in_words),
|
| - RoundWordsToKB(stats_.after_.old_.external_in_words),
|
| + RoundWordsToKB(stats_.before_.new_used_in_words_),
|
| + RoundWordsToKB(stats_.after_.new_used_in_words_),
|
| + RoundWordsToKB(stats_.before_.new_capacity_in_words_),
|
| + RoundWordsToKB(stats_.after_.new_capacity_in_words_),
|
| + RoundWordsToKB(stats_.before_.new_external_in_words_),
|
| + RoundWordsToKB(stats_.after_.new_external_in_words_),
|
| + RoundWordsToKB(stats_.before_.old_used_in_words_),
|
| + RoundWordsToKB(stats_.after_.old_used_in_words_),
|
| + RoundWordsToKB(stats_.before_.old_capacity_in_words_),
|
| + RoundWordsToKB(stats_.after_.old_capacity_in_words_),
|
| + RoundWordsToKB(stats_.before_.old_external_in_words_),
|
| + RoundWordsToKB(stats_.after_.old_external_in_words_),
|
| MicrosecondsToMilliseconds(stats_.times_[0]),
|
| MicrosecondsToMilliseconds(stats_.times_[1]),
|
| MicrosecondsToMilliseconds(stats_.times_[2]),
|
|
|