From ec7802a102d49ab5c17495118d4fe0bcc7287beb Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Thu, 1 Oct 2015 20:57:57 +0100 Subject: Add DCHECKs to ArenaVector and ScopedArenaVector. Implement dchecked_vector<> template that DCHECK()s element access and insert()/emplace()/erase() positions. Change the ArenaVector<> and ScopedArenaVector<> aliases to use the new template instead of std::vector<>. Remove DCHECK()s that have now become unnecessary from the Optimizing compiler. Change-Id: Ib8506bd30d223f68f52bd4476c76d9991acacadc --- compiler/gc_map_builder.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'compiler/gc_map_builder.h') diff --git a/compiler/gc_map_builder.h b/compiler/gc_map_builder.h index 45e3fc5589..2ef7f1a659 100644 --- a/compiler/gc_map_builder.h +++ b/compiler/gc_map_builder.h @@ -26,14 +26,16 @@ namespace art { class GcMapBuilder { public: - template - GcMapBuilder(std::vector* table, size_t entries, uint32_t max_native_offset, + template + GcMapBuilder(Vector* table, size_t entries, uint32_t max_native_offset, size_t references_width) : entries_(entries), references_width_(entries != 0u ? references_width : 0u), native_offset_width_(entries != 0 && max_native_offset != 0 ? sizeof(max_native_offset) - CLZ(max_native_offset) / 8u : 0u), in_use_(entries) { + static_assert(std::is_same::value, "Invalid value type"); + // Resize table and set up header. table->resize((EntryWidth() * entries) + sizeof(uint32_t)); table_ = table->data(); -- cgit v1.2.3-59-g8ed1b