v8
3.25.30(node0.11.13)
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 2624 of file spaces.h.
Referenced by PromotionQueue::ActivateGuardIfOnTheSamePage().
bool AddFreshPage | ( | ) |
Definition at line 1391 of file spaces.cc.
References PromotionQueue::ActivateGuardIfOnTheSamePage(), SemiSpace::AdvancePage(), MemoryChunk::area_end(), Heap::CreateFillerObjectAt(), NewSpacePage::FromLimit(), Space::heap(), NewSpacePage::IsAtStart(), NewSpace::limit(), Heap::promotion_queue(), Heap::SCAVENGE, PromotionQueue::SetNewLimit(), and NewSpace::top().
Referenced by Runtime::PerformGC().
|
inline |
Definition at line 2513 of file spaces.h.
References SemiSpace::age_mark().
Referenced by Heap::ShouldBePromoted().
|
inline |
Definition at line 2539 of file spaces.h.
References AllocationInfo::limit_address().
Referenced by Heap::NewSpaceAllocationLimitAddress(), and TEST().
|
inline |
Definition at line 2534 of file spaces.h.
References AllocationInfo::top_address().
Referenced by Heap::NewSpaceAllocationTopAddress(), and TEST().
|
inline |
Definition at line 2476 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 2510 of file spaces.h.
References SemiSpace::space_start().
Referenced by SemiSpaceIterator::SemiSpaceIterator().
|
inline |
Definition at line 2455 of file spaces.h.
References ASSERT, and SemiSpace::Capacity().
Referenced by NewSpace::Available(), Heap::Capacity(), Heap::CheckNewSpaceExpansionCriteria(), NewSpace::CommittedMemory(), NewSpace::Grow(), Heap::NextGCIsLikelyToBeFull(), Heap::OldGenerationAllocationLimit(), Heap::RecordStats(), NewSpace::ReportStatistics(), NewSpace::Shrink(), and TEST().
void ClearHistograms | ( | ) |
Definition at line 1903 of file spaces.cc.
References v8::internal::LAST_TYPE.
Referenced by NewSpace::CollectStatistics().
void CollectStatistics | ( | ) |
Definition at line 1914 of file spaces.cc.
References NewSpace::ClearHistograms(), SemiSpaceIterator::Next(), v8::internal::NULL, and NewSpace::RecordAllocation().
|
inline |
Definition at line 2610 of file spaces.h.
References SemiSpace::Commit(), and SemiSpace::is_committed().
|
inline |
Definition at line 2461 of file spaces.h.
References NewSpace::Capacity(), and SemiSpace::is_committed().
Referenced by Heap::CommittedMemory(), NewSpace::CommittedPhysicalMemory(), StatisticsExtension::GetCounters(), and Heap::PrintShortHeapStatistics().
size_t CommittedPhysicalMemory | ( | ) |
Definition at line 1994 of file spaces.cc.
References NewSpace::CommittedMemory(), SemiSpace::CommittedPhysicalMemory(), VirtualMemory::HasLazyCommits(), SemiSpace::is_committed(), v8::internal::size, and MemoryChunk::UpdateHighWaterMark().
Referenced by Heap::CommittedPhysicalMemory().
|
inline |
Definition at line 2427 of file spaces.h.
Referenced by StoreBuffer::EnterDirectlyIntoStoreBuffer(), NewSpace::INLINE(), Heap::InNewSpace(), TEST(), and SeqString::Truncate().
|
inline |
Definition at line 2449 of file spaces.h.
References SemiSpace::Capacity(), NewSpacePage::kAreaSize, Page::kPageSize, and SLOW_ASSERT.
Referenced by Heap::ShouldBePromoted().
void Flip | ( | ) |
Definition at line 1304 of file spaces.cc.
References SemiSpace::Swap().
|
inline |
Definition at line 2570 of file spaces.h.
References SemiSpace::Contains().
Referenced by Heap::InFromSpace().
|
inline |
Definition at line 2578 of file spaces.h.
References SemiSpace::Contains().
|
inline |
Definition at line 2561 of file spaces.h.
References SemiSpace::space_end().
Referenced by IncrementalMarking::PrepareForScavenge().
|
inline |
Definition at line 2559 of file spaces.h.
References SemiSpace::page_high().
|
inline |
Definition at line 2558 of file spaces.h.
References SemiSpace::page_low().
|
inline |
Definition at line 2560 of file spaces.h.
References SemiSpace::space_start().
Referenced by IncrementalMarking::PrepareForScavenge().
void Grow | ( | ) |
Definition at line 1309 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 2411 of file spaces.h.
References SemiSpace::HasBeenSetUp().
Referenced by TEST().
|
inline |
Definition at line 2487 of file spaces.h.
References ASSERT, and SemiSpace::InitialCapacity().
Referenced by NewSpace::Shrink().
|
inline |
Definition at line 2522 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 2529 of file spaces.h.
References v8::internal::kPointerSizeLog2.
MUST_USE_RESULT INLINE | ( | MaybeObject * | AllocateRawint size_in_bytes | ) |
|
inline |
Definition at line 2620 of file spaces.h.
Referenced by NewSpace::UpdateInlineAllocationLimit().
|
inline |
Definition at line 2504 of file spaces.h.
References ASSERT, MemoryChunk::ContainsLimit(), and SemiSpace::current_page().
Referenced by NewSpace::AddFreshPage().
|
inline |
Definition at line 2549 of file spaces.h.
References NewSpace::UpdateInlineAllocationLimit().
Referenced by IncrementalMarking::Abort(), IncrementalMarking::Finalize(), and IncrementalMarking::Start().
|
inline |
Definition at line 2520 of file spaces.h.
Referenced by Heap::NewSpaceMask().
|
inline |
Definition at line 2481 of file spaces.h.
References ASSERT, and SemiSpace::MaximumCapacity().
Referenced by Heap::CheckNewSpaceExpansionCriteria(), and NewSpace::Grow().
|
inline |
Definition at line 2467 of file spaces.h.
References SemiSpace::MaximumCommittedMemory().
Referenced by Heap::TearDown().
void RecordAllocation | ( | HeapObject * | obj | ) |
Definition at line 1978 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 1986 of file spaces.cc.
References ASSERT, Map::instance_type(), v8::internal::LAST_TYPE, HeapObject::map(), and HeapObject::Size().
void ReportStatistics | ( | ) |
Definition at line 1950 of file spaces.cc.
References NewSpace::Available(), NewSpace::Capacity(), Space::heap(), Heap::isolate(), v8::internal::LAST_TYPE, v8::internal::name, v8::internal::PrintF(), and V8_PTR_PREFIX.
void ResetAllocationInfo | ( | ) |
Definition at line 1359 of file spaces.cc.
References Bitmap::Clear(), and SemiSpace::Reset().
Referenced by NewSpace::SetUp().
|
inline |
Definition at line 2515 of file spaces.h.
References SemiSpace::set_age_mark().
|
inline |
Definition at line 2498 of file spaces.h.
References ASSERT, MemoryChunk::ContainsLimit(), and SemiSpace::current_page().
Referenced by SeqString::Truncate().
bool SetUp | ( | int | reserved_semispace_size_, |
int | max_semispace_size | ||
) |
Definition at line 1220 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, SemiSpace::SetUp(), and v8::internal::size.
Referenced by Heap::SetUp(), and TEST().
void Shrink | ( | ) |
Definition at line 1329 of file spaces.cc.
References ASSERT_SEMISPACE_ALLOCATION_INFO, SemiSpace::Capacity(), NewSpace::Capacity(), V8::FatalProcessOutOfMemory(), SemiSpace::GrowTo(), NewSpace::InitialCapacity(), v8::internal::Max(), SemiSpace::Reset(), v8::internal::RoundUp(), SemiSpace::ShrinkTo(), and NewSpace::SizeAsInt().
Referenced by Heap::CollectAllAvailableGarbage(), and TEST().
|
inlinevirtual |
Implements Space.
Definition at line 2438 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 2446 of file spaces.h.
References NewSpace::Size().
Referenced by Heap::RecordStats(), and NewSpace::Shrink().
|
inline |
Definition at line 2519 of file spaces.h.
Referenced by Heap::NewSpaceStart().
void TearDown | ( | ) |
Definition at line 1277 of file spaces.cc.
References ASSERT, v8::internal::DeleteArray(), MemoryAllocator::FreeMemory(), Space::heap(), Heap::isolate(), VirtualMemory::IsReserved(), LOG, Isolate::memory_allocator(), v8::internal::NOT_EXECUTABLE, v8::internal::NULL, and SemiSpace::TearDown().
Referenced by Heap::TearDown(), and TEST().
|
inline |
Definition at line 2493 of file spaces.h.
References ASSERT, MemoryChunk::ContainsLimit(), and SemiSpace::current_page().
Referenced by NewSpace::AddFreshPage(), PromotionQueue::insert(), Heap::NewSpaceTop(), SemiSpaceIterator::SemiSpaceIterator(), NewSpace::Size(), and SeqString::Truncate().
|
inline |
Definition at line 2567 of file spaces.h.
References SemiSpace::Contains().
Referenced by Heap::Contains(), Heap::InSpace(), and Heap::InToSpace().
|
inline |
Definition at line 2577 of file spaces.h.
References SemiSpace::Contains().
|
inline |
Definition at line 2565 of file spaces.h.
References SemiSpace::space_end().
Referenced by PromotionQueue::Initialize().
|
inline |
Definition at line 2564 of file spaces.h.
References SemiSpace::space_start().
Referenced by PromotionQueue::Initialize().
|
inline |
Definition at line 2615 of file spaces.h.
References SemiSpace::is_committed(), and SemiSpace::Uncommit().
void UpdateInlineAllocationLimit | ( | int | size_in_bytes | ) |
Definition at line 1371 of file spaces.cc.
References ASSERT_SEMISPACE_ALLOCATION_INFO, Space::heap(), NewSpace::inline_allocation_limit_step(), v8::internal::Min(), and SemiSpace::page_high().
Referenced by Heap::DisableInlineAllocation(), Heap::EnableInlineAllocation(), and NewSpace::LowerInlineAllocationLimit().
|
friend |