Move the catalog after the stack maps.
Fetching a stack map should be cheap, and therefore we should
not compute the size of the catalog.
Change-Id: Iff6accb7832bdfa6d209a0928d6088b8b57c1aa4
diff --git a/runtime/stack_map.h b/runtime/stack_map.h
index f710460..b425a46 100644
--- a/runtime/stack_map.h
+++ b/runtime/stack_map.h
@@ -923,10 +923,6 @@
+ (NumberOfBytesForDexRegisterMap() * sizeof(uint8_t));
}
- uint32_t GetDexRegisterLocationCatalogOffset() const {
- return kFixedSize;
- }
-
DexRegisterLocationCatalog GetDexRegisterLocationCatalog() const {
return DexRegisterLocationCatalog(region_.Subregion(
GetDexRegisterLocationCatalogOffset(),
@@ -991,14 +987,18 @@
return StackMapSize() * GetNumberOfStackMaps();
}
- size_t GetDexRegisterMapsOffset() const {
+ uint32_t GetDexRegisterLocationCatalogOffset() const {
return GetStackMapsOffset() + GetStackMapsSize();
}
- uint32_t GetStackMapsOffset() const {
+ size_t GetDexRegisterMapsOffset() const {
return GetDexRegisterLocationCatalogOffset() + GetDexRegisterLocationCatalogSize();
}
+ uint32_t GetStackMapsOffset() const {
+ return kFixedSize;
+ }
+
DexRegisterMap GetDexRegisterMapOf(StackMap stack_map, uint32_t number_of_dex_registers) const {
DCHECK(stack_map.HasDexRegisterMap(*this));
uint32_t offset = GetDexRegisterMapsOffset() + stack_map.GetDexRegisterMapOffset(*this);