Fixes to mem_map wraparound and ARM64 quick_invoke assembly
There are only 6 free GPRs for passing in a non-static invoke. This
corrupted one register for long-signature methods.
The wrap-around did not actually wrap around correctly.
Change-Id: I62658dadeb83bb22960b9455e211d26ffaa20f6f
diff --git a/runtime/mem_map.cc b/runtime/mem_map.cc
index 0af25e7..9f01189 100644
--- a/runtime/mem_map.cc
+++ b/runtime/mem_map.cc
@@ -143,7 +143,7 @@
// Not enough memory until 4GB.
if (first_run) {
// Try another time from the bottom;
- next_mem_pos_ = LOW_MEM_START;
+ ptr = LOW_MEM_START - kPageSize;
first_run = false;
continue;
} else {