V8 Project
|
#include <incremental-marking.h>
Public Types | |
enum | State { STOPPED , SWEEPING , MARKING , COMPLETE } |
enum | CompletionAction { GC_VIA_STACK_GUARD , NO_GC_VIA_STACK_GUARD } |
enum | CompactionFlag { ALLOW_COMPACTION , PREVENT_COMPACTION } |
Static Public Member Functions | |
static void | Initialize () |
static void | RecordWriteFromCode (HeapObject *obj, Object **slot, Isolate *isolate) |
Static Public Attributes | |
static const intptr_t | kAllocatedThreshold = 65536 |
static const intptr_t | kWriteBarriersInvokedThreshold = 32768 |
static const intptr_t | kInitialMarkingSpeed = 1 |
static const intptr_t | kFastMarking = 3 |
static const intptr_t | kMarkingSpeedAccellerationInterval = 1024 |
static const intptr_t | kMarkingSpeedAccelleration = 2 |
static const intptr_t | kMaxMarkingSpeed = 1000 |
Private Member Functions | |
int64_t | SpaceLeftInOldSpace () |
void | SpeedUp () |
void | ResetStepCounters () |
void | StartMarking (CompactionFlag flag) |
void | ActivateIncrementalWriteBarrier (PagedSpace *space) |
void | ActivateIncrementalWriteBarrier () |
void | DeactivateIncrementalWriteBarrier () |
void | EnsureMarkingDequeIsCommitted () |
INLINE (void ProcessMarkingDeque()) | |
INLINE (intptr_t ProcessMarkingDeque(intptr_t bytes_to_process)) | |
INLINE (void VisitObject(Map *map, HeapObject *obj, int size)) | |
DISALLOW_IMPLICIT_CONSTRUCTORS (IncrementalMarking) | |
Static Private Member Functions | |
static void | ActivateIncrementalWriteBarrier (NewSpace *space) |
static void | DeactivateIncrementalWriteBarrierForSpace (PagedSpace *space) |
static void | DeactivateIncrementalWriteBarrierForSpace (NewSpace *space) |
static void | SetOldSpacePageFlags (MemoryChunk *chunk, bool is_marking, bool is_compacting) |
static void | SetNewSpacePageFlags (NewSpacePage *chunk, bool is_marking) |
Definition at line 17 of file incremental-marking.h.
Enumerator | |
---|---|
ALLOW_COMPACTION | |
PREVENT_COMPACTION |
Definition at line 49 of file incremental-marking.h.
Enumerator | |
---|---|
GC_VIA_STACK_GUARD | |
NO_GC_VIA_STACK_GUARD |
Definition at line 21 of file incremental-marking.h.
|
explicit |
Definition at line 19 of file incremental-marking.cc.
void v8::internal::IncrementalMarking::Abort | ( | ) |
Definition at line 757 of file incremental-marking.cc.
References v8::internal::MemoryChunk::ClearFlag(), DeactivateIncrementalWriteBarrier(), v8::internal::MemoryChunk::FromAddress(), heap_, is_compacting_, v8::internal::MemoryChunk::IsFlagSet(), v8::internal::Heap::isolate(), IsStopped(), v8::internal::Heap::lo_space(), v8::internal::NewSpace::LowerInlineAllocationLimit(), v8::internal::Heap::new_space(), v8::internal::LargeObjectIterator::Next(), NULL, v8::internal::PatchIncrementalMarkingRecordWriteStubs(), v8::internal::PrintF(), v8::internal::MemoryChunk::RESCAN_ON_EVACUATION, ResetStepCounters(), set_should_hurry(), v8::internal::Isolate::stack_guard(), state_, STOPPED, and v8::internal::RecordWriteStub::STORE_BUFFER_ONLY.
Referenced by v8::internal::MarkCompactCollector::MarkLiveObjects(), and v8::internal::MarkCompactCollector::Prepare().
void v8::internal::IncrementalMarking::ActivateGeneratedStub | ( | Code * | stub | ) |
Definition at line 448 of file incremental-marking.cc.
References DCHECK, v8::internal::RecordWriteStub::GetMode(), v8::internal::RecordWriteStub::INCREMENTAL, v8::internal::RecordWriteStub::INCREMENTAL_COMPACTION, IsCompacting(), v8::internal::RecordWriteStub::Patch(), and v8::internal::RecordWriteStub::STORE_BUFFER_ONLY.
Referenced by v8::internal::RecordWriteStub::Activate().
|
private |
Definition at line 407 of file incremental-marking.cc.
References v8::internal::Heap::cell_space(), v8::internal::Heap::code_space(), v8::internal::LargeObjectSpace::first_page(), heap_, is_compacting_, v8::internal::MemoryChunk::is_valid(), v8::internal::Heap::lo_space(), v8::internal::Heap::map_space(), v8::internal::Heap::new_space(), v8::internal::LargePage::next_page(), v8::internal::Heap::old_data_space(), v8::internal::Heap::old_pointer_space(), v8::internal::Heap::property_cell_space(), and SetOldSpacePageFlags().
Referenced by StartMarking().
|
staticprivate |
Definition at line 398 of file incremental-marking.cc.
References SetNewSpacePageFlags(), and space().
|
private |
Definition at line 389 of file incremental-marking.cc.
References is_compacting_, SetOldSpacePageFlags(), and space().
|
inline |
Definition at line 81 of file incremental-marking-inl.h.
References v8::internal::HeapObject::address(), bytes_rescanned_, bytes_scanned_, DCHECK, heap_, v8::internal::MemoryChunk::IncrementLiveBytesFromGC(), kMaxMarkingSpeed, v8::internal::kPointerSize, marking_deque_, marking_speed_, v8::internal::PrintPID(), v8::internal::Heap::PromotedSpaceSizeOfObjects(), and v8::internal::HeapObject::Size().
Referenced by RecordWriteIntoCodeSlow(), and RecordWrites().
|
private |
Definition at line 372 of file incremental-marking.cc.
References v8::internal::Heap::cell_space(), v8::internal::Heap::code_space(), DeactivateIncrementalWriteBarrierForSpace(), v8::internal::LargeObjectSpace::first_page(), heap_, v8::internal::MemoryChunk::is_valid(), v8::internal::Heap::lo_space(), v8::internal::Heap::map_space(), v8::internal::Heap::new_space(), v8::internal::LargePage::next_page(), v8::internal::Heap::old_data_space(), v8::internal::Heap::old_pointer_space(), v8::internal::Heap::property_cell_space(), and SetOldSpacePageFlags().
Referenced by Abort(), and Finalize().
|
staticprivate |
Definition at line 362 of file incremental-marking.cc.
References SetNewSpacePageFlags(), and space().
|
staticprivate |
Definition at line 352 of file incremental-marking.cc.
References SetOldSpacePageFlags(), and space().
Referenced by DeactivateIncrementalWriteBarrier().
|
private |
|
private |
Definition at line 484 of file incremental-marking.cc.
References v8::base::VirtualMemory::address(), CHECK, v8::base::VirtualMemory::Commit(), marking_deque_memory_, marking_deque_memory_committed_, v8::internal::MB, NULL, and v8::base::VirtualMemory::size().
Referenced by StartMarking().
|
inline |
Definition at line 158 of file incremental-marking.h.
References no_marking_scope_depth_.
Referenced by v8::internal::DescriptorArray::WhitenessWitness::WhitenessWitness().
void v8::internal::IncrementalMarking::Finalize | ( | ) |
Definition at line 786 of file incremental-marking.cc.
References DCHECK, DeactivateIncrementalWriteBarrier(), heap_, Hurry(), is_compacting_, v8::internal::MarkingDeque::IsEmpty(), v8::internal::Heap::isolate(), v8::internal::NewSpace::LowerInlineAllocationLimit(), marking_deque_, v8::internal::Heap::new_space(), v8::internal::PatchIncrementalMarkingRecordWriteStubs(), ResetStepCounters(), set_should_hurry(), v8::internal::Isolate::stack_guard(), state_, STOPPED, and v8::internal::RecordWriteStub::STORE_BUFFER_ONLY.
Referenced by v8::internal::MarkCompactCollector::MarkLiveObjects().
void v8::internal::IncrementalMarking::Hurry | ( | ) |
Definition at line 708 of file incremental-marking.cc.
References v8::internal::GCTracer::AddMarkingTime(), v8::internal::HeapObject::address(), v8::internal::Context::cast(), COMPLETE, v8::internal::FixedArray::get(), heap_, v8::internal::MemoryChunk::IncrementLiveBytesFromGC(), v8::internal::PolymorphicCodeCache::kSize, MARKING, v8::internal::Heap::native_contexts_list(), v8::internal::Context::NEXT_CONTEXT_LINK, v8::internal::Context::NORMALIZED_MAP_CACHE_INDEX, v8::internal::PrintF(), v8::internal::HeapObject::Size(), state(), state_, v8::base::OS::TimeCurrentMillis(), and v8::internal::Heap::tracer().
Referenced by Finalize().
|
static |
Definition at line 311 of file incremental-marking.cc.
References v8::internal::IncrementalMarkingMarkingVisitor::Initialize().
Referenced by v8::internal::MarkCompactCollector::Initialize().
v8::internal::IncrementalMarking::INLINE | ( | bool | BaseRecordWriteHeapObject *obj, Object **slot, Object *value | ) |
|
inline |
|
private |
|
private |
v8::internal::IncrementalMarking::INLINE | ( | void | RecordWriteHeapObject *obj, Object **slot, Object *value | ) |
v8::internal::IncrementalMarking::INLINE | ( | void | RecordWriteIntoCodeHeapObject *obj, RelocInfo *rinfo, Object *value | ) |
v8::internal::IncrementalMarking::INLINE | ( | void | RecordWriteOfCodeEntryJSFunction *host, Object **slot, Code *value | ) |
|
private |
|
inline |
Definition at line 140 of file incremental-marking.h.
References is_compacting_.
Referenced by ActivateGeneratedStub(), v8::internal::MarkCompactCollector::InvalidateCode(), v8::internal::Heap::SelectScavengingVisitorsTable(), and SetOldSpacePageFlags().
|
inline |
|
inline |
Definition at line 41 of file incremental-marking.h.
References MARKING, and state().
Referenced by v8::internal::FreeList::Allocate().
|
inline |
Definition at line 37 of file incremental-marking.h.
References state(), and STOPPED.
Referenced by Abort(), v8::internal::MarkCompactCollector::CollectGarbage(), v8::internal::Heap::IdleNotification(), OldSpaceStep(), and v8::internal::Heap::WorthActivatingIncrementalMarking().
|
inline |
|
inline |
Definition at line 138 of file incremental-marking.h.
References marking_deque_.
Referenced by v8::internal::MarkCompactCollector::MarkLiveObjects(), and v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
void v8::internal::IncrementalMarking::MarkingComplete | ( | CompletionAction | action | ) |
Definition at line 801 of file incremental-marking.cc.
References COMPLETE, GC_VIA_STACK_GUARD, heap_, v8::internal::Heap::isolate(), v8::internal::PrintF(), set_should_hurry(), v8::internal::Isolate::stack_guard(), and state_.
Referenced by Step().
|
inline |
Definition at line 164 of file incremental-marking.h.
References unscanned_bytes_of_large_object_.
Referenced by v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental().
|
inline |
Definition at line 144 of file incremental-marking.h.
References kFastMarking, marking_speed_, and v8::internal::PrintPID().
Referenced by v8::internal::Heap::PerformGarbageCollection().
void v8::internal::IncrementalMarking::OldSpaceStep | ( | intptr_t | allocated | ) |
Definition at line 818 of file incremental-marking.cc.
References GC_VIA_STACK_GUARD, IsStopped(), kFastMarking, kInitialMarkingSpeed, PREVENT_COMPACTION, ShouldActivate(), Start(), and Step().
Referenced by v8::internal::FreeList::Allocate(), and v8::internal::LargeObjectSpace::AllocateRaw().
void v8::internal::IncrementalMarking::PrepareForScavenge | ( | ) |
Definition at line 592 of file incremental-marking.cc.
References v8::internal::Bitmap::Clear(), v8::internal::NewSpace::FromSpaceEnd(), v8::internal::NewSpace::FromSpaceStart(), heap_, and v8::internal::Heap::new_space().
Referenced by v8::internal::Heap::Scavenge().
void v8::internal::IncrementalMarking::RecordCodeTargetPatch | ( | Address | pc, |
HeapObject * | value | ||
) |
Definition at line 78 of file incremental-marking.cc.
References v8::internal::RelocInfo::CODE_TARGET, v8::internal::InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), heap_, v8::internal::Isolate::inner_pointer_to_code_cache(), v8::internal::Heap::isolate(), and v8::internal::pc.
void v8::internal::IncrementalMarking::RecordCodeTargetPatch | ( | Code * | host, |
Address | pc, | ||
HeapObject * | value | ||
) |
Definition at line 69 of file incremental-marking.cc.
References v8::internal::RelocInfo::CODE_TARGET, and v8::internal::pc.
Referenced by v8::internal::IC::SetTargetAtAddress().
|
static |
Definition at line 50 of file incremental-marking.cc.
References v8::internal::HeapObject::address(), DCHECK, v8::internal::MemoryChunk::FromAddress(), v8::internal::Isolate::heap(), v8::internal::Heap::incremental_marking(), v8::internal::MemoryChunk::kWriteBarrierCounterGranularity, v8::internal::MemoryChunk::set_write_barrier_counter(), v8::internal::MemoryChunk::write_barrier_counter(), and write_barriers_invoked_since_last_step_.
void v8::internal::IncrementalMarking::RecordWriteIntoCodeSlow | ( | HeapObject * | obj, |
RelocInfo * | rinfo, | ||
Object * | value | ||
) |
Definition at line 100 of file incremental-marking.cc.
References BlackToGreyAndUnshift(), heap_, is_compacting_, v8::internal::Heap::mark_compact_collector(), v8::internal::MarkCompactCollector::RecordRelocSlot(), and RestartIfNotMarking().
void v8::internal::IncrementalMarking::RecordWriteOfCodeEntrySlow | ( | JSFunction * | host, |
Object ** | slot, | ||
Code * | value | ||
) |
Definition at line 89 of file incremental-marking.cc.
References DCHECK, heap_, v8::internal::Heap::mark_compact_collector(), NULL, and v8::internal::MarkCompactCollector::RecordCodeEntrySlot().
|
inline |
Definition at line 66 of file incremental-marking-inl.h.
References v8::internal::HeapObject::address(), BlackToGreyAndUnshift(), v8::internal::MemoryChunk::FromAddress(), v8::internal::MemoryChunk::HAS_PROGRESS_BAR, v8::internal::MemoryChunk::IsFlagSet(), RestartIfNotMarking(), and v8::internal::MemoryChunk::set_progress_bar().
Referenced by v8::internal::CopyDictionaryToObjectElements(), v8::internal::CopyObjectToObjectElements(), v8::internal::Map::DeprecateTarget(), v8::internal::Map::EnsureDescriptorSlack(), v8::internal::CodeFlusher::EvictCandidate(), v8::internal::CodeFlusher::EvictOptimizedCodeMap(), and v8::internal::Heap::MoveElements().
void v8::internal::IncrementalMarking::RecordWriteSlow | ( | HeapObject * | obj, |
Object ** | slot, | ||
Object * | value | ||
) |
Definition at line 37 of file incremental-marking.cc.
References heap_, v8::internal::Heap::mark_compact_collector(), NULL, and v8::internal::HeapObject::RawField().
|
private |
Definition at line 965 of file incremental-marking.cc.
References bytes_rescanned_, bytes_scanned_, heap_, kInitialMarkingSpeed, marking_speed_, old_generation_space_available_at_start_of_incremental_, old_generation_space_used_at_start_of_incremental_, v8::internal::Heap::PromotedTotalSize(), SpaceLeftInOldSpace(), steps_count_, and write_barriers_invoked_since_last_step_.
Referenced by Abort(), Finalize(), and Start().
|
inline |
Definition at line 91 of file incremental-marking.h.
References COMPLETE, MARKING, v8::internal::PrintF(), and state_.
Referenced by RecordWriteIntoCodeSlow(), RecordWrites(), and v8::internal::Marking::TransferMark().
|
inline |
Definition at line 35 of file incremental-marking.h.
References should_hurry_.
Referenced by Abort(), Finalize(), and MarkingComplete().
|
inline |
Definition at line 134 of file incremental-marking.h.
Referenced by ActivateIncrementalWriteBarrier(), DeactivateIncrementalWriteBarrierForSpace(), and v8::internal::NewSpacePage::Initialize().
|
staticprivate |
Definition at line 340 of file incremental-marking.cc.
References v8::internal::MemoryChunk::ClearFlag(), v8::internal::MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING, v8::internal::MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING, v8::internal::MemoryChunk::SCAN_ON_SCAVENGE, and v8::internal::MemoryChunk::SetFlag().
|
inline |
Definition at line 130 of file incremental-marking.h.
References IsCompacting().
Referenced by ActivateIncrementalWriteBarrier(), DeactivateIncrementalWriteBarrier(), DeactivateIncrementalWriteBarrierForSpace(), v8::internal::LargePage::Initialize(), v8::internal::Page::Initialize(), and v8::internal::MemoryChunk::set_scan_on_scavenge().
|
staticprivate |
Definition at line 316 of file incremental-marking.cc.
References v8::internal::CELL_SPACE, v8::internal::MemoryChunk::ClearFlag(), v8::internal::Space::identity(), v8::internal::Page::kPageSize, v8::internal::LO_SPACE, v8::internal::MemoryChunk::owner(), v8::internal::MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING, v8::internal::MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING, v8::internal::PROPERTY_CELL_SPACE, v8::internal::MemoryChunk::RESCAN_ON_EVACUATION, v8::internal::MemoryChunk::scan_on_scavenge(), v8::internal::MemoryChunk::SetFlag(), and v8::internal::MemoryChunk::size().
|
inline |
bool v8::internal::IncrementalMarking::ShouldActivate | ( | ) |
Definition at line 424 of file incremental-marking.cc.
References heap_, v8::internal::Heap::NextGCIsLikelyToBeFull(), and WorthActivating().
Referenced by v8::internal::Heap::IdleNotification(), and OldSpaceStep().
|
private |
Definition at line 978 of file incremental-marking.cc.
References heap_, v8::internal::Heap::MaxOldGenerationSize(), and v8::internal::Heap::PromotedSpaceSizeOfObjects().
Referenced by ResetStepCounters(), and SpeedUp().
|
private |
Definition at line 829 of file incremental-marking.cc.
References bytes_scanned_, heap_, kMarkingSpeedAccelleration, kMarkingSpeedAccellerationInterval, kMaxMarkingSpeed, MARKING, marking_speed_, v8::internal::Heap::MaxSemiSpaceSize(), v8::internal::MB, v8::internal::Min(), old_generation_space_available_at_start_of_incremental_, old_generation_space_used_at_start_of_incremental_, v8::internal::PrintPID(), v8::internal::Heap::PromotedTotalSize(), SpaceLeftInOldSpace(), state_, and steps_count_.
Referenced by Step().
void v8::internal::IncrementalMarking::Start | ( | CompactionFlag | flag = ALLOW_COMPACTION | ) |
Definition at line 510 of file incremental-marking.cc.
References DCHECK, v8::internal::flag, v8::internal::Heap::gc_state(), heap_, v8::internal::Isolate::IsInitialized(), v8::internal::Heap::isolate(), kAllocatedThreshold, v8::internal::NewSpace::LowerInlineAllocationLimit(), v8::internal::Heap::mark_compact_collector(), v8::internal::Heap::new_space(), v8::internal::Heap::NOT_IN_GC, v8::internal::PrintF(), ResetStepCounters(), v8::internal::Isolate::serializer_enabled(), StartMarking(), state_, STOPPED, SWEEPING, and v8::internal::MarkCompactCollector::sweeping_in_progress().
Referenced by v8::internal::Heap::CollectGarbage(), v8::internal::Heap::IdleNotification(), and OldSpaceStep().
|
private |
Definition at line 536 of file incremental-marking.cc.
References ActivateIncrementalWriteBarrier(), v8::base::VirtualMemory::address(), ALLOW_COMPACTION, v8::internal::Isolate::compilation_cache(), v8::internal::Heap::CompletelyClearInstanceofCache(), EnsureMarkingDequeIsCommitted(), v8::internal::flag, heap_, v8::internal::RecordWriteStub::INCREMENTAL, v8::internal::RecordWriteStub::INCREMENTAL_COMPACTION, v8::internal::MarkCompactCollector::INCREMENTAL_COMPACTION, v8::internal::MarkingDeque::Initialize(), is_compacting_, v8::internal::Heap::isolate(), v8::internal::Heap::IterateStrongRoots(), v8::internal::kPointerSize, v8::internal::Heap::mark_compact_collector(), v8::internal::CompilationCache::MarkCompactPrologue(), MARKING, marking_deque_, marking_deque_memory_, v8::internal::MarkObjectGreyDoNotEnqueue(), v8::internal::MarkCompactCollector::MarkWeakObjectToCodeTable(), mode(), v8::internal::PatchIncrementalMarkingRecordWriteStubs(), v8::internal::PrintF(), v8::base::VirtualMemory::size(), size, v8::internal::MarkCompactCollector::StartCompaction(), state_, and v8::internal::VISIT_ONLY_STRONG.
Referenced by Start(), and Step().
|
inline |
Definition at line 29 of file incremental-marking.h.
References DCHECK, state_, and STOPPED.
Referenced by Hurry(), INLINE(), IsComplete(), IsMarkingIncomplete(), and IsStopped().
void v8::internal::IncrementalMarking::Step | ( | intptr_t | allocated, |
CompletionAction | action, | ||
bool | force_marking = false |
||
) |
Definition at line 895 of file incremental-marking.cc.
References v8::internal::GCTracer::AddIncrementalMarkingStep(), allocated_, bytes_scanned_, v8::internal::Isolate::counters(), v8::internal::MarkCompactCollector::EnsureSweepingCompleted(), v8::internal::Heap::gc_state(), heap_, v8::internal::MarkingDeque::IsEmpty(), v8::internal::Heap::isolate(), v8::internal::MarkCompactCollector::IsSweepingCompleted(), kAllocatedThreshold, kWriteBarriersInvokedThreshold, v8::internal::Heap::mark_compact_collector(), MARKING, marking_deque_, marking_speed_, MarkingComplete(), v8::internal::Max(), no_marking_scope_depth_, v8::internal::Heap::NOT_IN_GC, PREVENT_COMPACTION, SpeedUp(), StartMarking(), state_, steps_count_, SWEEPING, v8::internal::MarkCompactCollector::sweeping_in_progress(), v8::base::OS::TimeCurrentMillis(), v8::internal::Heap::tracer(), and write_barriers_invoked_since_last_step_.
Referenced by v8::internal::Heap::AdvanceIdleIncrementalMarking(), v8::internal::Heap::CollectGarbage(), OldSpaceStep(), and v8::internal::NewSpace::SlowAllocateRaw().
void v8::internal::IncrementalMarking::Stop | ( | ) |
void v8::internal::IncrementalMarking::TearDown | ( | ) |
Definition at line 34 of file incremental-marking.cc.
References marking_deque_memory_.
Referenced by v8::internal::Heap::TearDown().
void v8::internal::IncrementalMarking::UncommitMarkingDeque | ( | ) |
Definition at line 499 of file incremental-marking.cc.
References v8::base::VirtualMemory::address(), CHECK, marking_deque_memory_, marking_deque_memory_committed_, v8::base::VirtualMemory::size(), state_, STOPPED, and v8::base::VirtualMemory::Uncommit().
Referenced by v8::internal::Heap::CollectAllAvailableGarbage().
void v8::internal::IncrementalMarking::UpdateMarkingDequeAfterScavenge | ( | ) |
Definition at line 602 of file incremental-marking.cc.
References v8::internal::HeapObject::address(), v8::internal::MarkingDeque::array(), v8::internal::MarkingDeque::bottom(), DCHECK, v8::internal::MemoryChunk::FromAddress(), v8::internal::MemoryChunk::HAS_PROGRESS_BAR, heap_, v8::internal::Heap::InNewSpace(), v8::internal::MemoryChunk::IsFlagSet(), v8::internal::HeapObject::map(), v8::internal::HeapObject::map_word(), marking_deque_, v8::internal::MarkingDeque::mask(), v8::internal::MarkingDeque::set_top(), and v8::internal::MarkingDeque::top().
Referenced by v8::internal::Heap::Scavenge().
|
inline |
Definition at line 110 of file incremental-marking-inl.h.
References marking_deque_.
Referenced by v8::internal::IncrementalMarkingMarkingVisitor::INLINE(), v8::internal::IncrementalMarkingRootMarkingVisitor::MarkObjectByPointer(), and v8::internal::Marking::TransferMark().
bool v8::internal::IncrementalMarking::WorthActivating | ( | ) |
Definition at line 429 of file incremental-marking.cc.
References v8::internal::Heap::gc_state(), heap_, v8::internal::Isolate::IsInitialized(), v8::internal::Heap::isolate(), v8::internal::MB, v8::internal::Heap::NOT_IN_GC, v8::internal::Heap::PromotedSpaceSizeOfObjects(), and v8::internal::Isolate::serializer_enabled().
Referenced by ShouldActivate(), and v8::internal::Heap::WorthActivatingIncrementalMarking().
|
private |
Definition at line 214 of file incremental-marking.h.
Referenced by Step().
|
private |
Definition at line 210 of file incremental-marking.h.
Referenced by BlackToGreyAndUnshift(), and ResetStepCounters().
|
private |
Definition at line 213 of file incremental-marking.h.
Referenced by BlackToGreyAndUnshift(), ResetStepCounters(), SpeedUp(), and Step().
|
private |
Definition at line 198 of file incremental-marking.h.
Referenced by Abort(), ActivateIncrementalWriteBarrier(), BlackToGreyAndUnshift(), DeactivateIncrementalWriteBarrier(), Finalize(), Hurry(), MarkingComplete(), PrepareForScavenge(), RecordCodeTargetPatch(), RecordWriteIntoCodeSlow(), RecordWriteOfCodeEntrySlow(), RecordWriteSlow(), ResetStepCounters(), ShouldActivate(), SpaceLeftInOldSpace(), SpeedUp(), Start(), StartMarking(), Step(), UpdateMarkingDequeAfterScavenge(), and WorthActivating().
|
private |
Definition at line 201 of file incremental-marking.h.
Referenced by Abort(), ActivateIncrementalWriteBarrier(), Finalize(), IsCompacting(), RecordWriteIntoCodeSlow(), and StartMarking().
|
static |
Definition at line 73 of file incremental-marking.h.
Referenced by v8::internal::FreeList::Allocate(), Start(), and Step().
|
static |
Definition at line 79 of file incremental-marking.h.
Referenced by NotifyOfHighPromotionRate(), and OldSpaceStep().
|
static |
Definition at line 76 of file incremental-marking.h.
Referenced by OldSpaceStep(), and ResetStepCounters().
|
static |
Definition at line 83 of file incremental-marking.h.
Referenced by SpeedUp().
|
static |
Definition at line 81 of file incremental-marking.h.
Referenced by SpeedUp().
|
static |
Definition at line 84 of file incremental-marking.h.
Referenced by BlackToGreyAndUnshift(), and SpeedUp().
|
static |
Definition at line 74 of file incremental-marking.h.
Referenced by Step().
|
private |
Definition at line 205 of file incremental-marking.h.
Referenced by BlackToGreyAndUnshift(), Finalize(), marking_deque(), StartMarking(), Step(), UpdateMarkingDequeAfterScavenge(), and WhiteToGreyAndPush().
|
private |
Definition at line 203 of file incremental-marking.h.
Referenced by EnsureMarkingDequeIsCommitted(), StartMarking(), TearDown(), and UncommitMarkingDeque().
|
private |
Definition at line 204 of file incremental-marking.h.
Referenced by EnsureMarkingDequeIsCommitted(), and UncommitMarkingDeque().
|
private |
Definition at line 212 of file incremental-marking.h.
Referenced by BlackToGreyAndUnshift(), NotifyOfHighPromotionRate(), ResetStepCounters(), SpeedUp(), and Step().
|
private |
Definition at line 217 of file incremental-marking.h.
Referenced by EnterNoMarkingScope(), LeaveNoMarkingScope(), and Step().
|
private |
Definition at line 208 of file incremental-marking.h.
Referenced by ResetStepCounters(), and SpeedUp().
|
private |
Definition at line 209 of file incremental-marking.h.
Referenced by ResetStepCounters(), and SpeedUp().
|
private |
Definition at line 211 of file incremental-marking.h.
Referenced by set_should_hurry(), and should_hurry().
|
private |
Definition at line 200 of file incremental-marking.h.
Referenced by Abort(), Finalize(), Hurry(), MarkingComplete(), RestartIfNotMarking(), SpeedUp(), Start(), StartMarking(), state(), Step(), and UncommitMarkingDeque().
|
private |
Definition at line 207 of file incremental-marking.h.
Referenced by ResetStepCounters(), SpeedUp(), and Step().
|
private |
Definition at line 219 of file incremental-marking.h.
Referenced by NotifyIncompleteScanOfObject().
|
private |
Definition at line 215 of file incremental-marking.h.
Referenced by RecordWriteFromCode(), ResetStepCounters(), and Step().