v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <spaces.h>
Static Public Member Functions | |
static intptr_t | ObjectSizeFor (intptr_t chunk_size) |
Static Public Member Functions inherited from Malloced | |
static void | FatalProcessOutOfMemory () |
static void * | New (size_t size) |
static void | Delete (void *p) |
Friends | |
class | LargeObjectIterator |
LargeObjectSpace | ( | Heap * | heap, |
intptr_t | max_capacity, | ||
AllocationSpace | id | ||
) |
|
inlinevirtual |
MaybeObject * AllocateRaw | ( | int | object_size, |
Executability | executable | ||
) |
Definition at line 2935 of file spaces.cc.
References MemoryChunk::area_size(), ASSERT, Smi::FromInt(), LargePage::GetObject(), Space::heap(), Space::identity(), Heap::incremental_marking(), Heap::isolate(), MemoryChunk::kAlignment, TemplateHashMapImpl< AllocationPolicy >::Lookup(), Isolate::memory_allocator(), v8::internal::NULL, IncrementalMarking::OldSpaceStep(), Failure::RetryAfterGC(), LargePage::set_next_page(), Heap::ShouldZapGarbage(), MemoryChunk::size(), and LargeObjectSpace::Size().
Referenced by Heap::AllocateRaw(), Heap::CopyCode(), Heap::CreateCode(), and TEST().
|
inline |
Definition at line 350 of file spaces-inl.h.
References Space::heap(), and LargeObjectSpace::ObjectSizeFor().
Referenced by StatisticsExtension::GetCounters(), Heap::PrintShortHeapStatistics(), and TEST().
|
inline |
Definition at line 2833 of file spaces.h.
References LargeObjectSpace::Size().
Referenced by LargeObjectSpace::CommittedPhysicalMemory(), StatisticsExtension::GetCounters(), and Heap::PrintShortHeapStatistics().
size_t CommittedPhysicalMemory | ( | ) |
Definition at line 2990 of file spaces.cc.
References LargeObjectSpace::CommittedMemory(), MemoryChunk::CommittedPhysicalMemory(), VirtualMemory::HasLazyCommits(), LargePage::next_page(), v8::internal::NULL, and v8::internal::size.
Referenced by Heap::CommittedPhysicalMemory().
bool Contains | ( | HeapObject * | obj | ) |
Definition at line 3083 of file spaces.cc.
References LargeObjectSpace::FindObject(), MemoryChunk::FromAddress(), MemoryChunk::owner(), and SLOW_ASSERT.
Referenced by v8::internal::BUILTIN(), and TEST().
MaybeObject * FindObject | ( | Address | a | ) |
Definition at line 3003 of file spaces.cc.
References Failure::Exception(), LargeObjectSpace::FindPage(), LargePage::GetObject(), and v8::internal::NULL.
Referenced by LargeObjectSpace::Contains(), LargeObjectSpace::SlowContains(), and TEST().
Definition at line 3012 of file spaces.cc.
References ASSERT, MemoryChunk::Contains(), MemoryChunk::is_valid(), MemoryChunk::kAlignment, TemplateHashMapImpl< AllocationPolicy >::Lookup(), and v8::internal::NULL.
Referenced by LargeObjectSpace::FindObject(), and InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer().
void FreeUnmarkedObjects | ( | ) |
Definition at line 3029 of file spaces.cc.
References HeapObject::address(), MarkBit::Clear(), MemoryAllocator::Free(), Heap::FreeQueuedChunks(), MemoryChunk::FromAddress(), MarkBit::Get(), LargePage::GetObject(), Space::heap(), Heap::isolate(), MemoryChunk::kAlignment, Heap::mark_compact_collector(), Isolate::memory_allocator(), LargePage::next_page(), v8::internal::NULL, Heap::QueueMemoryChunkForFree(), TemplateHashMapImpl< AllocationPolicy >::Remove(), MarkCompactCollector::ReportDeleteIfNeeded(), LargePage::set_next_page(), and MemoryChunk::size().
|
inline |
|
inline |
Definition at line 2829 of file spaces.h.
Referenced by Heap::TearDown().
|
inlinestatic |
Definition at line 2808 of file spaces.h.
References MemoryChunk::kObjectStartOffset, and Page::kPageSize.
Referenced by LargeObjectSpace::Available().
bool SetUp | ( | ) |
Definition at line 2909 of file spaces.cc.
References TemplateHashMapImpl< AllocationPolicy >::Clear(), and v8::internal::NULL.
Referenced by Heap::SetUp(), and LargeObjectSpace::TearDown().
|
inlinevirtual |
Implements Space.
Definition at line 2821 of file spaces.h.
Referenced by LargeObjectSpace::AllocateRaw(), Heap::CommittedMemory(), LargeObjectSpace::CommittedMemory(), StatisticsExtension::GetCounters(), and Heap::RecordStats().
|
inlinevirtual |
Reimplemented from Space.
Definition at line 2825 of file spaces.h.
Referenced by Heap::PrintShortHeapStatistics(), and Heap::PromotedSpaceSizeOfObjects().
|
inline |
Definition at line 2875 of file spaces.h.
References LargeObjectSpace::FindObject().
Referenced by Heap::Contains(), and Heap::InSpace().
void TearDown | ( | ) |
Definition at line 2920 of file spaces.cc.
References MemoryChunk::address(), MemoryAllocator::Free(), Space::heap(), Space::identity(), Heap::isolate(), v8::kAllocationActionFree, LOG, Isolate::memory_allocator(), LargePage::next_page(), v8::internal::NULL, MemoryAllocator::PerformAllocationCallback(), LargeObjectSpace::SetUp(), and MemoryChunk::size().
Referenced by Heap::TearDown().
|
friend |