| 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());
|
| }
|
|
|