| Index: src/heap/spaces.h
|
| diff --git a/src/heap/spaces.h b/src/heap/spaces.h
|
| index b66b3f7a771981d76da64c5c28abb7c05ad09364..fce96772139fde9d79623e20f7c0a2a360e20f07 100644
|
| --- a/src/heap/spaces.h
|
| +++ b/src/heap/spaces.h
|
| @@ -2657,6 +2657,31 @@
|
|
|
|
|
| // -----------------------------------------------------------------------------
|
| +// Old space for simple property cell objects
|
| +
|
| +class CellSpace : public PagedSpace {
|
| + public:
|
| + // Creates a property cell space object with a maximum capacity.
|
| + CellSpace(Heap* heap, intptr_t max_capacity, AllocationSpace id)
|
| + : PagedSpace(heap, max_capacity, id, NOT_EXECUTABLE) {}
|
| +
|
| + virtual int RoundSizeDownToObjectAlignment(int size) {
|
| + if (base::bits::IsPowerOfTwo32(Cell::kSize)) {
|
| + return RoundDown(size, Cell::kSize);
|
| + } else {
|
| + return (size / Cell::kSize) * Cell::kSize;
|
| + }
|
| + }
|
| +
|
| + protected:
|
| + virtual void VerifyObject(HeapObject* obj);
|
| +
|
| + public:
|
| + TRACK_MEMORY("CellSpace")
|
| +};
|
| +
|
| +
|
| +// -----------------------------------------------------------------------------
|
| // Large objects ( > Page::kMaxHeapObjectSize ) are allocated and managed by
|
| // the large object space. A large object is allocated from OS heap with
|
| // extra padding bytes (Page::kPageSize + Page::kObjectStartOffset).
|
|
|