Index: src/spaces.cc |
diff --git a/src/spaces.cc b/src/spaces.cc |
index 099ad93a1e02e4196f60de68b5e962559400d146..6564a2a8302a4e8b0ce9ca4bf569cf1e2c7b8388 100644 |
--- a/src/spaces.cc |
+++ b/src/spaces.cc |
@@ -72,6 +72,7 @@ HeapObjectIterator::HeapObjectIterator(Page* page, |
owner == page->heap()->old_data_space() || |
owner == page->heap()->map_space() || |
owner == page->heap()->cell_space() || |
+ owner == page->heap()->property_cell_space() || |
owner == page->heap()->code_space()); |
Initialize(reinterpret_cast<PagedSpace*>(owner), |
page->area_start(), |
@@ -1043,6 +1044,9 @@ intptr_t PagedSpace::SizeOfFirstPage() { |
case CELL_SPACE: |
size = 16 * kPointerSize * KB; |
break; |
+ case PROPERTY_CELL_SPACE: |
+ size = 8 * kPointerSize * KB; |
+ break; |
case CODE_SPACE: |
if (heap()->isolate()->code_range()->exists()) { |
// When code range exists, code pages are allocated in a special way |
@@ -2834,13 +2838,20 @@ void MapSpace::VerifyObject(HeapObject* object) { |
// ----------------------------------------------------------------------------- |
-// GlobalPropertyCellSpace implementation |
+// CellSpace and PropertyCellSpace implementation |
// TODO(mvstanton): this is weird...the compiler can't make a vtable unless |
// there is at least one non-inlined virtual function. I would prefer to hide |
// the VerifyObject definition behind VERIFY_HEAP. |
void CellSpace::VerifyObject(HeapObject* object) { |
// The object should be a global object property cell or a free-list node. |
+ CHECK(object->IsCell() || |
+ object->map() == heap()->two_pointer_filler_map()); |
+} |
+ |
+ |
+void PropertyCellSpace::VerifyObject(HeapObject* object) { |
+ // The object should be a global object property cell or a free-list node. |
CHECK(object->IsJSGlobalPropertyCell() || |
object->map() == heap()->two_pointer_filler_map()); |
} |