v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <spaces.h>
Friends | |
class | SemiSpaceIterator |
Additional Inherited Members | |
Static Public Member Functions inherited from Malloced | |
static void | FatalProcessOutOfMemory () |
static void * | New (size_t size) |
static void | Delete (void *p) |
|
inline |
Definition at line 2304 of file spaces.h.
Referenced by PromotionQueue::ActivateGuardIfOnTheSamePage().
bool AddFreshPage | ( | ) |
Definition at line 1204 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 2187 of file spaces.h.
References SemiSpace::age_mark().
Referenced by Heap::ShouldBePromoted().
|
inline |
Definition at line 2209 of file spaces.h.
References AllocationInfo::limit.
Referenced by Heap::NewSpaceAllocationLimitAddress(), and TEST().
|
inline |
Definition at line 2208 of file spaces.h.
References AllocationInfo::top.
Referenced by Heap::NewSpaceAllocationTopAddress(), and TEST().
|
inline |
Definition at line 2162 of file spaces.h.
References NewSpace::Capacity(), and NewSpace::Size().
Referenced by Heap::Available(), StatisticsExtension::GetCounters(), Heap::PrintShortHeapStatistics(), NewSpace::ReportStatistics(), and TEST().
|
inline |
Definition at line 2184 of file spaces.h.
References SemiSpace::space_start().
Referenced by SemiSpaceIterator::SemiSpaceIterator().
|
inline |
Definition at line 2150 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 1735 of file spaces.cc.
References v8::internal::LAST_TYPE.
Referenced by NewSpace::CollectStatistics().
void CollectStatistics | ( | ) |
Definition at line 1745 of file spaces.cc.
References NewSpace::ClearHistograms(), SemiSpaceIterator::Next(), v8::internal::NULL, and NewSpace::RecordAllocation().
|
inline |
Definition at line 2290 of file spaces.h.
References SemiSpace::Commit(), and SemiSpace::is_committed().
Referenced by Heap::EnsureFromSpaceIsCommitted().
|
inline |
Definition at line 2156 of file spaces.h.
References NewSpace::Capacity(), and SemiSpace::is_committed().
Referenced by Heap::CommittedMemory(), StatisticsExtension::GetCounters(), and Heap::PrintShortHeapStatistics().
|
inline |
Definition at line 2122 of file spaces.h.
Referenced by StoreBuffer::EnterDirectlyIntoStoreBuffer(), NewSpace::INLINE(), Heap::InNewSpace(), and TEST().
|
inline |
Definition at line 2144 of file spaces.h.
References SemiSpace::Capacity(), NewSpacePage::kAreaSize, Page::kPageSize, and SLOW_ASSERT.
Referenced by Heap::ShouldBePromoted().
void Flip | ( | ) |
Definition at line 1130 of file spaces.cc.
References SemiSpace::Swap().
|
inline |
Definition at line 2243 of file spaces.h.
References SemiSpace::Contains().
Referenced by Heap::InFromSpace().
|
inline |
Definition at line 2251 of file spaces.h.
References SemiSpace::Contains().
|
inline |
Definition at line 2234 of file spaces.h.
References SemiSpace::space_end().
Referenced by IncrementalMarking::PrepareForScavenge(), and Heap::ZapFromSpace().
|
inline |
Definition at line 2232 of file spaces.h.
References SemiSpace::page_high().
|
inline |
Definition at line 2231 of file spaces.h.
References SemiSpace::page_low().
|
inline |
Definition at line 2233 of file spaces.h.
References SemiSpace::space_start().
Referenced by IncrementalMarking::PrepareForScavenge(), and Heap::ZapFromSpace().
void Grow | ( | ) |
Definition at line 1135 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 2106 of file spaces.h.
References SemiSpace::HasBeenSetUp().
Referenced by TEST().
|
inline |
Definition at line 2173 of file spaces.h.
References ASSERT, and SemiSpace::InitialCapacity().
Referenced by NewSpace::ReserveSpace(), and NewSpace::Shrink().
|
inline |
Definition at line 2196 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 2203 of file spaces.h.
References v8::internal::kPointerSizeLog2.
MUST_USE_RESULT INLINE | ( | MaybeObject * | AllocateRawint size_in_bytes | ) |
|
inline |
Definition at line 2216 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 2194 of file spaces.h.
Referenced by Heap::NewSpaceMask().
|
inline |
Definition at line 2167 of file spaces.h.
References ASSERT, and SemiSpace::MaximumCapacity().
Referenced by Heap::CheckNewSpaceExpansionCriteria(), and NewSpace::Grow().
void RecordAllocation | ( | HeapObject * | obj | ) |
Definition at line 1809 of file spaces.cc.
References ASSERT, Map::instance_type(), v8::internal::LAST_TYPE, HeapObject::map(), and HeapObject::Size().
Referenced by NewSpace::CollectStatistics().
void RecordPromotion | ( | HeapObject * | obj | ) |
Definition at line 1817 of file spaces.cc.
References ASSERT, Map::instance_type(), v8::internal::LAST_TYPE, HeapObject::map(), and HeapObject::Size().
void ReportStatistics | ( | ) |
Definition at line 1781 of file spaces.cc.
References NewSpace::Available(), NewSpace::Capacity(), ISOLATE, v8::internal::LAST_TYPE, v8::internal::PrintF(), and V8_PTR_PREFIX.
|
virtual |
Definition at line 2191 of file spaces.cc.
References HeapObject::address(), ASSERT, HeapObject::cast(), NewSpace::InitialCapacity(), v8::internal::NULL, and AllocationInfo::top.
void ResetAllocationInfo | ( | ) |
Definition at line 1192 of file spaces.cc.
References Bitmap::Clear(), and SemiSpace::Reset().
Referenced by NewSpace::SetUp().
|
inline |
Definition at line 2189 of file spaces.h.
References SemiSpace::set_age_mark().
bool SetUp | ( | int | reserved_semispace_size_, |
int | max_semispace_size | ||
) |
Definition at line 1046 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 1155 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 342 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 2133 of file spaces.h.
References NewSpacePage::kAreaSize, SemiSpace::page_low(), and NewSpace::top().
Referenced by NewSpace::Available(), StatisticsExtension::GetCounters(), Heap::PrintShortHeapStatistics(), Heap::ShouldBePromoted(), NewSpace::SizeAsInt(), and TEST().
|
inline |
Definition at line 2141 of file spaces.h.
References NewSpace::Size().
Referenced by Heap::RecordStats(), and NewSpace::Shrink().
|
inline |
Definition at line 2193 of file spaces.h.
Referenced by Heap::NewSpaceStart().
void TearDown | ( | ) |
Definition at line 1103 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 2179 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 2240 of file spaces.h.
References SemiSpace::Contains().
Referenced by Heap::Contains(), Heap::InSpace(), and Heap::InToSpace().
|
inline |
Definition at line 2250 of file spaces.h.
References SemiSpace::Contains().
|
inline |
Definition at line 2238 of file spaces.h.
References SemiSpace::space_end().
Referenced by PromotionQueue::Initialize().
|
inline |
Definition at line 2237 of file spaces.h.
References SemiSpace::space_start().
Referenced by PromotionQueue::Initialize().
|
inline |
Definition at line 2295 of file spaces.h.
References SemiSpace::is_committed(), and SemiSpace::Uncommit().
Referenced by Heap::UncommitFromSpace().
|
friend |