#include <spaces.h>
v8::internal::PagedSpaceを継承しています。
Public メソッド | |
MapSpace (int max_capacity, AllocationSpace id) | |
virtual Address | PageAllocationTop (Page *page) |
void | Free (Address start) |
Address | PageAddress (int page_index) |
virtual void | PrepareForMarkCompact (bool will_compact) |
virtual void | MCCommitRelocationInfo () |
Static Public 変数 | |
static const int | kMapPageIndexBits = 10 |
static const int | kMaxMapPageIndex = (1 << kMapPageIndexBits) - 1 |
static const int | kPageExtra = Page::kObjectAreaSize % Map::kSize |
Protected メソッド | |
HeapObject * | SlowAllocateRaw (int size_in_bytes) |
HeapObject * | AllocateInNextPage (Page *current_page, int size_in_bytes) |
Private 変数 | |
MapSpaceFreeList | free_list_ |
Address | page_addresses_ [kMaxMapPageIndex] |
v8::internal::MapSpace::MapSpace | ( | int | max_capacity, | |
AllocationSpace | id | |||
) | [inline, explicit] |
HeapObject * v8::internal::MapSpace::AllocateInNextPage | ( | Page * | current_page, | |
int | size_in_bytes | |||
) | [protected, virtual] |
v8::internal::PagedSpaceを実装しています。
参照先 v8::internal::PagedSpace::accounting_stats_, v8::internal::PagedSpace::AllocateLinearly(), v8::internal::PagedSpace::allocation_info_, ASSERT, v8::internal::Page::is_valid(), kPageExtra, v8::internal::Page::next_page(), v8::internal::Page::ObjectAreaEnd(), v8::internal::PagedSpace::SetAllocationInfo(), と v8::internal::AllocationInfo::top.
参照元 SlowAllocateRaw().
void v8::internal::MapSpace::Free | ( | Address | start | ) | [inline] |
void v8::internal::MapSpace::MCCommitRelocationInfo | ( | ) | [virtual] |
v8::internal::PagedSpaceを実装しています。
参照先 v8::internal::PagedSpace::accounting_stats_, v8::internal::PagedSpace::allocation_info_, v8::internal::Page::AllocationTop(), ASSERT, v8::internal::AllocationInfo::limit, v8::internal::PagedSpace::mc_forwarding_info_, v8::internal::Page::ObjectAreaEnd(), v8::internal::Page::ObjectAreaStart(), v8::internal::PagedSpace::PageIterator, v8::internal::PagedSpace::Size(), v8::internal::AllocationInfo::top, と v8::internal::PagedSpace::Waste().
Address v8::internal::MapSpace::PageAddress | ( | int | page_index | ) | [inline] |
参照先 page_addresses_.
void v8::internal::MapSpace::PrepareForMarkCompact | ( | bool | will_compact | ) | [virtual] |
v8::internal::PagedSpaceを実装しています。
参照先 v8::internal::PagedSpace::accounting_stats_, v8::internal::Page::address(), ASSERT, ASSERT_MAP_PAGE_INDEX, v8::internal::PagedSpace::Available(), v8::internal::PagedSpace::Capacity(), free_list_, v8::internal::Page::mc_page_index, v8::internal::PagedSpace::MCResetRelocationInfo(), page_addresses_, と v8::internal::PagedSpace::PageIterator.
HeapObject * v8::internal::MapSpace::SlowAllocateRaw | ( | int | size_in_bytes | ) | [protected, virtual] |
v8::internal::PagedSpaceを実装しています。
参照先 v8::internal::PagedSpace::accounting_stats_, AllocateInNextPage(), v8::internal::PagedSpace::allocation_info_, v8::internal::Heap::always_allocate(), ASSERT, v8::internal::HeapObject::cast(), v8::internal::PagedSpace::Expand(), free_list_, v8::internal::Page::is_valid(), v8::internal::Page::next_page(), v8::internal::NULL, v8::internal::Heap::OldGenerationAllocationLimitReached(), と v8::internal::PagedSpace::TopPageOf().
MapSpaceFreeList v8::internal::MapSpace::free_list_ [private] |
const int v8::internal::MapSpace::kMapPageIndexBits = 10 [static] |
const int v8::internal::MapSpace::kMaxMapPageIndex = (1 << kMapPageIndexBits) - 1 [static] |
const int v8::internal::MapSpace::kPageExtra = Page::kObjectAreaSize % Map::kSize [static] |
参照元 PageAddress(), と PrepareForMarkCompact().