Index: base/trace_event/heap_profiler_allocation_register.h |
diff --git a/base/trace_event/heap_profiler_allocation_register.h b/base/trace_event/heap_profiler_allocation_register.h |
index 7c4ba99cd22c05eac3000d5d2c7ec42775b28d59..940fb5454bef3107152b42ceab95aa93567ea32d 100644 |
--- a/base/trace_event/heap_profiler_allocation_register.h |
+++ b/base/trace_event/heap_profiler_allocation_register.h |
@@ -60,6 +60,8 @@ class BASE_EXPORT AllocationRegister { |
}; |
AllocationRegister(); |
+ explicit AllocationRegister(uint32_t num_cells); |
+ |
~AllocationRegister(); |
// Inserts allocation details into the table. If the address was present |
@@ -112,7 +114,7 @@ class BASE_EXPORT AllocationRegister { |
// not an option). A value of ~3M entries is large enough to handle spikes in |
// the number of allocations, and modest enough to require no more than a few |
// dozens of MiB of address space. |
- static const uint32_t kNumCells = kNumBuckets * 10; |
+ static const uint32_t kNumCellsPerBucket = 10; |
// Returns a value in the range [0, kNumBuckets - 1] (inclusive). |
static uint32_t Hash(void* address); |
@@ -136,6 +138,9 @@ class BASE_EXPORT AllocationRegister { |
// from the free list or by taking a fresh cell) and returns its index. |
CellIndex GetFreeCell(); |
+ // The maximum number of cells which can be allocated. |
+ uint32_t const num_cells_; |
+ |
// The array of cells. This array is backed by mmapped memory. Lower indices |
// are accessed first, higher indices are only accessed when required. In |
// this way, even if a huge amount of address space has been mmapped, only |