v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
spaces.h File Reference
#include "allocation.h"
#include "hashmap.h"
#include "list.h"
#include "log.h"
Include dependency graph for spaces.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  MarkBit
 
class  Bitmap
 
class  Bitmap::CellPrinter
 
class  MemoryChunk
 
class  Page
 
class  LargePage
 
class  Space
 
class  CodeRange
 
class  SkipList
 
class  MemoryAllocator
 
class  ObjectIterator
 
class  HeapObjectIterator
 
class  BASE_EMBEDDED< Visitor >
 
class  AllocationInfo
 
class  BASE_EMBEDDED< Visitor >
 
class  FreeListNode
 
class  BASE_EMBEDDED< Visitor >
 
struct  BASE_EMBEDDED< Visitor >::SizeStats
 
class  PagedSpace
 
class  BASE_EMBEDDED< Visitor >
 
class  HistogramInfo
 
class  NewSpacePage
 
class  SemiSpace
 
class  SemiSpaceIterator
 
class  BASE_EMBEDDED< Visitor >
 
class  NewSpace
 
class  OldSpace
 
class  FixedSpace
 
class  MapSpace
 
class  CellSpace
 
class  LargeObjectSpace
 
class  LargeObjectIterator
 
class  BASE_EMBEDDED< Visitor >
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define ASSERT_PAGE_ALIGNED(address)   ASSERT((OffsetFrom(address) & Page::kPageAlignmentMask) == 0)
 
#define ASSERT_OBJECT_ALIGNED(address)   ASSERT((OffsetFrom(address) & kObjectAlignmentMask) == 0)
 
#define ASSERT_OBJECT_SIZE(size)   ASSERT((0 < size) && (size <= Page::kMaxNonCodeHeapObjectSize))
 
#define ASSERT_PAGE_OFFSET(offset)
 
#define ASSERT_MAP_PAGE_INDEX(index)   ASSERT((0 <= index) && (index <= MapSpace::kMaxMapPageIndex))
 
#define ASSERT_SEMISPACE_ALLOCATION_INFO(info, space)
 

Enumerations

enum  SemiSpaceId { kFromSpace = 0, kToSpace = 1 }
 

Functions

 STATIC_CHECK (sizeof(MemoryChunk)<=MemoryChunk::kHeaderSize)
 
 STATIC_CHECK (sizeof(Page)<=MemoryChunk::kHeaderSize)
 
 STATIC_CHECK (sizeof(LargePage)<=MemoryChunk::kHeaderSize)
 

Macro Definition Documentation

#define ASSERT_MAP_PAGE_INDEX (   index)    ASSERT((0 <= index) && (index <= MapSpace::kMaxMapPageIndex))

Definition at line 110 of file spaces.h.

#define ASSERT_OBJECT_ALIGNED (   address)    ASSERT((OffsetFrom(address) & kObjectAlignmentMask) == 0)

Definition at line 100 of file spaces.h.

#define ASSERT_OBJECT_SIZE (   size)    ASSERT((0 < size) && (size <= Page::kMaxNonCodeHeapObjectSize))

Definition at line 103 of file spaces.h.

#define ASSERT_PAGE_ALIGNED (   address)    ASSERT((OffsetFrom(address) & Page::kPageAlignmentMask) == 0)

Definition at line 97 of file spaces.h.

#define ASSERT_PAGE_OFFSET (   offset)
Value:
ASSERT((Page::kObjectStartOffset <= offset) \
&& (offset <= Page::kPageSize))
#define ASSERT(condition)
Definition: checks.h:270

Definition at line 106 of file spaces.h.

Referenced by Page::OffsetToAddress().

#define ASSERT_SEMISPACE_ALLOCATION_INFO (   info,
  space 
)
Value:
SLOW_ASSERT((space).page_low() <= (info).top \
&& (info).top <= (space).page_high() \
&& (info).limit <= (space).page_high())
#define SLOW_ASSERT(condition)
Definition: checks.h:276

Definition at line 2376 of file spaces.h.

Referenced by NewSpace::Grow(), and NewSpace::Shrink().