Index: src/spaces.cc |
diff --git a/src/spaces.cc b/src/spaces.cc |
index 60293eab3ced369c98ef2bf07b51c4bad6b4e271..8e953e2a556c8d26557445b8835a825b38bfc6d0 100644 |
--- a/src/spaces.cc |
+++ b/src/spaces.cc |
@@ -1045,7 +1045,7 @@ intptr_t PagedSpace::SizeOfFirstPage() { |
size = 16 * kPointerSize * KB; |
break; |
case PROPERTY_CELL_SPACE: |
- size = 8 * kPointerSize * KB; |
+ size = 16 * kPointerSize * KB; |
break; |
case CODE_SPACE: |
if (heap()->isolate()->code_range()->exists()) { |
@@ -2118,13 +2118,13 @@ FreeListNode* FreeListCategory::PickNodeFromList(int *node_size) { |
while (node != NULL && |
Page::FromAddress(node->address())->IsEvacuationCandidate()) { |
- available_ -= reinterpret_cast<FreeSpace*>(node)->Size(); |
+ available_ -= node->Size(); |
node = node->next(); |
} |
if (node != NULL) { |
set_top(node->next()); |
- *node_size = reinterpret_cast<FreeSpace*>(node)->Size(); |
+ *node_size = node->Size(); |
available_ -= *node_size; |
} else { |
set_top(NULL); |
@@ -2138,18 +2138,6 @@ FreeListNode* FreeListCategory::PickNodeFromList(int *node_size) { |
} |
-FreeListNode* FreeListCategory::PickNodeFromList(int size_in_bytes, |
- int *node_size) { |
- FreeListNode* node = PickNodeFromList(node_size); |
- if (node != NULL && *node_size < size_in_bytes) { |
- Free(node, *node_size); |
- *node_size = 0; |
- return NULL; |
- } |
- return node; |
-} |
- |
- |
void FreeListCategory::Free(FreeListNode* node, int size_in_bytes) { |
node->set_next(top_); |
top_ = node; |
@@ -2239,10 +2227,8 @@ FreeListNode* FreeList::FindNodeFor(int size_in_bytes, int* node_size) { |
if (size_in_bytes <= kSmallAllocationMax) { |
node = small_list_.PickNodeFromList(node_size); |
if (node != NULL) { |
- ASSERT(size_in_bytes <= *node_size); |
page = Page::FromAddress(node->address()); |
page->add_available_in_small_free_list(-(*node_size)); |
- ASSERT(IsVeryLong() || available() == SumFreeLists()); |
return node; |
} |
} |
@@ -2250,10 +2236,8 @@ FreeListNode* FreeList::FindNodeFor(int size_in_bytes, int* node_size) { |
if (size_in_bytes <= kMediumAllocationMax) { |
node = medium_list_.PickNodeFromList(node_size); |
if (node != NULL) { |
- ASSERT(size_in_bytes <= *node_size); |
page = Page::FromAddress(node->address()); |
page->add_available_in_medium_free_list(-(*node_size)); |
- ASSERT(IsVeryLong() || available() == SumFreeLists()); |
return node; |
} |
} |
@@ -2261,10 +2245,8 @@ FreeListNode* FreeList::FindNodeFor(int size_in_bytes, int* node_size) { |
if (size_in_bytes <= kLargeAllocationMax) { |
node = large_list_.PickNodeFromList(node_size); |
if (node != NULL) { |
- ASSERT(size_in_bytes <= *node_size); |
page = Page::FromAddress(node->address()); |
page->add_available_in_large_free_list(-(*node_size)); |
- ASSERT(IsVeryLong() || available() == SumFreeLists()); |
return node; |
} |
} |
@@ -2307,37 +2289,10 @@ FreeListNode* FreeList::FindNodeFor(int size_in_bytes, int* node_size) { |
if (huge_list_.top() == NULL) { |
huge_list_.set_end(NULL); |
} |
- huge_list_.set_available(huge_list_available); |
- |
- if (node != NULL) { |
- ASSERT(IsVeryLong() || available() == SumFreeLists()); |
- return node; |
- } |
- |
- if (size_in_bytes <= kSmallListMax) { |
- node = small_list_.PickNodeFromList(size_in_bytes, node_size); |
- if (node != NULL) { |
- ASSERT(size_in_bytes <= *node_size); |
- page = Page::FromAddress(node->address()); |
- page->add_available_in_small_free_list(-(*node_size)); |
- } |
- } else if (size_in_bytes <= kMediumListMax) { |
- node = medium_list_.PickNodeFromList(size_in_bytes, node_size); |
- if (node != NULL) { |
- ASSERT(size_in_bytes <= *node_size); |
- page = Page::FromAddress(node->address()); |
- page->add_available_in_medium_free_list(-(*node_size)); |
- } |
- } else if (size_in_bytes <= kLargeListMax) { |
- node = large_list_.PickNodeFromList(size_in_bytes, node_size); |
- if (node != NULL) { |
- ASSERT(size_in_bytes <= *node_size); |
- page = Page::FromAddress(node->address()); |
- page->add_available_in_large_free_list(-(*node_size)); |
- } |
- } |
+ huge_list_.set_available(huge_list_available); |
ASSERT(IsVeryLong() || available() == SumFreeLists()); |
+ |
return node; |
} |