Index: src/spaces-inl.h |
=================================================================== |
--- src/spaces-inl.h (revision 10407) |
+++ src/spaces-inl.h (working copy) |
@@ -164,12 +164,12 @@ |
Executability executable, |
PagedSpace* owner) { |
Page* page = reinterpret_cast<Page*>(chunk); |
- ASSERT(chunk->size() == static_cast<size_t>(kPageSize)); |
+ ASSERT(chunk->size() <= kPageSize); |
ASSERT(chunk->owner() == owner); |
- owner->IncreaseCapacity(Page::kObjectAreaSize); |
- owner->Free(page->ObjectAreaStart(), |
- static_cast<int>(page->ObjectAreaEnd() - |
- page->ObjectAreaStart())); |
+ intptr_t object_bytes = page->ObjectAreaEnd() - page->ObjectAreaStart(); |
+ owner->IncreaseCapacity(object_bytes); |
+ owner->AddToFreeLists(page->ObjectAreaStart(), |
+ static_cast<int>(object_bytes)); |
heap->incremental_marking()->SetOldSpacePageFlags(chunk); |
@@ -257,6 +257,7 @@ |
if (new_top > allocation_info_.limit) return NULL; |
allocation_info_.top = new_top; |
+ ASSERT(new_top >= Page::FromAddress(new_top - 1)->ObjectAreaStart()); |
Vyacheslav Egorov (Chromium)
2012/01/16 17:02:54
FromAllocationTop instead of FromAddress
Erik Corry
2012/01/17 11:37:22
Done.
|
return HeapObject::FromAddress(current_top); |
} |