V8 Project
|
Classes | |
class | ObjectEvacuationStrategy |
Static Public Member Functions | |
static void | Initialize () |
static VisitorDispatchTable< ScavengingCallback > * | GetTable () |
![]() | |
static VisitorId | GetVisitorId (int instance_type, int instance_size) |
static VisitorId | GetVisitorId (Map *map) |
static VisitorId | GetVisitorIdForSize (VisitorId base, VisitorId generic, int object_size) |
Private Types | |
enum | ObjectContents { DATA_OBJECT , POINTER_OBJECT } |
Private Member Functions | |
INLINE (static void MigrateObject(Heap *heap, HeapObject *source, HeapObject *target, int size)) | |
Static Private Member Functions | |
static void | RecordCopiedObject (Heap *heap, HeapObject *obj) |
template<int alignment> | |
static bool | SemiSpaceCopyObject (Map *map, HeapObject **slot, HeapObject *object, int object_size) |
template<ObjectContents object_contents, int alignment> | |
static bool | PromoteObject (Map *map, HeapObject **slot, HeapObject *object, int object_size) |
template<ObjectContents object_contents, int alignment> | |
static void | EvacuateObject (Map *map, HeapObject **slot, HeapObject *object, int object_size) |
static void | EvacuateJSFunction (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateFixedArray (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateFixedDoubleArray (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateFixedTypedArray (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateFixedFloat64Array (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateByteArray (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateSeqOneByteString (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateSeqTwoByteString (Map *map, HeapObject **slot, HeapObject *object) |
static void | EvacuateShortcutCandidate (Map *map, HeapObject **slot, HeapObject *object) |
Static Private Attributes | |
static VisitorDispatchTable< ScavengingCallback > | table_ |
Additional Inherited Members | |
![]() | |
enum | VisitorId { kVisitorIdCount , kVisitDataObject = kVisitDataObject2 , kVisitJSObject = kVisitJSObject2 , kVisitStruct = kVisitStruct2 , kMinObjectSizeInWords = 2 } |
![]() | |
STATIC_ASSERT (kVisitorIdCount<=256) | |
|
private |
|
inlinestaticprivate |
Definition at line 2124 of file heap.cc.
References map.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2091 of file heap.cc.
References map, and v8::internal::FixedArray::BodyDescriptor::SizeOf().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2099 of file heap.cc.
References map, and v8::internal::FixedDoubleArray::SizeFor().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2116 of file heap.cc.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2108 of file heap.cc.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2067 of file heap.cc.
References v8::internal::HeapObject::address(), DCHECK, v8::internal::Code::GetObjectFromEntryAddress(), v8::internal::JSFunction::kCodeEntryOffset, v8::internal::JSFunction::kSize, and map.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2041 of file heap.cc.
References v8::internal::HeapObject::address(), v8::internal::Page::kMaxRegularHeapObjectSize, map, v8::internal::Heap::ShouldBePromoted(), v8::internal::HeapObject::Size(), SLOW_DCHECK, and UNREACHABLE.
|
inlinestaticprivate |
Definition at line 2132 of file heap.cc.
References map.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2141 of file heap.cc.
References map.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestaticprivate |
Definition at line 2150 of file heap.cc.
References DCHECK, v8::internal::Heap::DoScavengeObject(), v8::internal::IGNORE_MARKS, v8::internal::Heap::InNewSpace(), v8::internal::IsShortcutCandidate(), v8::internal::ConsString::kSize, map, v8::internal::HeapObject::map(), v8::internal::HeapObject::map_word(), and v8::internal::HeapObject::set_map_word().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().
|
inlinestatic |
Definition at line 1894 of file heap.cc.
References v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::table_.
|
inlinestatic |
Definition at line 1825 of file heap.cc.
References v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateByteArray(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateFixedArray(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateFixedDoubleArray(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateFixedFloat64Array(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateFixedTypedArray(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateJSFunction(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateSeqOneByteString(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateSeqTwoByteString(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateShortcutCandidate(), v8::internal::IGNORE_MARKS, v8::internal::Context::kSize, v8::internal::SharedFunctionInfo::kSize, v8::internal::JSFunction::kSize, v8::internal::Symbol::kSize, v8::internal::ConsString::kSize, v8::internal::SlicedString::kSize, v8::internal::StaticVisitorBase::kVisitDataObject, v8::internal::StaticVisitorBase::kVisitJSObject, v8::internal::StaticVisitorBase::kVisitStruct, v8::internal::VisitorDispatchTable< Callback >::Register(), v8::internal::VisitorDispatchTable< Callback >::RegisterSpecializations(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::table_.
Referenced by v8::internal::InitializeScavengingVisitorsTables().
|
inlineprivate |
Definition at line 1919 of file heap.cc.
References v8::internal::HeapObject::address(), v8::internal::Heap::CopyBlock(), DCHECK, v8::internal::MemoryChunk::IncrementLiveBytesFromGC(), v8::internal::Heap::InToSpace(), v8::internal::PromotionQueue::IsBelowPromotionQueue(), v8::internal::kPointerSize, v8::internal::LOGGING_AND_PROFILING_ENABLED, v8::internal::Heap::new_space(), v8::internal::Heap::OnMoveEvent(), v8::internal::Heap::promotion_queue(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::RecordCopiedObject(), v8::internal::HeapObject::set_map_word(), size, v8::internal::NewSpace::top(), and v8::internal::TRANSFER_MARKS.
|
inlinestaticprivate |
Definition at line 1994 of file heap.cc.
References v8::internal::PagedSpace::AllocateRaw(), v8::internal::Heap::AllowedToBeMigrated(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::DATA_OBJECT, DCHECK, v8::internal::EnsureDoubleAligned(), v8::internal::Heap::IncrementPromotedObjectsSize(), v8::internal::PromotionQueue::insert(), v8::internal::JS_FUNCTION_TYPE, v8::internal::kDoubleAlignment, v8::internal::JSFunction::kNonWeakFieldsEndOffset, v8::internal::kObjectAlignment, v8::internal::kPointerSize, map, NULL, v8::internal::OLD_DATA_SPACE, v8::internal::Heap::old_data_space(), v8::internal::OLD_POINTER_SPACE, v8::internal::Heap::old_pointer_space(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::POINTER_OBJECT, v8::internal::Heap::promotion_queue(), and v8::internal::AllocationResult::To().
|
inlinestaticprivate |
Definition at line 1901 of file heap.cc.
References v8::internal::NewSpace::Contains(), v8::internal::Heap::new_space(), v8::internal::NewSpace::RecordAllocation(), and v8::internal::NewSpace::RecordPromotion().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE().
|
inlinestaticprivate |
Definition at line 1954 of file heap.cc.
References v8::internal::Heap::AllowedToBeMigrated(), DCHECK, v8::internal::EnsureDoubleAligned(), v8::internal::Heap::IncrementSemiSpaceCopiedObjectSize(), v8::internal::kDoubleAlignment, v8::internal::kObjectAlignment, v8::internal::kPointerSize, map, v8::internal::NEW_SPACE, v8::internal::Heap::new_space(), NULL, v8::internal::Heap::promotion_queue(), v8::internal::PromotionQueue::SetNewLimit(), v8::internal::AllocationResult::To(), and v8::internal::NewSpace::top().
|
staticprivate |
Definition at line 2204 of file heap.cc.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::GetTable(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize().