Index: runtime/vm/heap.cc |
=================================================================== |
--- runtime/vm/heap.cc (revision 30304) |
+++ runtime/vm/heap.cc (working copy) |
@@ -44,9 +44,9 @@ |
old_weak_tables_[sel] = new WeakTable(); |
} |
new_space_ = new Scavenger(this, |
- (FLAG_new_gen_heap_size * MB), |
+ (FLAG_new_gen_heap_size * MBInWords), |
kNewObjectAlignmentOffset); |
- old_space_ = new PageSpace(this, (FLAG_old_gen_heap_size * MB)); |
+ old_space_ = new PageSpace(this, (FLAG_old_gen_heap_size * MBInWords)); |
stats_.num_ = 0; |
} |
@@ -251,9 +251,9 @@ |
void Heap::StartEndAddress(uword* start, uword* end) const { |
- ASSERT(new_space_->capacity() != 0); |
+ ASSERT(new_space_->CapacityInWords() != 0); |
new_space_->StartEndAddress(start, end); |
- if (old_space_->capacity() != 0) { |
+ if (old_space_->CapacityInWords() != 0) { |
uword old_start; |
uword old_end; |
old_space_->StartEndAddress(&old_start, &old_end); |
@@ -298,18 +298,21 @@ |
void Heap::PrintSizes() const { |
OS::PrintErr("New space (%" Pd "k of %" Pd "k) " |
"Old space (%" Pd "k of %" Pd "k)\n", |
- (Used(kNew) / KB), (Capacity(kNew) / KB), |
- (Used(kOld) / KB), (Capacity(kOld) / KB)); |
+ (UsedInWords(kNew) / KBInWords), |
+ (CapacityInWords(kNew) / KBInWords), |
+ (UsedInWords(kOld) / KBInWords), |
+ (CapacityInWords(kOld) / KBInWords)); |
} |
-intptr_t Heap::Used(Space space) const { |
- return space == kNew ? new_space_->in_use() : old_space_->in_use(); |
+intptr_t Heap::UsedInWords(Space space) const { |
+ return space == kNew ? new_space_->UsedInWords() : old_space_->UsedInWords(); |
} |
-intptr_t Heap::Capacity(Space space) const { |
- return space == kNew ? new_space_->capacity() : old_space_->capacity(); |
+intptr_t Heap::CapacityInWords(Space space) const { |
+ return space == kNew ? new_space_->CapacityInWords() : |
+ old_space_->CapacityInWords(); |
} |
@@ -410,10 +413,10 @@ |
stats_.space_ = space; |
stats_.reason_ = reason; |
stats_.before_.micros_ = OS::GetCurrentTimeMicros(); |
- stats_.before_.new_used_ = new_space_->in_use(); |
- stats_.before_.new_capacity_ = new_space_->capacity(); |
- stats_.before_.old_used_ = old_space_->in_use(); |
- stats_.before_.old_capacity_ = old_space_->capacity(); |
+ stats_.before_.new_used_in_words_ = new_space_->UsedInWords(); |
+ stats_.before_.new_capacity_in_words_ = new_space_->CapacityInWords(); |
+ stats_.before_.old_used_in_words_ = old_space_->UsedInWords(); |
+ stats_.before_.old_capacity_in_words_ = old_space_->CapacityInWords(); |
stats_.times_[0] = 0; |
stats_.times_[1] = 0; |
stats_.times_[2] = 0; |
@@ -427,32 +430,15 @@ |
void Heap::RecordAfterGC() { |
stats_.after_.micros_ = OS::GetCurrentTimeMicros(); |
- stats_.after_.new_used_ = new_space_->in_use(); |
- stats_.after_.new_capacity_ = new_space_->capacity(); |
- stats_.after_.old_used_ = old_space_->in_use(); |
- stats_.after_.old_capacity_ = old_space_->capacity(); |
+ stats_.after_.new_used_in_words_ = new_space_->UsedInWords(); |
+ stats_.after_.new_capacity_in_words_ = new_space_->CapacityInWords(); |
+ stats_.after_.old_used_in_words_ = old_space_->UsedInWords(); |
+ stats_.after_.old_capacity_in_words_ = old_space_->CapacityInWords(); |
ASSERT(gc_in_progress_); |
gc_in_progress_ = false; |
} |
-static intptr_t RoundToKB(intptr_t memory_size) { |
- return (memory_size + (KB >> 1)) >> KBLog2; |
-} |
- |
- |
-static double RoundToSecs(int64_t micros) { |
- const int k1M = 1000000; // Converting us to secs. |
- return static_cast<double>(micros + (k1M / 2)) / k1M; |
-} |
- |
- |
-static double RoundToMillis(int64_t micros) { |
- const int k1K = 1000; // Conversting us to ms. |
- return static_cast<double>(micros + (k1K / 2)) / k1K; |
-} |
- |
- |
void Heap::PrintStats() { |
if (!FLAG_verbose_gc) return; |
Isolate* isolate = Isolate::Current(); |
@@ -480,18 +466,21 @@ |
"]\n", // End with a comma to make it easier to import in spreadsheets. |
isolate->main_port(), space_str, GCReasonToString(stats_.reason_), |
stats_.num_, |
- RoundToSecs(stats_.before_.micros_ - isolate->start_time()), |
- RoundToMillis(stats_.after_.micros_ - stats_.before_.micros_), |
- RoundToKB(stats_.before_.new_used_), RoundToKB(stats_.after_.new_used_), |
- RoundToKB(stats_.before_.new_capacity_), |
- RoundToKB(stats_.after_.new_capacity_), |
- RoundToKB(stats_.before_.old_used_), RoundToKB(stats_.after_.old_used_), |
- RoundToKB(stats_.before_.old_capacity_), |
- RoundToKB(stats_.after_.old_capacity_), |
- RoundToMillis(stats_.times_[0]), |
- RoundToMillis(stats_.times_[1]), |
- RoundToMillis(stats_.times_[2]), |
- RoundToMillis(stats_.times_[3]), |
+ RoundMicrosecondsToSeconds(stats_.before_.micros_ - isolate->start_time()), |
+ RoundMicrosecondsToMilliseconds(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_.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_), |
+ RoundMicrosecondsToMilliseconds(stats_.times_[0]), |
+ RoundMicrosecondsToMilliseconds(stats_.times_[1]), |
+ RoundMicrosecondsToMilliseconds(stats_.times_[2]), |
+ RoundMicrosecondsToMilliseconds(stats_.times_[3]), |
stats_.data_[0], |
stats_.data_[1], |
stats_.data_[2], |