V8 Project
|
Public Member Functions | |
INLINE (static void VisitPointer(Heap *heap, Object **p)) | |
INLINE (static void VisitPointers(Heap *heap, Object **start, Object **end)) | |
INLINE (static void MarkObject(Heap *heap, HeapObject *object)) | |
INLINE (static bool MarkObjectWithoutPush(Heap *heap, HeapObject *object)) | |
INLINE (static void MarkObjectByPointer(MarkCompactCollector *collector, Object **anchor_slot, Object **p)) | |
INLINE (static void VisitUnmarkedObject(MarkCompactCollector *collector, HeapObject *obj)) | |
INLINE (static bool VisitUnmarkedObjects(Heap *heap, Object **start, Object **end)) | |
![]() | |
INLINE (static void IterateBody(Map *map, HeapObject *obj)) | |
INLINE (static void VisitPropertyCell(Map *map, HeapObject *object)) | |
INLINE (static void VisitCodeEntry(Heap *heap, Address entry_address)) | |
INLINE (static void VisitEmbeddedPointer(Heap *heap, RelocInfo *rinfo)) | |
INLINE (static void VisitCell(Heap *heap, RelocInfo *rinfo)) | |
INLINE (static void VisitDebugTarget(Heap *heap, RelocInfo *rinfo)) | |
INLINE (static void VisitCodeTarget(Heap *heap, RelocInfo *rinfo)) | |
INLINE (static void VisitCodeAgeSequence(Heap *heap, RelocInfo *rinfo)) | |
INLINE (static void VisitExternalReference(RelocInfo *rinfo)) | |
INLINE (static void VisitRuntimeEntry(RelocInfo *rinfo)) | |
INLINE (static void VisitNextCodeLink(Heap *heap, Object **slot)) | |
![]() | |
STATIC_ASSERT (kVisitorIdCount<=256) | |
Static Public Member Functions | |
static void | ObjectStatsVisitBase (StaticVisitorBase::VisitorId id, Map *map, HeapObject *obj) |
static void | ObjectStatsCountFixedArray (FixedArrayBase *fixed_array, FixedArraySubInstanceType fast_type, FixedArraySubInstanceType dictionary_type) |
static void | Initialize () |
![]() | |
static void | Initialize () |
static void | MarkInlinedFunctionsCode (Heap *heap, Code *code) |
![]() | |
static VisitorId | GetVisitorId (int instance_type, int instance_size) |
static VisitorId | GetVisitorId (Map *map) |
static VisitorId | GetVisitorIdForSize (VisitorId base, VisitorId generic, int object_size) |
Static Private Member Functions | |
template<int id> | |
static void | TrackObjectStatsAndVisit (Map *map, HeapObject *obj) |
static void | UpdateRegExpCodeAgeAndFlush (Heap *heap, JSRegExp *re, bool is_one_byte) |
static void | VisitRegExpAndFlushCode (Map *map, HeapObject *object) |
Static Private Attributes | |
static const int | kRegExpCodeThreshold = 5 |
static VisitorDispatchTable< Callback > | non_count_table_ |
Additional Inherited Members | |
![]() | |
enum | VisitorId { kVisitorIdCount , kVisitDataObject = kVisitDataObject2 , kVisitJSObject = kVisitJSObject2 , kVisitStruct = kVisitStruct2 , kMinObjectSizeInWords = 2 } |
![]() | |
typedef FlexibleBodyVisitor< MarkCompactMarkingVisitor, FixedArray::BodyDescriptor, void > | FixedArrayVisitor |
typedef FlexibleBodyVisitor< MarkCompactMarkingVisitor, JSObject::BodyDescriptor, void > | JSObjectVisitor |
typedef FlexibleBodyVisitor< MarkCompactMarkingVisitor, StructBodyDescriptor, void > | StructObjectVisitor |
typedef void(* | Callback) (Map *map, HeapObject *object) |
![]() | |
INLINE (static void VisitMap(Map *map, HeapObject *object)) | |
INLINE (static void VisitCode(Map *map, HeapObject *object)) | |
INLINE (static void VisitSharedFunctionInfo(Map *map, HeapObject *object)) | |
INLINE (static void VisitConstantPoolArray(Map *map, HeapObject *object)) | |
INLINE (static void VisitAllocationSite(Map *map, HeapObject *object)) | |
INLINE (static void VisitWeakCollection(Map *map, HeapObject *object)) | |
INLINE (static void VisitJSFunction(Map *map, HeapObject *object)) | |
INLINE (static void VisitJSRegExp(Map *map, HeapObject *object)) | |
INLINE (static void VisitJSArrayBuffer(Map *map, HeapObject *object)) | |
INLINE (static void VisitJSTypedArray(Map *map, HeapObject *object)) | |
INLINE (static void VisitJSDataView(Map *map, HeapObject *object)) | |
INLINE (static void VisitNativeContext(Map *map, HeapObject *object)) | |
INLINE (static bool IsFlushable(Heap *heap, JSFunction *function)) | |
INLINE (static bool IsFlushable(Heap *heap, SharedFunctionInfo *shared_info)) | |
![]() | |
static void | MarkMapContents (Heap *heap, Map *map) |
static void | MarkTransitionArray (Heap *heap, TransitionArray *transitions) |
static void | VisitSharedFunctionInfoStrongCode (Heap *heap, HeapObject *object) |
static void | VisitSharedFunctionInfoWeakCode (Heap *heap, HeapObject *object) |
static void | VisitJSFunctionStrongCode (Heap *heap, HeapObject *object) |
static void | VisitJSFunctionWeakCode (Heap *heap, HeapObject *object) |
![]() | |
static VisitorDispatchTable< Callback > | table_ |
Definition at line 1353 of file mark-compact.cc.
|
static |
Definition at line 1658 of file mark-compact.cc.
References v8::internal::StaticMarkingVisitor< StaticVisitor >::Initialize(), non_count_table_, v8::internal::StaticMarkingVisitor< MarkCompactMarkingVisitor >::table_, VISITOR_ID_COUNT_FUNCTION, VISITOR_ID_LIST, and VisitRegExpAndFlushCode().
Referenced by v8::internal::MarkCompactCollector::Initialize().
|
inline |
Definition at line 1396 of file mark-compact.cc.
References v8::internal::MarkBit::Get(), and v8::internal::Heap::mark_compact_collector().
|
inline |
Definition at line 1435 of file mark-compact.cc.
References v8::internal::MarkBit::Get(), v8::internal::Heap::isolate(), and v8::internal::Heap::mark_compact_collector().
|
inline |
Definition at line 1389 of file mark-compact.cc.
References v8::internal::Heap::mark_compact_collector().
|
inline |
Definition at line 1406 of file mark-compact.cc.
References v8::internal::ShortCircuitConsString().
|
inline |
Definition at line 1371 of file mark-compact.cc.
References v8::internal::Heap::mark_compact_collector().
|
inline |
Definition at line 1375 of file mark-compact.cc.
References v8::internal::Heap::mark_compact_collector().
|
inline |
Definition at line 1417 of file mark-compact.cc.
References v8::internal::Heap::Contains(), DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::MarkCompactCollector::heap(), v8::internal::MarkCompactCollector::IsMarked(), map, v8::internal::HeapObject::map(), and v8::internal::Heap::mark_compact_collector().
|
static |
Definition at line 1535 of file mark-compact.cc.
References v8::internal::HeapObject::GetHeap(), v8::internal::HeapObject::map(), v8::internal::Heap::RecordFixedArraySubTypeStats(), and v8::internal::HeapObject::Size().
Referenced by ObjectStatsVisitBase().
|
static |
Definition at line 1551 of file mark-compact.cc.
References map, non_count_table_, ObjectStatsCountFixedArray(), v8::internal::Heap::RecordObjectStats(), and v8::internal::HeapObject::Size().
Referenced by v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitMap >::Visit(), v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitCode >::Visit(), v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitSharedFunctionInfo >::Visit(), and v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitFixedArray >::Visit().
|
inlinestaticprivate |
|
inlinestaticprivate |
Definition at line 1463 of file mark-compact.cc.
References v8::internal::JSRegExp::code_index(), v8::internal::CODE_TYPE, v8::internal::FixedArray::data_start(), v8::internal::JSRegExp::DataAt(), v8::internal::FIXED_ARRAY_TYPE, v8::internal::Smi::FromInt(), v8::internal::JSRegExp::IRREGEXP, v8::internal::JSRegExp::kCompilationErrorValue, kRegExpCodeThreshold, v8::internal::JSRegExp::kUninitializedValue, v8::internal::Heap::mark_compact_collector(), v8::internal::JSRegExp::saved_code_index(), v8::internal::JSRegExp::SetDataAt(), v8::internal::Heap::sweep_generation(), and v8::internal::JSRegExp::TypeTag().
Referenced by VisitRegExpAndFlushCode().
|
inlinestaticprivate |
Definition at line 1516 of file mark-compact.cc.
References v8::internal::MarkCompactCollector::is_code_flushing_enabled(), map, v8::internal::Heap::mark_compact_collector(), and UpdateRegExpCodeAgeAndFlush().
Referenced by Initialize().
|
staticprivate |
Definition at line 1461 of file mark-compact.cc.
Referenced by UpdateRegExpCodeAgeAndFlush().
|
staticprivate |
Definition at line 1531 of file mark-compact.cc.
Referenced by Initialize(), and ObjectStatsVisitBase().