summaryrefslogtreecommitdiff
path: root/libartbase/base/bit_vector.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libartbase/base/bit_vector.cc')
-rw-r--r--libartbase/base/bit_vector.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libartbase/base/bit_vector.cc b/libartbase/base/bit_vector.cc
index 8e3d4c9bf7..85f326385e 100644
--- a/libartbase/base/bit_vector.cc
+++ b/libartbase/base/bit_vector.cc
@@ -46,6 +46,12 @@ BitVector::BitVector(uint32_t start_bits,
BitsToWords(start_bits),
static_cast<uint32_t*>(allocator->Alloc(BitsToWords(start_bits) * kWordBytes))) {
// We don't know if the allocator cleared things.
+ // TODO(solanes): We should be able to remove this call to `ClearAllBits`. Currently we have:
+ // * `MallocAllocator` and `ArenaAllocator` which sets it to zero, and
+ // * `ScopedArenaAllocator` which does not.
+ // We also have `NoopAllocator` but that allocator should never call this method (as the Alloc
+ // call will turn into a LOG(FATAL)).
+ // As a note, MallocAllocator is a misnomer as it uses `calloc` which sets the memory to zero.
ClearAllBits();
}