![]() |
v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <spaces.h>
Friends | |
class | SemiSpaceIterator |
Additional Inherited Members | |
![]() | |
static void | FatalProcessOutOfMemory () |
static void * | New (size_t size) |
static void | Delete (void *p) |
|
inline |
Definition at line 2276 of file spaces.h.
Referenced by PromotionQueue::ActivateGuardIfOnTheSamePage().
bool AddFreshPage | ( | ) |
Definition at line 1201 of file spaces.cc.
References PromotionQueue::ActivateGuardIfOnTheSamePage(), SemiSpace::AdvancePage(), MemoryChunk::area_end(), Heap::CreateFillerObjectAt(), NewSpacePage::FromLimit(), Space::heap(), NewSpacePage::IsAtStart(), Heap::promotion_queue(), Heap::SCAVENGE, PromotionQueue::SetNewLimit(), AllocationInfo::top, and NewSpace::top().
Referenced by Runtime::PerformGC().
|
inline |
Definition at line 2162 of file spaces.h.
References SemiSpace::age_mark().
Referenced by Heap::ShouldBePromoted().
|
inline |
Definition at line 2184 of file spaces.h.
References AllocationInfo::limit.
Referenced by Heap::NewSpaceAllocationLimitAddress(), and TEST().
|
inline |
Definition at line 2183 of file spaces.h.
References AllocationInfo::top.
Referenced by Heap::NewSpaceAllocationTopAddress(), and TEST().
|
inline |
Definition at line 2137 of file spaces.h.
References NewSpace::Capacity(), and NewSpace::Size().
Referenced by Heap::Available(), Heap::PrintShortHeapStatistics(), NewSpace::ReportStatistics(), and TEST().
|
inline |
Definition at line 2159 of file spaces.h.
References SemiSpace::space_start().
Referenced by SemiSpaceIterator::SemiSpaceIterator().
|
inline |
Definition at line 2125 of file spaces.h.
References ASSERT, and SemiSpace::Capacity().
Referenced by NewSpace::Available(), Heap::Capacity(), Heap::CheckNewSpaceExpansionCriteria(), NewSpace::CommittedMemory(), NewSpace::Grow(), Heap::NextGCIsLikelyToBeFull(), Heap::OldGenAllocationLimit(), Heap::OldGenPromotionLimit(), Heap::RecordStats(), NewSpace::ReportStatistics(), NewSpace::Shrink(), and TEST().
void ClearHistograms | ( | ) |
Definition at line 1730 of file spaces.cc.
References v8::internal::LAST_TYPE.
Referenced by NewSpace::CollectStatistics().
void CollectStatistics | ( | ) |
Definition at line 1740 of file spaces.cc.
References NewSpace::ClearHistograms(), SemiSpaceIterator::Next(), v8::internal::NULL, and NewSpace::RecordAllocation().
|
inline |
Definition at line 2262 of file spaces.h.
References SemiSpace::Commit(), and SemiSpace::is_committed().
Referenced by Heap::EnsureFromSpaceIsCommitted().
|
inline |
Definition at line 2131 of file spaces.h.
References NewSpace::Capacity(), and SemiSpace::is_committed().
Referenced by Heap::CommittedMemory().
|
inline |
Definition at line 2097 of file spaces.h.
Referenced by StoreBuffer::EnterDirectlyIntoStoreBuffer(), NewSpace::INLINE(), Heap::InNewSpace(), and TEST().
|
inline |
Definition at line 2119 of file spaces.h.
References SemiSpace::Capacity(), NewSpacePage::kAreaSize, Page::kPageSize, and SLOW_ASSERT.
Referenced by Heap::ShouldBePromoted().
void Flip | ( | ) |
Definition at line 1127 of file spaces.cc.
References SemiSpace::Swap().
|
inline |
Definition at line 2218 of file spaces.h.
References SemiSpace::Contains().
Referenced by Heap::InFromSpace().
|
inline |
Definition at line 2226 of file spaces.h.
References SemiSpace::Contains().
|
inline |
Definition at line 2209 of file spaces.h.
References SemiSpace::space_end().
Referenced by IncrementalMarking::PrepareForScavenge().
|
inline |
Definition at line 2207 of file spaces.h.
References SemiSpace::page_high().
|
inline |
Definition at line 2206 of file spaces.h.
References SemiSpace::page_low().
|
inline |
Definition at line 2208 of file spaces.h.
References SemiSpace::space_start().
Referenced by IncrementalMarking::PrepareForScavenge().
void Grow | ( | ) |
Definition at line 1132 of file spaces.cc.
References ASSERT, ASSERT_SEMISPACE_ALLOCATION_INFO, SemiSpace::Capacity(), NewSpace::Capacity(), V8::FatalProcessOutOfMemory(), SemiSpace::GrowTo(), NewSpace::MaximumCapacity(), v8::internal::Min(), and SemiSpace::ShrinkTo().
Referenced by Heap::CheckNewSpaceExpansionCriteria(), and TEST().
|
inline |
Definition at line 2081 of file spaces.h.
References SemiSpace::HasBeenSetUp().
Referenced by TEST().
|
inline |
Definition at line 2148 of file spaces.h.
References ASSERT, and SemiSpace::InitialCapacity().
Referenced by NewSpace::ReserveSpace(), and NewSpace::Shrink().
|
inline |
Definition at line 2171 of file spaces.h.
References ASSERT, NewSpace::Contains(), v8::internal::IsAligned(), v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, and v8::internal::OffsetFrom().
|
inline |
Definition at line 2178 of file spaces.h.
References v8::internal::kPointerSizeLog2.
MUST_USE_RESULT INLINE | ( | MaybeObject * | AllocateRawint size_in_bytes | ) |
|
inline |
Definition at line 2191 of file spaces.h.
References AllocationInfo::limit, v8::internal::Min(), SemiSpace::page_high(), and AllocationInfo::top.
Referenced by IncrementalMarking::Abort(), IncrementalMarking::Finalize(), and IncrementalMarking::Start().
|
inline |
Definition at line 2169 of file spaces.h.
Referenced by Heap::NewSpaceMask().
|
inline |
Definition at line 2142 of file spaces.h.
References ASSERT, and SemiSpace::MaximumCapacity().
Referenced by Heap::CheckNewSpaceExpansionCriteria(), and NewSpace::Grow().
void RecordAllocation | ( | HeapObject * | obj | ) |
Definition at line 1804 of file spaces.cc.
References ASSERT, Map::instance_type(), v8::internal::LAST_TYPE, HeapObject::map(), HeapObject::Size(), and v8::internal::type().
Referenced by NewSpace::CollectStatistics().
void RecordPromotion | ( | HeapObject * | obj | ) |
Definition at line 1812 of file spaces.cc.
References ASSERT, Map::instance_type(), v8::internal::LAST_TYPE, HeapObject::map(), HeapObject::Size(), and v8::internal::type().
void ReportStatistics | ( | ) |
Definition at line 1776 of file spaces.cc.
References NewSpace::Available(), NewSpace::Capacity(), ISOLATE, v8::internal::LAST_TYPE, v8::internal::PrintF(), and V8_PTR_PREFIX.
|
virtual |
Implements Space.
Definition at line 2185 of file spaces.cc.
References HeapObject::address(), ASSERT, HeapObject::cast(), NewSpace::InitialCapacity(), v8::internal::NULL, and AllocationInfo::top.
Referenced by Heap::ReserveSpace().
void ResetAllocationInfo | ( | ) |
Definition at line 1189 of file spaces.cc.
References Bitmap::Clear(), and SemiSpace::Reset().
Referenced by NewSpace::SetUp().
|
inline |
Definition at line 2164 of file spaces.h.
References SemiSpace::set_age_mark().
bool SetUp | ( | int | reserved_semispace_size_, |
int | max_semispace_size | ||
) |
Definition at line 1043 of file spaces.cc.
References ASSERT, SemiSpace::Commit(), Space::heap(), Heap::InitialSemiSpaceSize(), INSTANCE_TYPE_LIST, SemiSpace::is_committed(), v8::internal::IsAddressAligned(), Heap::isolate(), v8::internal::IsPowerOf2(), v8::internal::kHeapObjectTag, v8::internal::kHeapObjectTagMask, v8::internal::LAST_TYPE, LOG, Isolate::memory_allocator(), v8::internal::NULL, MemoryAllocator::ReserveAlignedMemory(), NewSpace::ResetAllocationInfo(), SET_NAME, and SemiSpace::SetUp().
Referenced by Heap::SetUp(), and TEST().
void Shrink | ( | ) |
Definition at line 1152 of file spaces.cc.
References ASSERT_SEMISPACE_ALLOCATION_INFO, SemiSpace::Capacity(), NewSpace::Capacity(), V8::FatalProcessOutOfMemory(), SemiSpace::GrowTo(), NewSpace::InitialCapacity(), AllocationInfo::limit, v8::internal::Max(), SemiSpace::page_high(), SemiSpace::Reset(), v8::internal::RoundUp(), SemiSpace::ShrinkTo(), and NewSpace::SizeAsInt().
Referenced by Heap::CollectAllAvailableGarbage(), and TEST().
|
inline |
Definition at line 338 of file spaces-inl.h.
References HeapObject::address(), ASSERT, MemoryChunk::IncrementLiveBytesFromMutator(), Marking::IsBlack(), String::length(), Marking::MarkBitFrom(), and AllocationInfo::top.
|
inlinevirtual |
Implements Space.
Definition at line 2108 of file spaces.h.
References NewSpacePage::kAreaSize, SemiSpace::page_low(), and NewSpace::top().
Referenced by NewSpace::Available(), Heap::ShouldBePromoted(), NewSpace::SizeAsInt(), and TEST().
|
inline |
Definition at line 2116 of file spaces.h.
References NewSpace::Size().
Referenced by Heap::RecordStats(), and NewSpace::Shrink().
|
inline |
Definition at line 2168 of file spaces.h.
Referenced by Heap::NewSpaceStart().
void TearDown | ( | ) |
Definition at line 1100 of file spaces.cc.
References ASSERT, v8::internal::DeleteArray(), MemoryAllocator::FreeMemory(), Space::heap(), Heap::isolate(), VirtualMemory::IsReserved(), AllocationInfo::limit, LOG, Isolate::memory_allocator(), v8::internal::NOT_EXECUTABLE, v8::internal::NULL, SemiSpace::TearDown(), and AllocationInfo::top.
Referenced by Heap::TearDown(), and TEST().
|
inline |
Definition at line 2154 of file spaces.h.
References ASSERT, MemoryChunk::ContainsLimit(), SemiSpace::current_page(), and AllocationInfo::top.
Referenced by NewSpace::AddFreshPage(), Heap::NewSpaceTop(), SemiSpaceIterator::SemiSpaceIterator(), and NewSpace::Size().
|
inline |
Definition at line 2215 of file spaces.h.
References SemiSpace::Contains().
Referenced by Heap::Contains(), Heap::InSpace(), and Heap::InToSpace().
|
inline |
Definition at line 2225 of file spaces.h.
References SemiSpace::Contains().
|
inline |
Definition at line 2213 of file spaces.h.
References SemiSpace::space_end().
Referenced by PromotionQueue::Initialize().
|
inline |
Definition at line 2212 of file spaces.h.
References SemiSpace::space_start().
Referenced by PromotionQueue::Initialize().
|
inline |
Definition at line 2267 of file spaces.h.
References SemiSpace::is_committed(), and SemiSpace::Uncommit().
Referenced by Heap::UncommitFromSpace().
|
friend |