Chromium Code Reviews| Index: src/compiler/zone-stats.cc |
| diff --git a/src/compiler/zone-pool.cc b/src/compiler/zone-stats.cc |
| similarity index 58% |
| rename from src/compiler/zone-pool.cc |
| rename to src/compiler/zone-stats.cc |
| index 7681eeb5d17dbc831b96372cddf438cdd0d6906e..c07125287a8228e85c5902a5335d1fb23e0f2e7d 100644 |
| --- a/src/compiler/zone-pool.cc |
| +++ b/src/compiler/zone-stats.cc |
| @@ -2,18 +2,18 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "src/compiler/zone-pool.h" |
| +#include "src/compiler/zone-stats.h" |
| namespace v8 { |
| namespace internal { |
| namespace compiler { |
| -ZonePool::StatsScope::StatsScope(ZonePool* zone_pool) |
| - : zone_pool_(zone_pool), |
| - total_allocated_bytes_at_start_(zone_pool->GetTotalAllocatedBytes()), |
| +ZoneStats::StatsScope::StatsScope(ZoneStats* zone_stats) |
| + : zone_stats_(zone_stats), |
| + total_allocated_bytes_at_start_(zone_stats->GetTotalAllocatedBytes()), |
| max_allocated_bytes_(0) { |
| - zone_pool_->stats_.push_back(this); |
| - for (Zone* zone : zone_pool_->used_) { |
| + zone_stats_->stats_.push_back(this); |
| + for (Zone* zone : zone_stats_->used_) { |
| size_t size = static_cast<size_t>(zone->allocation_size()); |
| std::pair<InitialValues::iterator, bool> res = |
| initial_values_.insert(std::make_pair(zone, size)); |
| @@ -22,21 +22,18 @@ ZonePool::StatsScope::StatsScope(ZonePool* zone_pool) |
| } |
| } |
| - |
| -ZonePool::StatsScope::~StatsScope() { |
| - DCHECK_EQ(zone_pool_->stats_.back(), this); |
| - zone_pool_->stats_.pop_back(); |
| +ZoneStats::StatsScope::~StatsScope() { |
| + DCHECK_EQ(zone_stats_->stats_.back(), this); |
| + zone_stats_->stats_.pop_back(); |
| } |
| - |
| -size_t ZonePool::StatsScope::GetMaxAllocatedBytes() { |
| +size_t ZoneStats::StatsScope::GetMaxAllocatedBytes() { |
| return std::max(max_allocated_bytes_, GetCurrentAllocatedBytes()); |
| } |
| - |
| -size_t ZonePool::StatsScope::GetCurrentAllocatedBytes() { |
| +size_t ZoneStats::StatsScope::GetCurrentAllocatedBytes() { |
| size_t total = 0; |
| - for (Zone* zone : zone_pool_->used_) { |
| + for (Zone* zone : zone_stats_->used_) { |
| total += static_cast<size_t>(zone->allocation_size()); |
| // Adjust for initial values. |
| InitialValues::iterator it = initial_values_.find(zone); |
| @@ -47,13 +44,12 @@ size_t ZonePool::StatsScope::GetCurrentAllocatedBytes() { |
| return total; |
| } |
| - |
| -size_t ZonePool::StatsScope::GetTotalAllocatedBytes() { |
| - return zone_pool_->GetTotalAllocatedBytes() - total_allocated_bytes_at_start_; |
| +size_t ZoneStats::StatsScope::GetTotalAllocatedBytes() { |
| + return zone_stats_->GetTotalAllocatedBytes() - |
| + total_allocated_bytes_at_start_; |
| } |
| - |
| -void ZonePool::StatsScope::ZoneReturned(Zone* zone) { |
| +void ZoneStats::StatsScope::ZoneReturned(Zone* zone) { |
| size_t current_total = GetCurrentAllocatedBytes(); |
| // Update max. |
| max_allocated_bytes_ = std::max(max_allocated_bytes_, current_total); |
| @@ -64,24 +60,19 @@ void ZonePool::StatsScope::ZoneReturned(Zone* zone) { |
| } |
| } |
| -ZonePool::ZonePool(AccountingAllocator* allocator) |
| +ZoneStats::ZoneStats(AccountingAllocator* allocator) |
| : max_allocated_bytes_(0), total_deleted_bytes_(0), allocator_(allocator) {} |
| -ZonePool::~ZonePool() { |
| +ZoneStats::~ZoneStats() { |
| DCHECK(used_.empty()); |
| DCHECK(stats_.empty()); |
| - for (Zone* zone : unused_) { |
| - delete zone; |
| - } |
| } |
| - |
| -size_t ZonePool::GetMaxAllocatedBytes() { |
| +size_t ZoneStats::GetMaxAllocatedBytes() { |
| return std::max(max_allocated_bytes_, GetCurrentAllocatedBytes()); |
| } |
| - |
| -size_t ZonePool::GetCurrentAllocatedBytes() { |
| +size_t ZoneStats::GetCurrentAllocatedBytes() { |
| size_t total = 0; |
| for (Zone* zone : used_) { |
| total += static_cast<size_t>(zone->allocation_size()); |
| @@ -89,28 +80,17 @@ size_t ZonePool::GetCurrentAllocatedBytes() { |
| return total; |
| } |
| - |
| -size_t ZonePool::GetTotalAllocatedBytes() { |
| +size_t ZoneStats::GetTotalAllocatedBytes() { |
| return total_deleted_bytes_ + GetCurrentAllocatedBytes(); |
| } |
| - |
| -Zone* ZonePool::NewEmptyZone() { |
| - Zone* zone; |
| - // Grab a zone from pool if possible. |
| - if (!unused_.empty()) { |
| - zone = unused_.back(); |
| - unused_.pop_back(); |
| - } else { |
| - zone = new Zone(allocator_); |
| - } |
| +Zone* ZoneStats::NewEmptyZone() { |
| + Zone* zone = new Zone(allocator_); |
| used_.push_back(zone); |
|
Toon Verwaest
2016/09/21 11:31:03
Does it still make sense to call this "used_" rath
|
| - DCHECK_EQ(0u, zone->allocation_size()); |
| return zone; |
| } |
| - |
| -void ZonePool::ReturnZone(Zone* zone) { |
| +void ZoneStats::ReturnZone(Zone* zone) { |
|
Toon Verwaest
2016/09/21 11:31:03
Does it make sense to call this Return, now that t
|
| size_t current_total = GetCurrentAllocatedBytes(); |
| // Update max. |
| max_allocated_bytes_ = std::max(max_allocated_bytes_, current_total); |
| @@ -123,14 +103,7 @@ void ZonePool::ReturnZone(Zone* zone) { |
| DCHECK(it != used_.end()); |
| used_.erase(it); |
| total_deleted_bytes_ += static_cast<size_t>(zone->allocation_size()); |
| - // Delete zone or clear and stash on unused_. |
| - if (unused_.size() >= kMaxUnusedSize) { |
| - delete zone; |
| - } else { |
| - zone->DeleteAll(); |
| - DCHECK_EQ(0u, zone->allocation_size()); |
| - unused_.push_back(zone); |
| - } |
| + delete zone; |
| } |
| } // namespace compiler |