v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <spaces.h>
Static Public Member Functions | |
static MemoryChunk * | FromAddress (Address a) |
static MemoryChunk * | FromAnyPointerAddress (Heap *heap, Address addr) |
static void | IncrementLiveBytesFromGC (Address address, int by) |
static void | IncrementLiveBytesFromMutator (Address address, int by) |
static uint32_t | FastAddressToMarkbitIndex (Address addr) |
static void | UpdateHighWaterMark (Address mark) |
Static Public Attributes | |
static const int | kWriteBarrierCounterGranularity = 500 |
static const int | kPointersToHereAreInterestingMask |
static const int | kPointersFromHereAreInterestingMask |
static const int | kEvacuationCandidateMask |
static const int | kSkipEvacuationSlotsRecordingMask |
static const intptr_t | kAlignment |
static const intptr_t | kAlignmentMask = kAlignment - 1 |
static const intptr_t | kSizeOffset = 0 |
static const intptr_t | kLiveBytesOffset |
static const size_t | kSlotsBufferOffset = kLiveBytesOffset + kIntSize |
static const size_t | kWriteBarrierCounterOffset |
static const size_t | kHeaderSize |
static const int | kBodyOffset |
static const int | kObjectStartAlignment = 32 * kPointerSize |
static const int | kObjectStartOffset |
static const int | kFlagsOffset = kPointerSize |
Static Protected Member Functions | |
static MemoryChunk * | Initialize (Heap *heap, Address base, size_t size, Address area_start, Address area_end, Executability executable, Space *owner) |
Protected Attributes | |
size_t | size_ |
intptr_t | flags_ |
Address | area_start_ |
Address | area_end_ |
VirtualMemory | reservation_ |
Address | owner_ |
Heap * | heap_ |
int | store_buffer_counter_ |
int | live_byte_count_ |
SlotsBuffer * | slots_buffer_ |
SkipList * | skip_list_ |
intptr_t | write_barrier_counter_ |
int | progress_bar_ |
int | high_water_mark_ |
AtomicWord | parallel_sweeping_ |
intptr_t | available_in_small_free_list_ |
intptr_t | available_in_medium_free_list_ |
intptr_t | available_in_large_free_list_ |
intptr_t | available_in_huge_free_list_ |
intptr_t | non_available_small_blocks_ |
Friends | |
class | MemoryAllocator |
enum MemoryChunkFlags |
|
inline |
Definition at line 312 of file spaces.h.
Referenced by PromotionQueue::ActivateGuardIfOnTheSamePage(), MemoryChunk::AddressToMarkbitIndex(), MemoryChunk::CommitArea(), MemoryAllocator::Free(), Heap::FreeQueuedChunks(), MemoryChunk::Initialize(), Page::INLINE(), MemoryChunk::is_valid(), MemoryChunk::IsLeftOfProgressBar(), MemoryChunk::MarkbitIndexToAddress(), MemoryChunk::markbits(), Page::OffsetToAddress(), LargeObjectSpace::TearDown(), and MemoryChunk::UpdateHighWaterMark().
|
inline |
Definition at line 635 of file spaces.h.
References MemoryChunk::address(), and v8::internal::kPointerSizeLog2.
|
inline |
Definition at line 690 of file spaces.h.
References MemoryChunk::area_end_.
Referenced by NewSpace::AddFreshPage(), MemoryChunk::area_size(), MemoryChunk::CommitArea(), MemoryChunk::Contains(), MemoryChunk::ContainsLimit(), HeapObjectIterator::HeapObjectIterator(), MemoryChunk::Initialize(), PromotionQueue::insert(), SemiSpace::page_high(), PromotionQueue::remove(), MemoryChunk::SetArea(), SemiSpace::space_end(), and MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 691 of file spaces.h.
References MemoryChunk::area_end(), and MemoryChunk::area_start().
Referenced by LargeObjectSpace::AllocateRaw(), MarkCompactCollector::CollectEvacuationCandidates(), PagedSpace::DecreaseUnsweptFreeBytes(), PagedSpace::IncreaseUnsweptFreeBytes(), Page::Initialize(), and PagedSpace::ReleasePage().
|
inline |
Definition at line 689 of file spaces.h.
References MemoryChunk::area_start_.
Referenced by MemoryChunk::area_size(), MemoryChunk::CommitArea(), MemoryChunk::Contains(), MemoryChunk::ContainsLimit(), Deoptimizer::EnsureCodeForDeoptimizationEntry(), Deoptimizer::GetDeoptimizationEntry(), Deoptimizer::GetDeoptimizationId(), LargePage::GetObject(), HeapObjectIterator::HeapObjectIterator(), MemoryChunk::Initialize(), Page::Initialize(), SemiSpaceIterator::Next(), SemiSpace::page_low(), MemoryChunk::SetArea(), SemiSpace::space_start(), and MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 684 of file spaces.h.
References ASSERT, MemoryChunk::ClearFlag(), MemoryChunk::EVACUATION_CANDIDATE, v8::internal::NULL, and MemoryChunk::slots_buffer_.
Referenced by MarkCompactCollector::AbortCompaction(), MarkCompactCollector::CollectEvacuationCandidates(), and MarkCompactCollector::INLINE().
|
inline |
Definition at line 444 of file spaces.h.
References MemoryChunk::flags_.
Referenced by IncrementalMarking::Abort(), MarkCompactCollector::AbortCompaction(), MemoryChunk::ClearEvacuationCandidate(), Page::ClearSweptConservatively(), Page::ClearSweptPrecisely(), MemoryChunk::initialize_scan_on_scavenge(), MemoryChunk::ResetProgressBar(), MemoryChunk::set_scan_on_scavenge(), MemoryChunk::SetFlagTo(), and MemoryChunk::Unlink().
bool CommitArea | ( | size_t | requested | ) |
Definition at line 513 of file spaces.cc.
References MemoryChunk::address(), MemoryChunk::area_end(), MemoryChunk::area_end_, MemoryChunk::area_start(), MemoryChunk::area_start_, ASSERT, Isolate::code_range(), MemoryAllocator::CodePageGuardSize(), OS::CommitPageSize(), CodeRange::CommitRawMemory(), v8::internal::EXECUTABLE, MemoryChunk::executable(), CodeRange::exists(), MemoryChunk::heap(), MemoryChunk::heap_, MemoryChunk::IS_EXECUTABLE, MemoryChunk::IsFlagSet(), Heap::isolate(), VirtualMemory::IsReserved(), Isolate::memory_allocator(), v8::internal::NOT_EXECUTABLE, MemoryChunk::reservation_, v8::internal::RoundUp(), Heap::ShouldZapGarbage(), MemoryChunk::size(), VirtualMemory::Uncommit(), CodeRange::UncommitRawMemory(), and MemoryAllocator::ZapBlock().
Referenced by Deoptimizer::EnsureCodeForDeoptimizationEntry().
|
inline |
Definition at line 697 of file spaces.h.
References MemoryChunk::high_water_mark_.
Referenced by LargeObjectSpace::CommittedPhysicalMemory().
|
inline |
Definition at line 377 of file spaces.h.
References MemoryChunk::area_end(), and MemoryChunk::area_start().
Referenced by Heap::CreateCode(), StoreBuffer::Filter(), LargeObjectSpace::FindPage(), MemoryChunk::FromAnyPointerAddress(), and TEST().
|
inline |
Definition at line 384 of file spaces.h.
References MemoryChunk::area_end(), and MemoryChunk::area_start().
Referenced by NewSpace::limit(), NewSpace::set_top(), Heap::ShouldBePromoted(), and NewSpace::top().
|
inline |
Definition at line 610 of file spaces.h.
References MemoryChunk::CONTAINS_ONLY_DATA, and MemoryChunk::IsFlagSet().
|
inline |
Definition at line 606 of file spaces.h.
References v8::internal::EXECUTABLE, MemoryChunk::IS_EXECUTABLE, MemoryChunk::IsFlagSet(), and v8::internal::NOT_EXECUTABLE.
Referenced by MemoryChunk::CommitArea(), and MemoryAllocator::Free().
|
inlinestatic |
Definition at line 639 of file spaces.h.
References MemoryChunk::kAlignmentMask, and v8::internal::kPointerSizeLog2.
|
inlinestatic |
Definition at line 305 of file spaces.h.
References MemoryChunk::kAlignmentMask, and v8::internal::OffsetFrom().
Referenced by IncrementalMarking::Abort(), PagedSpace::AdvanceSweeper(), Heap::AllowedToBeMigrated(), Heap::CanMoveObjectStart(), MarkCompactCollector::ClearMarkbits(), PagedSpace::Contains(), LargeObjectSpace::Contains(), FreeListCategory::ContainsPageFreeListItemsInList(), FreeListCategory::EvictFreeListItemsInList(), PagedSpace::FindObject(), FreeList::Free(), Heap::FreeQueuedChunks(), LargeObjectSpace::FreeUnmarkedObjects(), MemoryChunk::FromAnyPointerAddress(), InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), HeapObject::GetHeap(), MemoryChunk::IncrementLiveBytesFromGC(), MemoryChunk::IncrementLiveBytesFromMutator(), MemoryChunk::Initialize(), MarkCompactCollector::INLINE(), Page::INLINE(), MarkCompactCollector::MigrateObject(), BASE_EMBEDDED< Visitor >::next(), FreeListCategory::PickNodeFromList(), PagedSpace::PrepareForMarkCompact(), MarkCompactCollector::RecordCodeEntrySlot(), MarkCompactCollector::RecordRelocSlot(), IncrementalMarking::RecordWriteFromCode(), IncrementalMarking::RecordWrites(), PagedSpace::ReleasePage(), PagedSpace::SetTopAndLimit(), Marking::TransferMark(), SkipList::Update(), MemoryChunk::UpdateHighWaterMark(), IncrementalMarking::UpdateMarkingDequeAfterScavenge(), and IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
|
inlinestatic |
Definition at line 198 of file spaces-inl.h.
References MemoryChunk::Contains(), MemoryChunk::FromAddress(), Heap::lo_space(), v8::internal::NULL, v8::internal::OffsetFrom(), MemoryChunk::owner(), and UNREACHABLE.
Referenced by StoreBuffer::EnterDirectlyIntoStoreBuffer(), and StoreBuffer::Filter().
|
inline |
Definition at line 468 of file spaces.h.
References MemoryChunk::flags_.
Referenced by SemiSpace::GrowTo(), and SemiSpace::Swap().
|
inline |
Definition at line 653 of file spaces.h.
References MemoryChunk::heap_.
Referenced by MemoryChunk::CommitArea(), HeapObject::GetHeap(), HeapObjectIterator::HeapObjectIterator(), and MemoryChunk::Initialize().
|
inline |
Definition at line 510 of file spaces.h.
References ASSERT_LE, MemoryChunk::live_byte_count_, and MemoryChunk::size_.
Referenced by MemoryChunk::IncrementLiveBytesFromGC(), and MemoryChunk::IncrementLiveBytesFromMutator().
|
inlinestatic |
Definition at line 557 of file spaces.h.
References MemoryChunk::FromAddress(), and MemoryChunk::IncrementLiveBytes().
Referenced by Heap::AdjustLiveBytes(), IncrementalMarking::BlackToGreyAndUnshift(), IncrementalMarking::Hurry(), MarkingDeque::INLINE(), and IncrementalMarkingMarkingVisitor::INLINE().
|
static |
Definition at line 925 of file spaces.cc.
References MemoryChunk::FromAddress(), MemoryChunk::IncrementLiveBytes(), MemoryChunk::InNewSpace(), and MemoryChunk::owner().
Referenced by Heap::AdjustLiveBytes().
|
inline |
Definition at line 622 of file spaces.h.
References MemoryChunk::IN_FROM_SPACE, and MemoryChunk::IsFlagSet().
|
staticprotected |
Definition at line 463 of file spaces.cc.
References MemoryChunk::address(), MemoryChunk::area_end(), MemoryChunk::area_end_, MemoryChunk::area_start(), MemoryChunk::area_start_, ASSERT, MemoryChunk::available_in_huge_free_list_, MemoryChunk::available_in_large_free_list_, MemoryChunk::available_in_medium_free_list_, MemoryChunk::available_in_small_free_list_, Bitmap::Clear(), MemoryChunk::CONTAINS_ONLY_DATA, v8::internal::EXECUTABLE, MemoryChunk::flags_, MemoryChunk::FromAddress(), MemoryChunk::heap(), MemoryChunk::heap_, MemoryChunk::high_water_mark_, MemoryChunk::initialize_scan_on_scavenge(), MemoryChunk::InitializeReservedMemory(), MemoryChunk::IS_EXECUTABLE, MemoryChunk::kFlagsOffset, MemoryChunk::kLiveBytesOffset, MemoryChunk::kWriteBarrierCounterGranularity, MemoryChunk::live_byte_count_, MemoryChunk::non_available_small_blocks_, v8::internal::NULL, OFFSET_OF, Heap::old_data_space(), MemoryChunk::PARALLEL_SWEEPING_DONE, MemoryChunk::progress_bar_, MemoryChunk::ResetLiveBytes(), MemoryChunk::set_owner(), MemoryChunk::set_parallel_sweeping(), MemoryChunk::SetFlag(), MemoryChunk::size(), MemoryChunk::size_, MemoryChunk::skip_list_, MemoryChunk::slots_buffer_, MemoryChunk::WAS_SWEPT_PRECISELY, and MemoryChunk::write_barrier_counter_.
Referenced by MemoryAllocator::AllocateChunk().
|
inline |
Definition at line 363 of file spaces.h.
References MemoryChunk::ClearFlag(), MemoryChunk::SCAN_ON_SCAVENGE, and MemoryChunk::SetFlag().
Referenced by MemoryChunk::Initialize().
|
inline |
Definition at line 353 of file spaces.h.
References MemoryChunk::reservation_, and VirtualMemory::Reset().
Referenced by MemoryChunk::Initialize().
|
inline |
Definition at line 614 of file spaces.h.
References MemoryChunk::flags_, MemoryChunk::IN_FROM_SPACE, and MemoryChunk::IN_TO_SPACE.
Referenced by MemoryChunk::IncrementLiveBytesFromMutator(), NewSpacePage::is_anchor(), and MemoryChunk::Unlink().
void InsertAfter | ( | MemoryChunk * | other | ) |
Definition at line 562 of file spaces.cc.
References MemoryChunk::next_chunk(), MemoryChunk::set_next_chunk(), and MemoryChunk::set_prev_chunk().
Referenced by SemiSpace::Commit(), PagedSpace::Expand(), SemiSpace::GrowTo(), and TEST().
|
inline |
Definition at line 618 of file spaces.h.
References MemoryChunk::IN_TO_SPACE, and MemoryChunk::IsFlagSet().
|
inline |
Definition at line 314 of file spaces.h.
References MemoryChunk::address(), and v8::internal::NULL.
Referenced by PagedSpace::Contains(), LargeObjectSpace::FindPage(), PagedSpace::IsLazySweepingComplete(), and TEST().
|
inline |
Definition at line 657 of file spaces.h.
References MemoryChunk::EVACUATION_CANDIDATE, and MemoryChunk::IsFlagSet().
Referenced by MemoryAllocator::Free(), MarkCompactCollector::RecordCodeEntrySlot(), MarkCompactCollector::RecordRelocSlot(), PagedSpace::ShouldBeSweptLazily(), and MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 456 of file spaces.h.
References MemoryChunk::flags_.
Referenced by IncrementalMarking::Abort(), MemoryChunk::CommitArea(), MemoryChunk::ContainsOnlyData(), MemoryChunk::executable(), StoreBuffer::Filter(), MemoryChunk::InFromSpace(), MemoryChunk::InToSpace(), MemoryChunk::IsEvacuationCandidate(), MemoryChunk::progress_bar(), IncrementalMarking::RecordWrites(), PagedSpace::ReleasePage(), MemoryChunk::ResetProgressBar(), MemoryChunk::scan_on_scavenge(), MemoryChunk::set_progress_bar(), Heap::ShouldBePromoted(), PagedSpace::ShouldBeSweptLazily(), MemoryChunk::Unlink(), IncrementalMarking::UpdateMarkingDequeAfterScavenge(), IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(), Page::WasSweptConservatively(), and Page::WasSweptPrecisely().
|
inline |
Definition at line 550 of file spaces.h.
References MemoryChunk::address(), ASSERT, MemoryChunk::kObjectStartOffset, and MemoryChunk::progress_bar().
|
inline |
Definition at line 520 of file spaces.h.
References ASSERT, MemoryChunk::live_byte_count_, and MemoryChunk::size_.
Referenced by MarkCompactCollector::CollectEvacuationCandidates(), PagedSpace::DecreaseUnsweptFreeBytes(), PagedSpace::IncreaseUnsweptFreeBytes(), PagedSpace::ReleasePage(), and MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 646 of file spaces.h.
References MemoryChunk::address(), and v8::internal::kPointerSizeLog2.
|
inline |
Definition at line 629 of file spaces.h.
References MemoryChunk::address(), and MemoryChunk::kHeaderSize.
Referenced by Bitmap::Clear(), and MemoryChunk::PrintMarkbits().
|
inline |
Definition at line 679 of file spaces.h.
References ASSERT, MemoryChunk::EVACUATION_CANDIDATE, v8::internal::NULL, MemoryChunk::SetFlag(), and MemoryChunk::slots_buffer_.
Referenced by MarkCompactCollector::AddEvacuationCandidate().
|
inline |
Definition at line 316 of file spaces.h.
References v8::internal::Acquire_Load().
Referenced by PagedSpace::AllocateRaw(), Heap::FreeQueuedChunks(), MemoryChunk::InsertAfter(), Page::next_page(), LargePage::next_page(), NewSpacePage::next_page(), and MemoryChunk::Unlink().
|
inline |
Definition at line 332 of file spaces.h.
References v8::internal::kFailureTag, v8::internal::kFailureTagMask, v8::internal::NULL, and MemoryChunk::owner_.
Referenced by Heap::AllowedToBeMigrated(), PagedSpace::Contains(), LargeObjectSpace::Contains(), MemoryAllocator::Free(), Heap::FreeQueuedChunks(), MemoryChunk::FromAnyPointerAddress(), HeapObjectIterator::HeapObjectIterator(), MemoryChunk::IncrementLiveBytesFromMutator(), Page::Initialize(), MarkCompactCollector::INLINE(), Page::next_page(), Page::prev_page(), NewSpacePage::semi_space(), Page::set_next_page(), Page::set_prev_page(), TEST(), and IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
|
inline |
Definition at line 485 of file spaces.h.
References v8::internal::Acquire_Load(), and MemoryChunk::parallel_sweeping_.
Referenced by Heap::CanMoveObjectStart().
|
inline |
Definition at line 320 of file spaces.h.
References v8::internal::Acquire_Load().
Referenced by PagedSpace::AllocateRaw(), Page::prev_page(), NewSpacePage::prev_page(), and MemoryChunk::Unlink().
|
inline |
Definition at line 633 of file spaces.h.
References MemoryChunk::markbits(), and Bitmap::Print().
|
inline |
Definition at line 533 of file spaces.h.
References ASSERT, MemoryChunk::HAS_PROGRESS_BAR, MemoryChunk::IsFlagSet(), and MemoryChunk::progress_bar_.
Referenced by MemoryChunk::IsLeftOfProgressBar(), MemoryChunk::set_progress_bar(), and IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
|
inline |
Definition at line 349 of file spaces.h.
References MemoryChunk::reservation_.
Referenced by MemoryAllocator::Free().
|
inline |
Definition at line 503 of file spaces.h.
References MemoryChunk::live_byte_count_, and v8::internal::PrintF().
Referenced by Bitmap::Clear(), MemoryChunk::Initialize(), and MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 543 of file spaces.h.
References MemoryChunk::ClearFlag(), MemoryChunk::HAS_PROGRESS_BAR, MemoryChunk::IsFlagSet(), and MemoryChunk::set_progress_bar().
|
inline |
Definition at line 362 of file spaces.h.
References MemoryChunk::IsFlagSet(), and MemoryChunk::SCAN_ON_SCAVENGE.
Referenced by StoreBufferRebuilder::Callback(), StoreBuffer::EnsureSpace(), StoreBuffer::PrepareForIteration(), and MemoryChunk::set_scan_on_scavenge().
|
inline |
Definition at line 324 of file spaces.h.
References v8::internal::Release_Store().
Referenced by MemoryChunk::InsertAfter(), Heap::QueueMemoryChunkForFree(), Page::set_next_page(), LargePage::set_next_page(), NewSpacePage::set_next_page(), and MemoryChunk::Unlink().
|
inline |
Definition at line 342 of file spaces.h.
References ASSERT, v8::internal::kFailureTag, v8::internal::kFailureTagMask, and MemoryChunk::owner_.
Referenced by Heap::FreeQueuedChunks(), MemoryChunk::Initialize(), and Page::InitializeAsAnchor().
|
inline |
Definition at line 490 of file spaces.h.
References MemoryChunk::parallel_sweeping_, and v8::internal::Release_Store().
Referenced by MemoryChunk::Initialize(), and MarkCompactCollector::SweepInParallel().
|
inline |
Definition at line 328 of file spaces.h.
References v8::internal::Release_Store().
Referenced by MemoryChunk::InsertAfter(), Page::set_prev_page(), NewSpacePage::set_prev_page(), and MemoryChunk::Unlink().
|
inline |
Definition at line 538 of file spaces.h.
References ASSERT, MemoryChunk::HAS_PROGRESS_BAR, MemoryChunk::IsFlagSet(), MemoryChunk::progress_bar(), and MemoryChunk::progress_bar_.
Referenced by IncrementalMarking::RecordWrites(), MemoryChunk::ResetProgressBar(), and IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
|
inline |
Definition at line 357 of file spaces.h.
References ASSERT_NOT_NULL, MemoryChunk::reservation_, and VirtualMemory::TakeControl().
Referenced by MemoryAllocator::AllocateChunk().
|
inline |
Definition at line 186 of file spaces-inl.h.
References MemoryChunk::ClearFlag(), Heap::decrement_scan_on_scavenge_pages(), MemoryChunk::heap_, Heap::increment_scan_on_scavenge_pages(), Heap::incremental_marking(), MemoryChunk::scan_on_scavenge(), MemoryChunk::SCAN_ON_SCAVENGE, MemoryChunk::SetFlag(), and IncrementalMarking::SetOldSpacePageFlags().
Referenced by StoreBufferRebuilder::Callback().
|
inline |
Definition at line 597 of file spaces.h.
References MemoryChunk::size(), and MemoryChunk::size_.
Referenced by Heap::FreeQueuedChunks().
|
inline |
Definition at line 667 of file spaces.h.
References MemoryChunk::skip_list(), and MemoryChunk::skip_list_.
Referenced by SkipList::Update().
|
inline |
Definition at line 373 of file spaces.h.
References MemoryChunk::store_buffer_counter_.
|
inline |
Definition at line 529 of file spaces.h.
References MemoryChunk::write_barrier_counter_.
Referenced by IncrementalMarking::RecordWriteFromCode().
Definition at line 601 of file spaces.h.
References MemoryChunk::area_end(), MemoryChunk::area_end_, MemoryChunk::area_start(), and MemoryChunk::area_start_.
Referenced by Heap::FreeQueuedChunks().
|
inline |
Definition at line 440 of file spaces.h.
References MemoryChunk::flags_.
Referenced by Heap::FreeQueuedChunks(), MemoryChunk::Initialize(), MemoryChunk::initialize_scan_on_scavenge(), MarkCompactCollector::INLINE(), MemoryChunk::MarkEvacuationCandidate(), Page::MarkSweptConservatively(), Page::MarkSweptPrecisely(), MemoryChunk::set_scan_on_scavenge(), MemoryChunk::SetFlagTo(), and IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
|
inline |
Definition at line 463 of file spaces.h.
References MemoryChunk::flags_.
Referenced by SemiSpace::GrowTo().
|
inline |
Definition at line 448 of file spaces.h.
References MemoryChunk::ClearFlag(), and MemoryChunk::SetFlag().
|
inline |
Definition at line 659 of file spaces.h.
References MemoryChunk::flags_, and MemoryChunk::kSkipEvacuationSlotsRecordingMask.
|
inline |
Definition at line 595 of file spaces.h.
References MemoryChunk::size_.
Referenced by LargeObjectSpace::AllocateRaw(), MemoryChunk::CommitArea(), MemoryAllocator::Free(), Heap::FreeQueuedChunks(), LargeObjectSpace::FreeUnmarkedObjects(), MemoryChunk::Initialize(), MemoryChunk::set_size(), and LargeObjectSpace::TearDown().
|
inline |
Definition at line 663 of file spaces.h.
References MemoryChunk::skip_list_.
Referenced by MemoryAllocator::Free(), InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), MemoryChunk::set_skip_list(), and SkipList::Update().
|
inline |
Definition at line 671 of file spaces.h.
References MemoryChunk::slots_buffer_.
Referenced by MemoryAllocator::Free().
|
inline |
Definition at line 675 of file spaces.h.
References MemoryChunk::slots_buffer_.
Referenced by MarkCompactCollector::AbortCompaction(), MarkCompactCollector::RecordCodeEntrySlot(), and MarkCompactCollector::RecordRelocSlot().
|
inline |
Definition at line 372 of file spaces.h.
References MemoryChunk::store_buffer_counter_.
|
inline |
Definition at line 494 of file spaces.h.
References v8::internal::Acquire_CompareAndSwap(), MemoryChunk::parallel_sweeping_, MemoryChunk::PARALLEL_SWEEPING_IN_PROGRESS, and MemoryChunk::PARALLEL_SWEEPING_PENDING.
Referenced by MarkCompactCollector::SweepInParallel().
void Unlink | ( | ) |
Definition at line 572 of file spaces.cc.
References MemoryChunk::ClearFlag(), Heap::decrement_scan_on_scavenge_pages(), MemoryChunk::heap_, MemoryChunk::InNewSpace(), MemoryChunk::IsFlagSet(), MemoryChunk::next_chunk(), v8::internal::NULL, MemoryChunk::prev_chunk(), MemoryChunk::SCAN_ON_SCAVENGE, MemoryChunk::set_next_chunk(), and MemoryChunk::set_prev_chunk().
Referenced by PagedSpace::ReleasePage().
|
inlinestatic |
Definition at line 218 of file spaces-inl.h.
References MemoryChunk::address(), MemoryChunk::FromAddress(), MemoryChunk::high_water_mark_, and v8::internal::NULL.
Referenced by PagedSpace::CommittedPhysicalMemory(), NewSpace::CommittedPhysicalMemory(), and PagedSpace::SetTopAndLimit().
|
inline |
Definition at line 525 of file spaces.h.
References MemoryChunk::write_barrier_counter_.
Referenced by IncrementalMarking::RecordWriteFromCode().
|
friend |
|
protected |
Definition at line 709 of file spaces.h.
Referenced by MemoryChunk::area_end(), MemoryChunk::CommitArea(), MemoryChunk::Initialize(), and MemoryChunk::SetArea().
|
protected |
Definition at line 708 of file spaces.h.
Referenced by MemoryChunk::area_start(), MemoryChunk::CommitArea(), MemoryChunk::Initialize(), and MemoryChunk::SetArea().
|
protected |
Definition at line 739 of file spaces.h.
Referenced by MemoryChunk::Initialize(), and Page::ResetFreeListStatistics().
|
protected |
Definition at line 738 of file spaces.h.
Referenced by MemoryChunk::Initialize(), and Page::ResetFreeListStatistics().
|
protected |
Definition at line 737 of file spaces.h.
Referenced by MemoryChunk::Initialize(), and Page::ResetFreeListStatistics().
|
protected |
Definition at line 736 of file spaces.h.
Referenced by MemoryChunk::Initialize(), and Page::ResetFreeListStatistics().
|
protected |
Definition at line 705 of file spaces.h.
Referenced by MemoryChunk::ClearFlag(), MemoryChunk::GetFlags(), MemoryChunk::Initialize(), MemoryChunk::InNewSpace(), MemoryChunk::IsFlagSet(), MemoryChunk::SetFlag(), MemoryChunk::SetFlags(), and MemoryChunk::ShouldSkipEvacuationSlotRecording().
|
protected |
Definition at line 717 of file spaces.h.
Referenced by MemoryChunk::CommitArea(), MemoryChunk::heap(), MemoryChunk::Initialize(), MemoryChunk::set_scan_on_scavenge(), and MemoryChunk::Unlink().
|
protected |
Definition at line 731 of file spaces.h.
Referenced by MemoryChunk::CommittedPhysicalMemory(), MemoryChunk::Initialize(), and MemoryChunk::UpdateHighWaterMark().
|
static |
Definition at line 563 of file spaces.h.
Referenced by MemoryAllocator::AllocateChunk(), LargeObjectSpace::AllocateRaw(), CodeRange::AllocateRawMemory(), LargeObjectSpace::FindPage(), CodeRange::FreeRawMemory(), LargeObjectSpace::FreeUnmarkedObjects(), and CodeRange::SetUp().
|
static |
Definition at line 566 of file spaces.h.
Referenced by MemoryChunk::FastAddressToMarkbitIndex(), and MemoryChunk::FromAddress().
|
static |
Definition at line 585 of file spaces.h.
Referenced by PromotionQueue::Initialize().
|
static |
|
static |
Definition at line 655 of file spaces.h.
Referenced by MemoryChunk::Initialize().
|
static |
Definition at line 580 of file spaces.h.
Referenced by MemoryChunk::markbits().
|
static |
|
static |
|
static |
Definition at line 592 of file spaces.h.
Referenced by MemoryAllocator::AllocateChunk(), MemoryAllocator::CodePageGuardStartOffset(), NewSpacePage::IsAtStart(), MemoryChunk::IsLeftOfProgressBar(), LargeObjectSpace::ObjectSizeFor(), PagedSpace::PagedSpace(), and Serializer::SpaceAreaSize().
|
static |
|
static |
|
static |
Definition at line 433 of file spaces.h.
Referenced by MemoryChunk::ShouldSkipEvacuationSlotRecording().
|
static |
|
static |
Definition at line 391 of file spaces.h.
Referenced by MemoryChunk::Initialize(), and IncrementalMarking::RecordWriteFromCode().
|
static |
|
protected |
Definition at line 722 of file spaces.h.
Referenced by MemoryChunk::IncrementLiveBytes(), MemoryChunk::Initialize(), MemoryChunk::LiveBytes(), and MemoryChunk::ResetLiveBytes().
|
protected |
Definition at line 740 of file spaces.h.
Referenced by MemoryChunk::Initialize(), and Page::ResetFreeListStatistics().
|
protected |
Definition at line 716 of file spaces.h.
Referenced by MemoryChunk::owner(), and MemoryChunk::set_owner().
|
protected |
Definition at line 733 of file spaces.h.
Referenced by MemoryChunk::parallel_sweeping(), MemoryChunk::set_parallel_sweeping(), and MemoryChunk::TryParallelSweeping().
|
protected |
Definition at line 728 of file spaces.h.
Referenced by MemoryChunk::Initialize(), MemoryChunk::progress_bar(), and MemoryChunk::set_progress_bar().
|
protected |
Definition at line 712 of file spaces.h.
Referenced by MemoryChunk::CommitArea(), MemoryChunk::InitializeReservedMemory(), MemoryChunk::reserved_memory(), and MemoryChunk::set_reserved_memory().
|
protected |
Definition at line 704 of file spaces.h.
Referenced by MemoryChunk::IncrementLiveBytes(), MemoryChunk::Initialize(), MemoryChunk::LiveBytes(), MemoryChunk::set_size(), and MemoryChunk::size().
|
protected |
Definition at line 724 of file spaces.h.
Referenced by MemoryChunk::Initialize(), MemoryChunk::set_skip_list(), and MemoryChunk::skip_list().
|
protected |
Definition at line 723 of file spaces.h.
Referenced by MemoryChunk::ClearEvacuationCandidate(), MemoryChunk::Initialize(), MemoryChunk::MarkEvacuationCandidate(), MemoryChunk::slots_buffer(), and MemoryChunk::slots_buffer_address().
|
protected |
Definition at line 720 of file spaces.h.
Referenced by MemoryChunk::set_store_buffer_counter(), and MemoryChunk::store_buffer_counter().
|
protected |
Definition at line 725 of file spaces.h.
Referenced by MemoryChunk::Initialize(), MemoryChunk::set_write_barrier_counter(), and MemoryChunk::write_barrier_counter().