構成 | Static Public メソッド | Static Public 変数 | Static Private メソッド | Static Private 変数

クラス v8::internal::MemoryAllocator

#include <spaces.h>

v8::internal::AllStaticを継承しています。

すべてのメンバ一覧

構成

class  BASE_EMBEDDED

Static Public メソッド

static bool Setup (int max_capacity)
static void TearDown ()
static void * ReserveInitialChunk (const size_t requested)
static PageCommitPages (Address start, size_t size, PagedSpace *owner, int *num_pages)
static bool CommitBlock (Address start, size_t size, Executability executable)
static PageAllocatePages (int requested_pages, int *allocated_pages, PagedSpace *owner)
static PageFreePages (Page *p)
static void * AllocateRawMemory (const size_t requested, size_t *allocated, Executability executable)
static void FreeRawMemory (void *buf, size_t length)
static int Available ()
static int MaxAvailable ()
static void SetNextPage (Page *prev, Page *next)
static PageGetNextPage (Page *p)
static bool IsPageInSpace (Page *p, PagedSpace *space)
static PagedSpacePageOwner (Page *page)
static PageFindFirstPageInSameChunk (Page *p)
static PageFindLastPageInSameChunk (Page *p)

Static Public 変数

static const int kMaxNofChunks = 1 << Page::kPageSizeBits
static const int kPagesPerChunk = 64
static const int kChunkSize = kPagesPerChunk * Page::kPageSize

Static Private メソッド

static void Push (int free_chunk_id)
static int Pop ()
static bool OutOfChunkIds ()
static void DeleteChunk (int chunk_id)
static bool IsValidChunkId (int chunk_id)
static bool IsValidChunk (int chunk_id)
static int GetChunkId (Page *p)
static PageInitializePagesInChunk (int chunk_id, int pages_in_chunk, PagedSpace *owner)

Static Private 変数

static int capacity_ = 0
static int size_ = 0
static VirtualMemoryinitial_chunk_ = NULL
static List< ChunkInfo > chunks_
static List< int > free_chunk_ids_
static int max_nof_chunks_ = 0
static int top_ = 0

説明

spaces.h313 行で定義されています。


関数

Page * v8::internal::MemoryAllocator::AllocatePages ( int  requested_pages,
int *  allocated_pages,
PagedSpace owner 
) [static]
void * v8::internal::MemoryAllocator::AllocateRawMemory ( const size_t  requested,
size_t *  allocated,
Executability  executable 
) [static]
static int v8::internal::MemoryAllocator::Available (  )  [inline, static]

spaces.h376 行で定義されています。

参照先 capacity_, と size_.

参照元 v8::internal::LargeObjectSpace::Available(), と MaxAvailable().

bool v8::internal::MemoryAllocator::CommitBlock ( Address  start,
size_t  size,
Executability  executable 
) [static]
Page * v8::internal::MemoryAllocator::CommitPages ( Address  start,
size_t  size,
PagedSpace owner,
int *  num_pages 
) [static]
void v8::internal::MemoryAllocator::DeleteChunk ( int  chunk_id  )  [static, private]
Page * v8::internal::MemoryAllocator::FindFirstPageInSameChunk ( Page p  )  [static]

spaces.cc431 行で定義されています。

参照先 ASSERT, chunks_, GetChunkId(), IsValidChunk(), v8::internal::Page::kPageSize, と v8::internal::RoundUp().

参照元 FreePages().

Page * v8::internal::MemoryAllocator::FindLastPageInSameChunk ( Page p  )  [static]
Page * v8::internal::MemoryAllocator::FreePages ( Page p  )  [static]
void v8::internal::MemoryAllocator::FreeRawMemory ( void *  buf,
size_t  length 
) [static]
int v8::internal::MemoryAllocator::GetChunkId ( Page p  )  [inline, static, private]
Page * v8::internal::MemoryAllocator::GetNextPage ( Page p  )  [inline, static]
Page * v8::internal::MemoryAllocator::InitializePagesInChunk ( int  chunk_id,
int  pages_in_chunk,
PagedSpace owner 
) [static, private]
bool v8::internal::MemoryAllocator::IsPageInSpace ( Page p,
PagedSpace space 
) [inline, static]
bool v8::internal::MemoryAllocator::IsValidChunk ( int  chunk_id  )  [inline, static, private]
bool v8::internal::MemoryAllocator::IsValidChunkId ( int  chunk_id  )  [inline, static, private]

spaces-inl.h176 行で定義されています。

参照先 max_nof_chunks_.

参照元 IsPageInSpace(), と IsValidChunk().

static int v8::internal::MemoryAllocator::MaxAvailable (  )  [inline, static]
static bool v8::internal::MemoryAllocator::OutOfChunkIds (  )  [inline, static, private]

spaces.h449 行で定義されています。

参照先 top_.

参照元 CommitPages().

PagedSpace * v8::internal::MemoryAllocator::PageOwner ( Page page  )  [inline, static]

spaces-inl.h215 行で定義されています。

参照先 ASSERT, chunks_, GetChunkId(), と IsValidChunk().

参照元 v8::internal::Page::AllocationTop().

int v8::internal::MemoryAllocator::Pop (  )  [static, private]

spaces.cc164 行で定義されています。

参照先 ASSERT, free_chunk_ids_, と top_.

参照元 AllocatePages(), と CommitPages().

void v8::internal::MemoryAllocator::Push ( int  free_chunk_id  )  [static, private]

spaces.cc157 行で定義されています。

参照先 ASSERT, free_chunk_ids_, max_nof_chunks_, と top_.

参照元 DeleteChunk().

void * v8::internal::MemoryAllocator::ReserveInitialChunk ( const size_t  requested  )  [static]
void v8::internal::MemoryAllocator::SetNextPage ( Page prev,
Page next 
) [inline, static]
bool v8::internal::MemoryAllocator::Setup ( int  max_capacity  )  [static]
void v8::internal::MemoryAllocator::TearDown (  )  [static]

変数

int v8::internal::MemoryAllocator::capacity_ = 0 [static, private]

spaces.h413 行で定義されています。

参照元 AllocatePages(), AllocateRawMemory(), Available(), Setup(), と TearDown().

List< MemoryAllocator::ChunkInfo > v8::internal::MemoryAllocator::chunks_ [static, private]

spaces.h442 行で定義されています。

参照元 Pop(), Push(), Setup(), と TearDown().

spaces.h419 行で定義されています。

参照元 CommitBlock(), CommitPages(), DeleteChunk(), ReserveInitialChunk(), と TearDown().

spaces.h409 行で定義されています。

参照元 Setup().

spaces.h405 行で定義されています。

参照元 Setup().

spaces.h408 行で定義されています。

参照元 v8::internal::PagedSpace::Expand(), と v8::internal::PagedSpace::Setup().

spaces.h443 行で定義されています。

参照元 IsValidChunkId(), Push(), Setup(), と TearDown().

int v8::internal::MemoryAllocator::size_ = 0 [static, private]
int v8::internal::MemoryAllocator::top_ = 0 [static, private]

spaces.h444 行で定義されています。

参照元 OutOfChunkIds(), Pop(), Push(), Setup(), と TearDown().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義