#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 Page * | CommitPages (Address start, size_t size, PagedSpace *owner, int *num_pages) |
static bool | CommitBlock (Address start, size_t size, Executability executable) |
static Page * | AllocatePages (int requested_pages, int *allocated_pages, PagedSpace *owner) |
static Page * | FreePages (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 Page * | GetNextPage (Page *p) |
static bool | IsPageInSpace (Page *p, PagedSpace *space) |
static PagedSpace * | PageOwner (Page *page) |
static Page * | FindFirstPageInSameChunk (Page *p) |
static Page * | FindLastPageInSameChunk (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 Page * | InitializePagesInChunk (int chunk_id, int pages_in_chunk, PagedSpace *owner) |
Static Private 変数 | |
static int | capacity_ = 0 |
static int | size_ = 0 |
static VirtualMemory * | initial_chunk_ = NULL |
static List< ChunkInfo > | chunks_ |
static List< int > | free_chunk_ids_ |
static int | max_nof_chunks_ = 0 |
static int | top_ = 0 |
Page * v8::internal::MemoryAllocator::AllocatePages | ( | int | requested_pages, | |
int * | allocated_pages, | |||
PagedSpace * | owner | |||
) | [static] |
参照先 AllocateRawMemory(), capacity_, chunks_, v8::internal::Space::executable(), FreeRawMemory(), InitializePagesInChunk(), v8::internal::Page::kPageSize, v8::internal::Page::kPageSizeBits, LOG, v8::internal::NULL, v8::internal::PagesInChunk(), Pop(), と size_.
参照元 v8::internal::PagedSpace::Expand(), と v8::internal::PagedSpace::Setup().
void * v8::internal::MemoryAllocator::AllocateRawMemory | ( | const size_t | requested, | |
size_t * | allocated, | |||
Executability | executable | |||
) | [static] |
static int v8::internal::MemoryAllocator::Available | ( | ) | [inline, static] |
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] |
void v8::internal::MemoryAllocator::FreeRawMemory | ( | void * | buf, | |
size_t | length | |||
) | [static] |
int v8::internal::MemoryAllocator::GetChunkId | ( | Page * | p | ) | [inline, static, private] |
spaces-inl.h の 194 行で定義されています。
参照先 ASSERT, v8::internal::Page::is_valid(), と v8::internal::Page::opaque_header.
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] |
spaces-inl.h の 181 行で定義されています。
参照先 v8::internal::Page::address(), ASSERT, chunks_, GetChunkId(), v8::internal::Page::is_valid(), と IsValidChunkId().
bool v8::internal::MemoryAllocator::IsValidChunk | ( | int | chunk_id | ) | [inline, static, private] |
spaces-inl.h の 168 行で定義されています。
参照先 chunks_, IsValidChunkId(), と v8::internal::NULL.
参照元 DeleteChunk(), FindFirstPageInSameChunk(), FindLastPageInSameChunk(), FreePages(), InitializePagesInChunk(), と PageOwner().
bool v8::internal::MemoryAllocator::IsValidChunkId | ( | int | chunk_id | ) | [inline, static, private] |
static int v8::internal::MemoryAllocator::MaxAvailable | ( | ) | [inline, static] |
static bool v8::internal::MemoryAllocator::OutOfChunkIds | ( | ) | [inline, static, private] |
PagedSpace * v8::internal::MemoryAllocator::PageOwner | ( | Page * | page | ) | [inline, static] |
spaces-inl.h の 215 行で定義されています。
参照先 ASSERT, chunks_, GetChunkId(), と IsValidChunk().
int v8::internal::MemoryAllocator::Pop | ( | ) | [static, private] |
参照先 ASSERT, free_chunk_ids_, と top_.
参照元 AllocatePages(), と CommitPages().
void v8::internal::MemoryAllocator::Push | ( | int | free_chunk_id | ) | [static, private] |
参照先 ASSERT, free_chunk_ids_, max_nof_chunks_, と top_.
参照元 DeleteChunk().
void * v8::internal::MemoryAllocator::ReserveInitialChunk | ( | const size_t | requested | ) | [static] |
spaces-inl.h の 207 行で定義されています。
参照先 v8::internal::Page::address(), ASSERT, ASSERT_PAGE_ALIGNED, v8::internal::Page::is_valid(), v8::internal::Page::kPageAlignmentMask, v8::internal::OffsetFrom(), と v8::internal::Page::opaque_header.
参照元 v8::internal::PagedSpace::Expand(), FreePages(), と v8::internal::PagedSpace::Shrink().
bool v8::internal::MemoryAllocator::Setup | ( | int | max_capacity | ) | [static] |
void v8::internal::MemoryAllocator::TearDown | ( | ) | [static] |
int v8::internal::MemoryAllocator::capacity_ = 0 [static, private] |
List< MemoryAllocator::ChunkInfo > v8::internal::MemoryAllocator::chunks_ [static, private] |
List< int > v8::internal::MemoryAllocator::free_chunk_ids_ [static, private] |
VirtualMemory * v8::internal::MemoryAllocator::initial_chunk_ = NULL [static, private] |
const int v8::internal::MemoryAllocator::kChunkSize = kPagesPerChunk * Page::kPageSize [static] |
const int v8::internal::MemoryAllocator::kMaxNofChunks = 1 << Page::kPageSizeBits [static] |
const int v8::internal::MemoryAllocator::kPagesPerChunk = 64 [static] |
int v8::internal::MemoryAllocator::max_nof_chunks_ = 0 [static, private] |
参照元 IsValidChunkId(), Push(), Setup(), と TearDown().
int v8::internal::MemoryAllocator::size_ = 0 [static, private] |
int v8::internal::MemoryAllocator::top_ = 0 [static, private] |
参照元 OutOfChunkIds(), Pop(), Push(), Setup(), と TearDown().