diff options
| author | 2012-07-03 16:00:54 -0700 | |
|---|---|---|
| committer | 2012-07-03 16:00:54 -0700 | |
| commit | 44a25bbc4626119d24d2cb7378212b6fd0093c19 (patch) | |
| tree | a84e261e716768b0f17cef0f1d211facab1a5889 /src/heap_bitmap.cc | |
| parent | 1d8fc2ac0748b06a0c216c572b284e0d71bb24d4 (diff) | |
| parent | 61c9cb5ab3137bfd61d42bc6d38c2e3ba9110bd1 (diff) | |
Merge "Fix heap bitmap rounding down size error" into ics-mr1-plus-art
Diffstat (limited to 'src/heap_bitmap.cc')
| -rw-r--r-- | src/heap_bitmap.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/heap_bitmap.cc b/src/heap_bitmap.cc index 769ee9d602..fc722f5dd4 100644 --- a/src/heap_bitmap.cc +++ b/src/heap_bitmap.cc @@ -24,7 +24,8 @@ namespace art { HeapBitmap* HeapBitmap::Create(const char* name, byte* heap_begin, size_t heap_capacity) { CHECK(heap_begin != NULL); - size_t bitmap_size = HB_OFFSET_TO_INDEX(heap_capacity) * kWordSize; + // Round up since heap_capacity is not necessarily a multiple of kAlignment * kBitsPerWord. + size_t bitmap_size = HB_OFFSET_TO_INDEX(RoundUp(heap_capacity, kAlignment * kBitsPerWord)) * kWordSize; UniquePtr<MemMap> mem_map(MemMap::MapAnonymous(name, NULL, bitmap_size, PROT_READ | PROT_WRITE)); if (mem_map.get() == NULL) { LOG(ERROR) << "Failed to allocate bitmap " << name; |