More MIPS fixes. Fibonacci and ExceptionTest work.
In this change:
- Fixed compilation of div-int and instance-of
- Fixed VERIFY_OBJECT to compile again
- Added stack space for passing extra function arguments for
REF_ONLY_CALLEE_SAVE functions
- Fixed AbstractMethodErrorStub to match stack layout
Change-Id: I3d4540a3285a0acf49522ffc6f01d04b888bb8ef
diff --git a/src/runtime.cc b/src/runtime.cc
index 4b7338b..3a5c41c 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -1105,7 +1105,7 @@
uint32_t core_spills = ref_spills | (type == kRefsAndArgs ? arg_spills : 0) |
(type == kSaveAll ? all_spills : 0) | (1 << art::mips::RA);
size_t frame_size = RoundUp((__builtin_popcount(core_spills) /* gprs */ +
- (type == kRefsAndArgs ? 0 : 3) /* always reserve arg space */ +
+ (type == kRefsAndArgs ? 0 : 5) /* reserve arg space */ +
1 /* Method* */) * kPointerSize, kStackAlignment);
method->SetFrameSizeInBytes(frame_size);
method->SetCoreSpillMask(core_spills);