summaryrefslogtreecommitdiffstats
path: root/base/trace_event/heap_profiler_allocation_register.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/trace_event/heap_profiler_allocation_register.h')
-rw-r--r--base/trace_event/heap_profiler_allocation_register.h7
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