Fix invoke sequence and enable recursive Fibonacci
I was previously generating the wrong starting offset for the
resolved methods array.
Change-Id: Ia77800323df2872681b30f2869ef4b1131766f39
diff --git a/src/dex_cache.h b/src/dex_cache.h
index fdf179b..9e762e1 100644
--- a/src/dex_cache.h
+++ b/src/dex_cache.h
@@ -38,16 +38,19 @@
return Get(kLocation)->AsString();
}
- static size_t StringsOffset() {
- return kStrings * sizeof(Object*);
+ static MemberOffset StringsOffset() {
+ return MemberOffset(DataOffset().Int32Value() +
+ kStrings * sizeof(Object*));
}
- static size_t FieldsOffset() {
- return kFields * sizeof(Object*);
+ static MemberOffset FieldsOffset() {
+ return MemberOffset(DataOffset().Int32Value() +
+ kFields * sizeof(Object*));
}
- static size_t MethodsOffset() {
- return kMethods * sizeof(Object*);
+ static MemberOffset MethodsOffset() {
+ return MemberOffset(DataOffset().Int32Value() +
+ kMethods * sizeof(Object*));
}
size_t NumStrings() const {