From f0513c591271f93df76c46d672eed4a00cd4184b Mon Sep 17 00:00:00 2001 From: Dmitry Petrochenko Date: Mon, 31 Mar 2014 09:12:31 +0700 Subject: art: Make calling convention immune to SIRT structure change Introduce stack_indirect_reference_table::referencesOffset and rely on it in calling convention to avoid issues if SIRT structure change. Change-Id: Icc0c5c5b1313173df2ee519ab8934183074fdfb6 Signed-off-by: Dmitry Petrochenko --- runtime/stack_indirect_reference_table.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'runtime/stack_indirect_reference_table.h') diff --git a/runtime/stack_indirect_reference_table.h b/runtime/stack_indirect_reference_table.h index e6dda85..daef3ff 100644 --- a/runtime/stack_indirect_reference_table.h +++ b/runtime/stack_indirect_reference_table.h @@ -98,14 +98,19 @@ class StackIndirectReferenceTable { && (sirt_entry <= (&references_[number_of_references_ - 1]))); } + // Offset of link within SIRT, used by generated code + static size_t LinkOffset() { + return OFFSETOF_MEMBER(StackIndirectReferenceTable, link_); + } + // Offset of length within SIRT, used by generated code static uint32_t NumberOfReferencesOffset() { return OFFSETOF_MEMBER(StackIndirectReferenceTable, number_of_references_); } // Offset of link within SIRT, used by generated code - static size_t LinkOffset() { - return OFFSETOF_MEMBER(StackIndirectReferenceTable, link_); + static size_t ReferencesOffset() { + return OFFSETOF_MEMBER(StackIndirectReferenceTable, references_); } private: -- cgit v1.1