Always grow the limit address of the a heap along with its size.

Previously, clearing the growth limit only updated the maximumSize of
the unlimited heap without updating the limit value.  This caused any
operations iterated over the extent of the heap to ignore allocations
beyond the original heap size.  With this change the limit is always
kept in agreement with the maximumSize.

Bug: 4539441
Change-Id: I08c8004e724549d196e1fd5d6ad22efc85b0c8d2
diff --git a/vm/alloc/HeapSource.cpp b/vm/alloc/HeapSource.cpp
index aa084ab..e0e2b03 100644
--- a/vm/alloc/HeapSource.cpp
+++ b/vm/alloc/HeapSource.cpp
@@ -1045,6 +1045,7 @@
     gHs->growthLimit = gHs->maximumSize;
     size_t overhead = oldHeapOverhead(gHs, false);
     gHs->heaps[0].maximumSize = gHs->maximumSize - overhead;
+    gHs->heaps[0].limit = gHs->heaps[0].base + gHs->heaps[0].maximumSize;
     dvmUnlockHeap();
 }