Address some comments
Change-Id: I0262304cc720a0e93015955d0a7fb05dfebe213e
diff --git a/runtime/length_prefixed_array.h b/runtime/length_prefixed_array.h
index 82176e3..2b2e8d3 100644
--- a/runtime/length_prefixed_array.h
+++ b/runtime/length_prefixed_array.h
@@ -48,16 +48,22 @@
return offsetof(LengthPrefixedArray<T>, data_) + index * element_size;
}
+ // Alignment is the caller's responsibility.
static size_t ComputeSize(size_t num_elements, size_t element_size = sizeof(T)) {
- return sizeof(LengthPrefixedArray<T>) + num_elements * element_size;
+ return OffsetOfElement(num_elements, element_size);
}
uint64_t Length() const {
return length_;
}
+ // Update the length but does not reallocate storage.
+ void SetLength(uint64_t length) {
+ length_ = length;
+ }
+
private:
- uint64_t length_; // 64 bits for padding reasons.
+ uint64_t length_; // 64 bits for 8 byte alignment of data_.
uint8_t data_[0];
};