When aliasing a bitmap, use smallest available limit.
dvmHeapSourceGetObjectBitmaps was using each Heap's allocation limit
to set the max for the bitmap. This causes the HeapBitmap iterators to
do unnecessary work, over parts of the HeapBitmap which could be known
to be all zeros.
Making the max for a HeapBitmap also take into account the liveBits's
max will inform the HeapBitmap iterators that these regions are all
zeros. This will only change the calculation for the active allocation
Heap; but when there are two Heaps, the Zygote Heap is expected to be
pretty well packed, with not a lot of extra words of zeroes in the
HeapBitmap.
Also fixes a defect in aliasBitmap's calculation of bitsLen.
See http://b/issue?id=
2857152
Change-Id: Iacb6bc400318702d760a774c6ca5eab67b8bdfd3