diff options
Diffstat (limited to 'base/trace_event/heap_profiler_allocation_register.h')
-rw-r--r-- | base/trace_event/heap_profiler_allocation_register.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/base/trace_event/heap_profiler_allocation_register.h b/base/trace_event/heap_profiler_allocation_register.h index 7c4ba99..940fb54 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 |