| Index: src/heap/spaces.h
|
| diff --git a/src/heap/spaces.h b/src/heap/spaces.h
|
| index 747055db7bc5ccb64f24a7236996be2df881d13c..964c9d2c5fb164d0d1d5e46eec480c1b12332bc5 100644
|
| --- a/src/heap/spaces.h
|
| +++ b/src/heap/spaces.h
|
| @@ -16,6 +16,7 @@
|
| #include "src/base/hashmap.h"
|
| #include "src/base/platform/mutex.h"
|
| #include "src/flags.h"
|
| +#include "src/globals.h"
|
| #include "src/heap/marking.h"
|
| #include "src/list.h"
|
| #include "src/objects.h"
|
| @@ -57,7 +58,7 @@ class Space;
|
| // area.
|
| //
|
| // There is a separate large object space for objects larger than
|
| -// Page::kMaxRegularHeapObjectSize, so that they do not have to move during
|
| +// kMaxRegularHeapObjectSize, so that they do not have to move during
|
| // collection. The large object space is paged. Pages in large object space
|
| // may be larger than the page size.
|
| //
|
| @@ -105,7 +106,7 @@ class Space;
|
| DCHECK((OffsetFrom(address) & kObjectAlignmentMask) == 0)
|
|
|
| #define DCHECK_OBJECT_SIZE(size) \
|
| - DCHECK((0 < size) && (size <= Page::kMaxRegularHeapObjectSize))
|
| + DCHECK((0 < size) && (size <= kMaxRegularHeapObjectSize))
|
|
|
| #define DCHECK_CODEOBJECT_SIZE(size, code_space) \
|
| DCHECK((0 < size) && (size <= code_space->AreaSize()))
|
| @@ -694,6 +695,8 @@ class MemoryChunk {
|
|
|
| DEFINE_OPERATORS_FOR_FLAGS(MemoryChunk::Flags)
|
|
|
| +STATIC_ASSERT(kMaxRegularHeapObjectSize < MemoryChunk::kAllocatableMemory);
|
| +
|
| // -----------------------------------------------------------------------------
|
| // A page is a memory chunk of a size 1MB. Large object pages may be larger.
|
| //
|
| @@ -709,15 +712,6 @@ class Page : public MemoryChunk {
|
| static_cast<intptr_t>(MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING) |
|
| static_cast<intptr_t>(MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING);
|
|
|
| - // Maximum object size that gets allocated into regular pages. Objects larger
|
| - // than that size are allocated in large object space and are never moved in
|
| - // memory. This also applies to new space allocation, since objects are never
|
| - // migrated from new space to large object space. Takes double alignment into
|
| - // account.
|
| - // TODO(hpayer): This limit should be way smaller but we currently have
|
| - // short living objects >256K.
|
| - static const int kMaxRegularHeapObjectSize = 512 * KB - Page::kHeaderSize;
|
| -
|
| static inline Page* ConvertNewToOld(Page* old_page, PagedSpace* new_owner);
|
|
|
| // Returns the page containing a given address. The address ranges
|
| @@ -2893,7 +2887,7 @@ class MapSpace : public PagedSpace {
|
|
|
|
|
| // -----------------------------------------------------------------------------
|
| -// Large objects ( > Page::kMaxRegularHeapObjectSize ) are allocated and
|
| +// Large objects ( > kMaxRegularHeapObjectSize ) 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).
|
| // A large object always starts at Page::kObjectStartOffset to a page.
|
|
|