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 <dmitry.petrochenko@intel.com>
diff --git a/compiler/jni/quick/calling_convention.h b/compiler/jni/quick/calling_convention.h
index fe3d1cd..4950905 100644
--- a/compiler/jni/quick/calling_convention.h
+++ b/compiler/jni/quick/calling_convention.h
@@ -298,9 +298,8 @@
}
FrameOffset SirtReferencesOffset() const {
- // The StackIndirectReferenceTable::number_of_references_ type is uint32_t
- return FrameOffset(SirtNumRefsOffset().Int32Value() +
- sizeof(uint32_t));
+ return FrameOffset(SirtOffset().Int32Value() +
+ StackIndirectReferenceTable::ReferencesOffset());
}
virtual ~JniCallingConvention() {}