Remove explicit size from CodeInfo.
It was mostly there since it was necessary to create the
bound-checked MemoryRegion for loading.
The new BitMemoryReader interface is much easier to
tweak to avoid needing to know the size ahead of time.
Keep the CHECK that the loader reads the expected number
of bytes, but move it to FillInCodeInfo.
This saves 0.2% of .oat file size.
Test: test-art-host-gtest-stack_map_test
Test: test-art-host-gtest-bit_table_test
Change-Id: I92ee936e9fd004da61b90841aff9c9f2029fcfbf
diff --git a/libartbase/base/bit_table_test.cc b/libartbase/base/bit_table_test.cc
index a694148..2fd9052 100644
--- a/libartbase/base/bit_table_test.cc
+++ b/libartbase/base/bit_table_test.cc
@@ -34,7 +34,7 @@
BitMemoryWriter<std::vector<uint8_t>> writer(&buffer, start_bit_offset);
EncodeVarintBits(writer, value);
- BitMemoryReader reader(writer.GetWrittenRegion(), start_bit_offset);
+ BitMemoryReader reader(buffer.data(), start_bit_offset);
uint32_t result = DecodeVarintBits(reader);
EXPECT_EQ(writer.GetBitOffset(), reader.GetBitOffset());
EXPECT_EQ(value, result);
@@ -52,7 +52,7 @@
BitTableBuilderBase<1> builder(&allocator);
builder.Encode(writer);
- BitMemoryReader reader(writer.GetWrittenRegion());
+ BitMemoryReader reader(buffer.data());
BitTableBase<1> table(reader);
EXPECT_EQ(writer.GetBitOffset(), reader.GetBitOffset());
EXPECT_EQ(0u, table.NumRows());
@@ -73,7 +73,7 @@
builder.Add({kNoValue});
builder.Encode(writer);
- BitMemoryReader reader(writer.GetWrittenRegion());
+ BitMemoryReader reader(buffer.data());
BitTableBase<1> table(reader);
EXPECT_EQ(writer.GetBitOffset(), reader.GetBitOffset());
EXPECT_EQ(4u, table.NumRows());
@@ -96,7 +96,7 @@
builder.Add({42u});
builder.Encode(writer);
- BitMemoryReader reader(writer.GetWrittenRegion(), start_bit_offset);
+ BitMemoryReader reader(buffer.data(), start_bit_offset);
BitTableBase<1> table(reader);
EXPECT_EQ(writer.GetBitOffset(), reader.GetBitOffset());
EXPECT_EQ(1u, table.NumRows());
@@ -117,7 +117,7 @@
builder.Add({62u, kNoValue, 63u, static_cast<uint32_t>(-3)});
builder.Encode(writer);
- BitMemoryReader reader(writer.GetWrittenRegion());
+ BitMemoryReader reader(buffer.data());
BitTableBase<4> table(reader);
EXPECT_EQ(writer.GetBitOffset(), reader.GetBitOffset());
EXPECT_EQ(2u, table.NumRows());
@@ -167,7 +167,7 @@
builder.Encode(writer);
EXPECT_EQ(1 + static_cast<uint32_t>(POPCOUNT(value)), builder.size());
- BitMemoryReader reader(writer.GetWrittenRegion());
+ BitMemoryReader reader(buffer.data());
BitTableBase<1> table(reader);
EXPECT_EQ(writer.GetBitOffset(), reader.GetBitOffset());
for (auto it : indicies) {