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
CellSpace Class Reference

#include <spaces.h>

Inheritance diagram for CellSpace:
Collaboration diagram for CellSpace:

Public Member Functions

 CellSpace (Heap *heap, intptr_t max_capacity, AllocationSpace id)
 
virtual int RoundSizeDownToObjectAlignment (int size)
 
- Public Member Functions inherited from FixedSpace
 FixedSpace (Heap *heap, intptr_t max_capacity, AllocationSpace id, int object_size_in_bytes, const char *name)
 
virtual Address PageAllocationLimit (Page *page)
 
int object_size_in_bytes ()
 
virtual void PrepareForMarkCompact ()
 
- Public Member Functions inherited from PagedSpace
 PagedSpace (Heap *heap, intptr_t max_capacity, AllocationSpace id, Executability executable)
 
virtual ~PagedSpace ()
 
bool SetUp ()
 
bool HasBeenSetUp ()
 
void TearDown ()
 
bool Contains (Address a)
 
bool Contains (HeapObject *o)
 
MUST_USE_RESULT MaybeObject * FindObject (Address addr)
 
virtual void RepairFreeListsAfterBoot ()
 
intptr_t Capacity ()
 
intptr_t CommittedMemory ()
 
void ClearStats ()
 
intptr_t Available ()
 
virtual intptr_t Size ()
 
virtual intptr_t SizeOfObjects ()
 
virtual intptr_t Waste ()
 
Address top ()
 
Address limit ()
 
MUST_USE_RESULT MaybeObject * AllocateRaw (int size_in_bytes)
 
virtual bool ReserveSpace (int bytes)
 
int Free (Address start, int size_in_bytes)
 
void ResetFreeList ()
 
void SetTop (Address top, Address limit)
 
void Allocate (int bytes)
 
void IncreaseCapacity (int size)
 
void ReleasePage (Page *page)
 
void ReleaseAllUnusedPages ()
 
Pageanchor ()
 
bool was_swept_conservatively ()
 
void set_was_swept_conservatively (bool b)
 
void SetPagesToSweep (Page *first)
 
void IncrementUnsweptFreeBytes (int by)
 
void IncreaseUnsweptFreeBytes (Page *p)
 
void DecreaseUnsweptFreeBytes (Page *p)
 
bool AdvanceSweeper (intptr_t bytes_to_sweep)
 
bool IsSweepingComplete ()
 
PageFirstPage ()
 
PageLastPage ()
 
void CountFreeListItems (Page *p, FreeList::SizeStats *sizes)
 
void EvictEvacuationCandidatesFromFreeLists ()
 
bool CanExpand ()
 
int CountTotalPages ()
 
int AreaSize ()
 
- Public Member Functions inherited from Space
 Space (Heap *heap, AllocationSpace id, Executability executable)
 
virtual ~Space ()
 
Heapheap () const
 
Executability executable ()
 
AllocationSpace identity ()
 
- Public Member Functions inherited from Malloced
void * operator new (size_t size)
 
void operator delete (void *p)
 

Protected Member Functions

virtual void VerifyObject (HeapObject *obj)
 
- Protected Member Functions inherited from PagedSpace
intptr_t SizeOfFirstPage ()
 
bool Expand ()
 
HeapObjectAllocateLinearly (int size_in_bytes)
 
virtual MUST_USE_RESULT
HeapObject
SlowAllocateRaw (int size_in_bytes)
 

Additional Inherited Members

- Static Public Member Functions inherited from PagedSpace
static bool ShouldBeSweptLazily (Page *p)
 
- Static Public Member Functions inherited from Malloced
static void FatalProcessOutOfMemory ()
 
static void * New (size_t size)
 
static void Delete (void *p)
 
- Protected Attributes inherited from PagedSpace
int area_size_
 
intptr_t max_capacity_
 
AllocationStats accounting_stats_
 
Page anchor_
 
FreeList free_list_
 
AllocationInfo allocation_info_
 
int page_extra_
 
bool was_swept_conservatively_
 
Pagefirst_unswept_page_
 
intptr_t unswept_free_bytes_
 

Detailed Description

Definition at line 2461 of file spaces.h.

Constructor & Destructor Documentation

CellSpace ( Heap heap,
intptr_t  max_capacity,
AllocationSpace  id 
)
inline

Definition at line 2464 of file spaces.h.

Member Function Documentation

virtual int RoundSizeDownToObjectAlignment ( int  size)
inlinevirtual

Reimplemented from Space.

Definition at line 2468 of file spaces.h.

References v8::internal::IsPowerOf2(), JSGlobalPropertyCell::kSize, and v8::internal::RoundDown().

void VerifyObject ( HeapObject obj)
protectedvirtual

Definition at line 2574 of file spaces.cc.

References CHECK, Space::heap(), and HeapObject::map().


The documentation for this class was generated from the following files: