v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <mark-compact.h>
Public Member Functions | |
Marking (Heap *heap) | |
bool | TransferMark (Address old_start, Address new_start) |
INLINE (static bool TransferColor(HeapObject *from, HeapObject *to)) | |
Static Public Member Functions | |
static MarkBit | MarkBitFrom (Address addr) |
static MarkBit | MarkBitFrom (HeapObject *obj) |
static bool | IsImpossible (MarkBit mark_bit) |
static bool | IsBlack (MarkBit mark_bit) |
static bool | IsWhite (MarkBit mark_bit) |
static bool | IsGrey (MarkBit mark_bit) |
static void | MarkBlack (MarkBit mark_bit) |
static void | BlackToGrey (MarkBit markbit) |
static void | WhiteToGrey (MarkBit markbit) |
static void | GreyToBlack (MarkBit markbit) |
static void | BlackToGrey (HeapObject *obj) |
static void | AnyToGrey (MarkBit markbit) |
Static Public Attributes | |
static const char * | kImpossibleBitPattern = "01" |
static const char * | kBlackBitPattern = "10" |
static const char * | kWhiteBitPattern = "00" |
static const char * | kGreyBitPattern = "11" |
Definition at line 50 of file mark-compact.h.
Definition at line 52 of file mark-compact.h.
|
inlinestatic |
Definition at line 108 of file mark-compact.h.
References MarkBit::Next(), and MarkBit::Set().
|
inlinestatic |
Definition at line 91 of file mark-compact.h.
References MarkBit::Next(), and MarkBit::Set().
Referenced by Marking::BlackToGrey(), IncrementalMarking::BlackToGreyAndUnshift(), and MarkingDeque::PushBlack().
|
inlinestatic |
Definition at line 104 of file mark-compact.h.
References Marking::BlackToGrey(), and Marking::MarkBitFrom().
|
inlinestatic |
Definition at line 100 of file mark-compact.h.
References MarkBit::Clear(), and MarkBit::Next().
Referenced by IncrementalMarking::Hurry().
|
inline |
Definition at line 148 of file mark-compact.h.
References MarkBit::Get(), Marking::MarkBitFrom(), MarkBit::Next(), and MarkBit::Set().
|
inlinestatic |
Definition at line 70 of file mark-compact.h.
References MarkBit::Get(), and MarkBit::Next().
Referenced by IncrementalMarking::Hurry(), Heap::IterateAndMarkPointersToFromSpace(), String::MakeExternal(), IncrementalMarking::MarkBlackOrKeepGrey(), JSObject::NormalizeProperties(), MarkCompactCollector::RecordCodeTargetPatch(), IncrementalMarking::RecordWriteIntoCodeSlow(), IncrementalMarking::RecordWrites(), IncrementalMarking::RecordWriteSlow(), NewSpace::ShrinkStringAtAllocationBoundary(), TEST(), and Marking::TransferMark().
|
inlinestatic |
Definition at line 82 of file mark-compact.h.
References MarkBit::Get(), and MarkBit::Next().
Referenced by IncrementalMarking::Hurry(), IncrementalMarking::Step(), Marking::TransferMark(), and IncrementalMarking::UpdateMarkingDequeAfterScavenge().
|
inlinestatic |
Definition at line 64 of file mark-compact.h.
References MarkBit::Get(), and MarkBit::Next().
Referenced by IncrementalMarking::MarkBlackOrKeepGrey().
|
inlinestatic |
Definition at line 76 of file mark-compact.h.
References MarkBit::Get().
Referenced by IncrementalMarking::Hurry(), IncrementalMarkingMarkingVisitor::INLINE(), MarkCompactCollector::InvalidateCode(), IncrementalMarking::RecordWriteIntoCodeSlow(), IncrementalMarking::Step(), Marking::TransferMark(), and IncrementalMarking::UpdateMarkingDequeAfterScavenge().
Definition at line 40 of file mark-compact-inl.h.
References MemoryChunk::AddressToMarkbitIndex(), MemoryChunk::ContainsOnlyData(), MemoryChunk::FromAddress(), Bitmap::MarkBitFromIndex(), and MemoryChunk::markbits().
Referenced by Marking::BlackToGrey(), IncrementalMarking::BlackToGreyAndUnshift(), MarkCompactCollector::ClearMarkbits(), LargeObjectSpace::FreeUnmarkedObjects(), IncrementalMarking::Hurry(), Marking::INLINE(), IncrementalMarkingMarkingVisitor::INLINE(), MarkCompactMarkingVisitor::INLINE(), MarkCompactCollector::InvalidateCode(), StaticMarkingVisitor< StaticVisitor >::IsFlushable(), MarkCompactCollector::IsMarked(), Heap::IterateAndMarkPointersToFromSpace(), String::MakeExternal(), Marking::MarkBitFrom(), JSObject::NormalizeProperties(), MarkCompactCollector::RecordCodeTargetPatch(), IncrementalMarking::RecordWriteIntoCodeSlow(), IncrementalMarking::RecordWrites(), IncrementalMarking::RecordWriteSlow(), RuntimeProfiler::RemoveDeadSamples(), MarkCompactWeakObjectRetainer::RetainAs(), NewSpace::ShrinkStringAtAllocationBoundary(), UnreachableObjectsFilter::SkipObject(), IncrementalMarking::Step(), TEST(), Marking::TransferMark(), IncrementalMarking::UpdateMarkingDequeAfterScavenge(), MarkCompactMarkingVisitor::VisitJSWeakMap(), SharedFunctionInfoMarkingVisitor::VisitPointer(), SymbolTableCleaner::VisitPointers(), and MarkCompactMarkingVisitor::VisitUnmarkedObjects().
|
inlinestatic |
Definition at line 58 of file mark-compact.h.
References Marking::MarkBitFrom().
|
inlinestatic |
Definition at line 86 of file mark-compact.h.
References MarkBit::Clear(), MarkBit::Next(), and MarkBit::Set().
Referenced by IncrementalMarking::Hurry(), IncrementalMarking::Step(), and Marking::TransferMark().
Definition at line 488 of file mark-compact.cc.
References ASSERT, MarkBit::Clear(), MemoryChunk::FromAddress(), HeapObject::FromAddress(), Heap::incremental_marking(), Marking::IsBlack(), Marking::IsGrey(), Marking::IsWhite(), Marking::MarkBitFrom(), Marking::MarkBlack(), MarkBit::Next(), IncrementalMarking::RestartIfNotMarking(), and IncrementalMarking::WhiteToGreyAndPush().
|
inlinestatic |
Definition at line 95 of file mark-compact.h.
References MarkBit::Next(), and MarkBit::Set().
Referenced by IncrementalMarking::WhiteToGreyAndPush().
|
static |
Definition at line 69 of file mark-compact.h.
|
static |
Definition at line 81 of file mark-compact.h.
|
static |
Definition at line 63 of file mark-compact.h.
|
static |
Definition at line 75 of file mark-compact.h.