Add tables to map between callee saves and vregs
Also added function to return sp-relative offset for Dalvik
virtual registers using Method*
[Note: must be matched with corresponding libcore change to
reflect new field in Method]
Change-Id: Id739908c6232ce60763d8199bc05111e960da46e
diff --git a/src/object.cc b/src/object.cc
index 1af840f..12cd68d 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -593,11 +593,13 @@
}
void Method::SetCode(ByteArray* code_array, InstructionSet instruction_set,
- IntArray* mapping_table) {
+ IntArray* mapping_table, ShortArray* vmap_table) {
CHECK(GetCode() == NULL || IsNative());
SetFieldPtr<ByteArray*>(OFFSET_OF_OBJECT_MEMBER(Method, code_array_), code_array, false);
SetFieldPtr<IntArray*>(OFFSET_OF_OBJECT_MEMBER(Method, mapping_table_),
mapping_table, false);
+ SetFieldPtr<ShortArray*>(OFFSET_OF_OBJECT_MEMBER(Method, vmap_table_),
+ vmap_table, false);
int8_t* code = code_array->GetData();
uintptr_t address = reinterpret_cast<uintptr_t>(code);
if (instruction_set == kThumb2) {