Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(507)

Unified Diff: src/spaces.cc

Issue 1691009: - Fix x64 build.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/spaces.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/spaces.cc
===================================================================
--- src/spaces.cc (revision 4476)
+++ src/spaces.cc (working copy)
@@ -666,7 +666,7 @@
Page* MemoryAllocator::RelinkPagesInChunk(int chunk_id,
Address chunk_start,
- int chunk_size,
+ size_t chunk_size,
Page* prev,
Page** last_page_in_use) {
Address page_addr = RoundUp(chunk_start, Page::kPageSize);
@@ -1992,20 +1992,20 @@
}
if (!page_list_is_chunk_ordered_) {
- Page* new_last_in_use = NULL;
+ Page* new_last_in_use = Page::FromAddress(NULL);
MemoryAllocator::RelinkPageListInChunkOrder(this,
&first_page_,
&last_page_,
&new_last_in_use);
- ASSERT(new_last_in_use != NULL);
+ ASSERT(new_last_in_use->is_valid());
if (new_last_in_use != last_in_use) {
// Current allocation top points to a page which is now in the middle
// of page list. We should move allocation top forward to the new last
// used page so various object iterators will continue to work properly.
- int size_in_bytes =
- PageAllocationLimit(last_in_use) - last_in_use->AllocationTop();
+ int size_in_bytes = static_cast<int>(PageAllocationLimit(last_in_use) -
+ last_in_use->AllocationTop());
if (size_in_bytes > 0) {
// There is still some space left on this page. Create a fake
@@ -2013,9 +2013,8 @@
// Otherwise iterators would not be able to scan this page
// correctly.
- FreeListNode* node =
- FreeListNode::FromAddress(last_in_use->AllocationTop());
- node->set_size(size_in_bytes);
+ Heap::CreateFillerObjectAt(last_in_use->AllocationTop(),
+ size_in_bytes);
}
// New last in use page was in the middle of the list before
@@ -2033,9 +2032,10 @@
// Empty page is in the middle of a sequence of used pages.
// Create a fake object which will occupy all free space on this page.
// Otherwise iterators would not be able to scan this page correctly.
- FreeListNode* node =
- FreeListNode::FromAddress(p->ObjectAreaStart());
- node->set_size(PageAllocationLimit(p) - p->ObjectAreaStart());
+ int size_in_bytes = static_cast<int>(PageAllocationLimit(p) -
+ p->ObjectAreaStart());
+
+ Heap::CreateFillerObjectAt(p->ObjectAreaStart(), size_in_bytes);
}
}
« no previous file with comments | « src/spaces.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698