| Index: base/trace_event/heap_profiler_allocation_register_unittest.cc
|
| diff --git a/base/trace_event/heap_profiler_allocation_register_unittest.cc b/base/trace_event/heap_profiler_allocation_register_unittest.cc
|
| index 3ec4580be5047e83336e1799e5749d1c03849bd3..ceaff6e062fecf3165828350a7a415d11caf30a3 100644
|
| --- a/base/trace_event/heap_profiler_allocation_register_unittest.cc
|
| +++ b/base/trace_event/heap_profiler_allocation_register_unittest.cc
|
| @@ -59,17 +59,20 @@ TEST_F(AllocationRegisterTest, InsertRemove) {
|
| AllocationRegister reg;
|
| AllocationContext ctx = AllocationContext::Empty();
|
|
|
| + // Zero-sized allocations should be discarded.
|
| + reg.Insert(reinterpret_cast<void*>(1), 0, ctx);
|
| +
|
| EXPECT_EQ(0u, OrAllAddresses(reg));
|
|
|
| - reg.Insert(reinterpret_cast<void*>(1), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(1), 1, ctx);
|
|
|
| EXPECT_EQ(1u, OrAllAddresses(reg));
|
|
|
| - reg.Insert(reinterpret_cast<void*>(2), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(2), 1, ctx);
|
|
|
| EXPECT_EQ(3u, OrAllAddresses(reg));
|
|
|
| - reg.Insert(reinterpret_cast<void*>(4), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(4), 1, ctx);
|
|
|
| EXPECT_EQ(7u, OrAllAddresses(reg));
|
|
|
| @@ -90,8 +93,8 @@ TEST_F(AllocationRegisterTest, DoubleFreeIsAllowed) {
|
| AllocationRegister reg;
|
| AllocationContext ctx = AllocationContext::Empty();
|
|
|
| - reg.Insert(reinterpret_cast<void*>(1), 0, ctx);
|
| - reg.Insert(reinterpret_cast<void*>(2), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(1), 1, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(2), 1, ctx);
|
| reg.Remove(reinterpret_cast<void*>(1));
|
| reg.Remove(reinterpret_cast<void*>(1)); // Remove for the second time.
|
| reg.Remove(reinterpret_cast<void*>(4)); // Remove never inserted address.
|
| @@ -179,7 +182,7 @@ TEST_F(AllocationRegisterTest, InsertRemoveRandomOrder) {
|
| uint32_t initial_water_mark = GetHighWaterMark(reg);
|
|
|
| for (uintptr_t i = 2; i < prime; i++) {
|
| - size_t size = i % 31;
|
| + size_t size = i % 31 + 1;
|
| expected_sum += size;
|
| reg.Insert(reinterpret_cast<void*>(i), size, ctx);
|
| }
|
| @@ -189,7 +192,7 @@ TEST_F(AllocationRegisterTest, InsertRemoveRandomOrder) {
|
|
|
| // Iterate the numbers 2, 3, ..., prime - 1 in pseudorandom order.
|
| for (uintptr_t i = generator; i != 1; i = (i * generator) % prime) {
|
| - size_t size = i % 31;
|
| + size_t size = i % 31 + 1;
|
| expected_sum -= size;
|
| reg.Remove(reinterpret_cast<void*>(i));
|
| EXPECT_EQ(expected_sum, SumAllSizes(reg));
|
| @@ -200,12 +203,12 @@ TEST_F(AllocationRegisterTest, InsertRemoveRandomOrder) {
|
| // Insert |prime - 2| entries again. This should use cells from the free list,
|
| // so the |next_unused_cell_| index should not change.
|
| for (uintptr_t i = 2; i < prime; i++)
|
| - reg.Insert(reinterpret_cast<void*>(i), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(i), 1, ctx);
|
|
|
| ASSERT_EQ(prime - 2, GetHighWaterMark(reg) - initial_water_mark);
|
|
|
| // Inserting one more entry should use a fresh cell again.
|
| - reg.Insert(reinterpret_cast<void*>(prime), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(prime), 1, ctx);
|
| ASSERT_EQ(prime - 1, GetHighWaterMark(reg) - initial_water_mark);
|
| }
|
|
|
| @@ -268,7 +271,7 @@ TEST_F(AllocationRegisterTest, OverflowDeathTest) {
|
| // minus 1 elements are inserted, because cell 0 is unused, so this should
|
| // fill up the available cells exactly.
|
| for (i = 1; i < GetNumCells(reg); i++) {
|
| - reg.Insert(reinterpret_cast<void*>(i), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(i), 1, ctx);
|
| }
|
|
|
| // Adding just one extra element might still work because the allocated memory
|
| @@ -277,7 +280,7 @@ TEST_F(AllocationRegisterTest, OverflowDeathTest) {
|
| const size_t cells_per_page = GetNumCellsPerPage();
|
|
|
| ASSERT_DEATH(for (size_t j = 0; j < cells_per_page; j++) {
|
| - reg.Insert(reinterpret_cast<void*>(i + j), 0, ctx);
|
| + reg.Insert(reinterpret_cast<void*>(i + j), 1, ctx);
|
| }, "");
|
| }
|
| #endif
|
|
|