V8 Project
|
#include <heap.h>
Classes | |
struct | ConstantStringTable |
struct | GCEpilogueCallbackPair |
struct | GCPrologueCallbackPair |
class | RelocationLock |
struct | StringTypeTable |
struct | StructTable |
Public Types | |
enum | InvocationMode { FROM_GC , FROM_MUTATOR } |
enum | HeapState { NOT_IN_GC , SCAVENGE , MARK_COMPACT } |
enum | ScratchpadSlotMode { IGNORE_SCRATCHPAD_SLOT , RECORD_SCRATCHPAD_SLOT } |
enum | RootListIndex { kStringTableRootIndex , kRootListLength , kStrongRootListLength = kStringTableRootIndex , kSmiRootsStart = kStringTableRootIndex + 1 } |
enum | { FIRST_CODE_KIND_SUB_TYPE = LAST_TYPE + 1 , FIRST_FIXED_ARRAY_SUB_TYPE , FIRST_CODE_AGE_SUB_TYPE , OBJECT_STATS_COUNT = FIRST_CODE_AGE_SUB_TYPE + Code::kCodeAgeCount + 1 } |
Static Public Member Functions | |
template<typename T > | |
static bool | IsOneByte (T t, int chars) |
static AllocationSpace | TargetSpaceId (InstanceType type) |
static bool | ShouldZapGarbage () |
static void | ScavengePointer (HeapObject **p) |
static void | ScavengeObject (HeapObject **p, HeapObject *object) |
static void | UpdateAllocationSiteFeedback (HeapObject *object, ScratchpadSlotMode mode) |
static bool | RootCanBeWrittenAfterInitialization (RootListIndex root_index) |
static void | CopyBlock (Address dst, Address src, int byte_size) |
static void | MoveBlock (Address dst, Address src, int byte_size) |
static void | FatalProcessOutOfMemory (const char *location, bool take_snapshot=false) |
Protected Member Functions | |
MUST_USE_RESULT AllocationResult | AllocateMap (InstanceType instance_type, int instance_size, ElementsKind elements_kind=TERMINAL_FAST_ELEMENTS_KIND) |
MUST_USE_RESULT AllocationResult | AllocateJSObject (JSFunction *constructor, PretenureFlag pretenure=NOT_TENURED, AllocationSite *allocation_site=NULL) |
MUST_USE_RESULT AllocationResult | AllocateJSObjectFromMap (Map *map, PretenureFlag pretenure=NOT_TENURED, bool alloc_props=true, AllocationSite *allocation_site=NULL) |
MUST_USE_RESULT AllocationResult | AllocateHeapNumber (double value, MutableMode mode=IMMUTABLE, PretenureFlag pretenure=NOT_TENURED) |
MUST_USE_RESULT AllocationResult | AllocateByteArray (int length, PretenureFlag pretenure=NOT_TENURED) |
MUST_USE_RESULT AllocationResult | CopyCode (Code *code, Vector< byte > reloc_info) |
MUST_USE_RESULT AllocationResult | CopyCode (Code *code) |
MUST_USE_RESULT AllocationResult | AllocateFixedArray (int length, PretenureFlag pretenure=NOT_TENURED) |
Static Private Member Functions | |
static int | GcSafeSizeOfOldObject (HeapObject *object) |
static AllocationSpace | SelectSpace (int object_size, AllocationSpace preferred_old_space, PretenureFlag pretenure) |
static String * | UpdateNewSpaceReferenceInExternalStringTableEntry (Heap *heap, Object **pointer) |
static void | ScavengeStoreBufferCallback (Heap *heap, MemoryChunk *page, StoreBufferEvent event) |
static void | ScavengeObjectSlow (HeapObject **p, HeapObject *object) |
Static Private Attributes | |
static const int | kRememberedUnmappedPages = 128 |
static const StringTypeTable | string_type_table [] |
static const ConstantStringTable | constant_string_table [] |
static const StructTable | struct_table [] |
static const int | kYoungSurvivalRateHighThreshold = 90 |
static const int | kYoungSurvivalRateAllowedDeviation = 15 |
static const int | kOldSurvivalRateLowThreshold = 10 |
static const int | kInitialStringTableSize = 2048 |
static const int | kInitialEvalCacheSize = 64 |
static const int | kInitialNumberStringCacheSize = 256 |
static const int | kAllocationSiteScratchpadSize = 256 |
static const int | kMaxMarkCompactsInIdleRound = 7 |
static const int | kIdleScavengeThreshold = 5 |
Friends | |
class | AlwaysAllocateScope |
class | Deserializer |
class | Factory |
class | GCCallbacksScope |
class | GCTracer |
class | HeapIterator |
class | Isolate |
class | MarkCompactCollector |
class | MarkCompactMarkingVisitor |
class | MapCompact |
class | Page |
anonymous enum |
|
private |
Definition at line 53 of file heap.cc.
References ClearObjectStats(), DCHECK, v8::internal::Smi::FromInt(), v8::internal::Page::kPageSize, kRootListLength, max_semi_space_size_, v8::internal::MB, NULL, RememberUnmappedPage(), reserved_semispace_size_, roots_, set_allocation_sites_list(), set_array_buffers_list(), set_encountered_weak_collections(), and set_native_contexts_list().
|
private |
Definition at line 3077 of file heap.cc.
References allocation_sites_scratchpad_length_, v8::internal::SlotsBuffer::IGNORE_OVERFLOW, kAllocationSiteScratchpadSize, mark_compact_collector(), mode(), RECORD_SCRATCHPAD_SLOT, and v8::internal::SKIP_WRITE_BARRIER.
Referenced by UpdateAllocationSiteFeedback().
void v8::internal::Heap::AddGCEpilogueCallback | ( | v8::Isolate::GCEpilogueCallback | callback, |
GCType | gc_type_filter, | ||
bool | pass_isolate = true |
||
) |
Definition at line 5319 of file heap.cc.
References DCHECK, gc_epilogue_callbacks_, and NULL.
Referenced by v8::Isolate::AddGCEpilogueCallback(), and v8::V8::AddGCEpilogueCallback().
void v8::internal::Heap::AddGCPrologueCallback | ( | v8::Isolate::GCPrologueCallback | callback, |
GCType | gc_type_filter, | ||
bool | pass_isolate = true |
||
) |
Definition at line 5298 of file heap.cc.
References DCHECK, gc_prologue_callbacks_, and NULL.
Referenced by v8::Isolate::AddGCPrologueCallback(), and v8::V8::AddGCPrologueCallback().
void v8::internal::Heap::AddWeakObjectToCodeDependency | ( | Handle< Object > | obj, |
Handle< DependentCode > | dep | ||
) |
Definition at line 5341 of file heap.cc.
References DCHECK, DCHECK_EQ, InNewSpace(), isolate(), v8::internal::WeakHashTable::Put(), set_weak_object_to_code_table(), ShouldZapGarbage(), and weak_object_to_code_table_.
Referenced by v8::internal::AddWeakObjectToCodeDependency().
void v8::internal::Heap::AdjustLiveBytes | ( | Address | address, |
int | by, | ||
InvocationMode | mode | ||
) |
Definition at line 3254 of file heap.cc.
References FROM_GC, incremental_marking(), v8::internal::MemoryChunk::IncrementLiveBytesFromGC(), v8::internal::MemoryChunk::IncrementLiveBytesFromMutator(), and mode().
Referenced by LeftTrimFixedArray(), v8::internal::String::MakeExternal(), v8::internal::JSObject::MigrateFastToSlow(), RightTrimFixedArray(), v8::internal::StringReplaceGlobalRegExpWithEmptyString(), and v8::internal::SeqString::Truncate().
|
private |
Definition at line 4267 of file heap.cc.
References v8::internal::CompilationCache::Clear(), CollectAllGarbage(), v8::internal::Isolate::compilation_cache(), gc_count_, gc_count_at_last_idle_gc_, gc_idle_time_handler_, incremental_marking(), isolate_, kReduceMemoryFootprintMask, new_space_, v8::internal::IncrementalMarking::NO_GC_VIA_STACK_GUARD, v8::internal::GCIdleTimeHandler::NotifyIdleMarkCompact(), v8::internal::NewSpace::Shrink(), v8::internal::IncrementalMarking::Step(), and UncommitFromSpace().
Referenced by IdleNotification().
|
inline |
Definition at line 1270 of file heap.h.
References global_ic_age_, and v8::internal::BitFieldBase< T, shift, size, U >::kMax.
Referenced by NotifyContextDisposed().
|
private |
Definition at line 3574 of file heap.cc.
References AllocateRaw(), DCHECK, gc_state_, InitializeAllocationMemento(), v8::internal::AllocationMemento::kSize, map, v8::internal::MAP_TYPE, v8::internal::NEW_SPACE, NOT_IN_GC, NULL, v8::internal::HeapObject::set_map_no_write_barrier(), size, space(), TargetSpaceId(), and v8::internal::AllocationResult::To().
Referenced by AllocateForeign(), AllocateJSObjectFromMap(), AllocateStruct(), and CreateInitialMaps().
|
protected |
Definition at line 3203 of file heap.cc.
References AllocateRaw(), FatalProcessOutOfMemory(), v8::internal::ByteArray::kMaxLength, v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::ByteArray::SizeFor(), space(), and v8::internal::AllocationResult::To().
Referenced by CopyCode(), and CreateInitialMaps().
|
private |
Definition at line 2646 of file heap.cc.
References AllocateRaw(), v8::internal::CELL_SPACE, v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::Cell::kSize, v8::internal::HeapObject::set_map_no_write_barrier(), size, STATIC_ASSERT(), and v8::internal::AllocationResult::To().
|
private |
Definition at line 3431 of file heap.cc.
References v8::internal::HeapObject::address(), v8::internal::LargeObjectSpace::AllocateRaw(), AllocateRaw(), v8::internal::Isolate::code_range(), v8::internal::CODE_SPACE, code_space_, v8::internal::MemoryChunk::Contains(), v8::internal::CodeRange::contains(), CreateFillerObjectAt(), DCHECK, v8::internal::EXECUTABLE, v8::internal::PagedSpace::FirstPage(), v8::internal::MemoryChunk::FromAddress(), v8::internal::Smi::FromInt(), global_ic_age_, v8::internal::Space::identity(), v8::internal::IsAligned(), isolate_, v8::internal::kCodeAlignment, v8::internal::LO_SPACE, lo_space_, NULL, OnAllocationEvent(), v8::internal::MemoryChunk::owner(), v8::internal::Code::set_ic_age(), v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::AllocationResult::To(), and v8::internal::CodeRange::valid().
|
private |
Definition at line 4128 of file heap.cc.
References AllocateRaw(), CHECK, v8::internal::ConstantPoolArray::ClearPtrEntries(), v8::internal::EnsureDoubleAligned(), v8::internal::ConstantPoolArray::Init(), isolate(), v8::internal::ConstantPoolArray::kMaxSmallEntriesPerType, v8::internal::kPointerSize, v8::internal::OLD_POINTER_SPACE, SelectSpace(), size, v8::internal::ConstantPoolArray::SizeFor(), space(), v8::internal::TENURED, and v8::internal::AllocationResult::To().
Referenced by CopyConstantPoolArrayWithMap().
|
private |
Definition at line 4178 of file heap.cc.
References AllocateRaw(), v8::internal::OLD_DATA_SPACE, v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::ConstantPoolArray::SizeFor(), and v8::internal::AllocationResult::To().
Referenced by CreateInitialMaps().
|
private |
Definition at line 3933 of file heap.cc.
References AllocateExternalArray(), NULL, and v8::internal::TENURED.
|
private |
Definition at line 3918 of file heap.cc.
References AllocateRaw(), v8::internal::OLD_DATA_SPACE, v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::FixedArray::SizeFor(), and v8::internal::AllocationResult::To().
Referenced by CreateInitialMaps().
|
private |
Definition at line 3967 of file heap.cc.
References AllocateFixedTypedArray(), and v8::internal::TENURED.
|
private |
Definition at line 4152 of file heap.cc.
References AllocateRaw(), CHECK, v8::internal::ConstantPoolArray::ClearPtrEntries(), v8::internal::EnsureDoubleAligned(), v8::internal::ConstantPoolArray::InitExtended(), isolate(), v8::internal::kMaxInt, v8::internal::ConstantPoolArray::kMaxSmallEntriesPerType, v8::internal::kPointerSize, v8::internal::OLD_POINTER_SPACE, SelectSpace(), size, v8::internal::ConstantPoolArray::SizeForExtended(), space(), v8::internal::TENURED, and v8::internal::AllocationResult::To().
Referenced by CopyConstantPoolArrayWithMap().
|
private |
Definition at line 3362 of file heap.cc.
References AllocateRaw(), v8::internal::ExternalArray::kAlignedSize, MapForExternalArrayType(), v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::HeapObject::set_map_no_write_barrier(), size, space(), and v8::internal::AllocationResult::To().
Referenced by AllocateEmptyExternalArray().
|
private |
Definition at line 2329 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateRaw(), CreateFillerObjectAt(), DCHECK, v8::internal::MemoryChunk::FromAddress(), v8::internal::Space::identity(), v8::internal::MemoryChunk::owner(), size, space(), and v8::internal::AllocationResult::To().
|
protected |
Definition at line 4073 of file heap.cc.
References AllocateFixedArrayWithFiller().
Referenced by AllocateJSObjectFromMap().
|
private |
Definition at line 4051 of file heap.cc.
References AllocateRawFixedArray(), v8::internal::FixedArray::data_start(), DCHECK, InNewSpace(), v8::internal::MemsetPointer(), v8::internal::FixedArrayBase::set_length(), v8::internal::HeapObject::set_map_no_write_barrier(), and v8::internal::AllocationResult::To().
Referenced by AllocateFixedArray().
|
private |
Definition at line 3400 of file heap.cc.
References AllocateRaw(), v8::internal::FixedTypedArrayBase::DataPtr(), v8::internal::FixedTypedArrayBase::DataSize(), v8::internal::EnsureDoubleAligned(), v8::internal::ForFixedTypedArray(), v8::internal::FixedTypedArrayBase::kDataOffset, v8::kExternalFloat64Array, v8::internal::kPointerSize, MapForFixedTypedArray(), OBJECT_POINTER_ALIGN, v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::FixedArrayBase::set_length(), size, space(), and v8::internal::AllocationResult::To().
Referenced by AllocateEmptyFixedTypedArray().
|
private |
Definition at line 3190 of file heap.cc.
References Allocate(), v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::Foreign::kSize, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, v8::internal::Foreign::set_foreign_address(), space(), STATIC_ASSERT(), v8::internal::TENURED, and v8::internal::AllocationResult::To().
|
protected |
Definition at line 2624 of file heap.cc.
References AllocateRaw(), v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::HeapNumber::kSize, map, mode(), v8::internal::MUTABLE, v8::internal::OLD_DATA_SPACE, SelectSpace(), size, space(), STATIC_ASSERT(), and v8::internal::AllocationResult::To().
|
inlineprivate |
Definition at line 66 of file heap-inl.h.
References AllocateOneByteInternalizedString(), and IsOneByte().
AllocationResult v8::internal::Heap::AllocateInternalizedStringImpl | ( | T | t, |
int | chars, | ||
uint32_t | hash_field | ||
) |
Definition at line 77 of file heap-inl.h.
References IsOneByte().
AllocationResult v8::internal::Heap::AllocateInternalizedStringImpl | ( | T | t, |
int | chars, | ||
uint32_t | hash_field | ||
) |
Definition at line 3818 of file heap.cc.
References AllocateRaw(), DCHECK, DCHECK_EQ, DCHECK_GE, DCHECK_LE, v8::internal::String::kMaxLength, map, v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::Name::set_hash_field(), v8::internal::String::set_length(), v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::HeapObject::Size(), v8::internal::SeqOneByteString::SizeFor(), v8::internal::SeqTwoByteString::SizeFor(), space(), v8::internal::TENURED, v8::internal::AllocationResult::To(), v8::internal::WriteOneByteData(), and v8::internal::WriteTwoByteData().
|
private |
|
inlineprivate |
|
protected |
Definition at line 3671 of file heap.cc.
References AllocateJSObjectFromMap(), DCHECK, v8::internal::JSFunction::has_initial_map(), v8::internal::JSFunction::initial_map(), and v8::internal::AllocationResult::To().
|
protected |
Definition at line 3631 of file heap.cc.
References Allocate(), AllocateFixedArray(), DCHECK, v8::internal::JSObject::HasExternalArrayElements(), v8::internal::JSObject::HasFastElements(), v8::internal::JSObject::HasFixedTypedArrayElements(), InitializeJSObjectFromMap(), v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GLOBAL_OBJECT_TYPE, map, v8::internal::OLD_POINTER_SPACE, SelectSpace(), size, space(), and v8::internal::AllocationResult::To().
Referenced by AllocateJSObject().
|
protected |
Definition at line 2295 of file heap.cc.
References AllocateRaw(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), v8::internal::StaticVisitorBase::GetVisitorId(), v8::internal::kInvalidEnumCacheSentinel, v8::internal::Map::kIsExtensible, v8::internal::Map::kSize, map, v8::internal::MAP_SPACE, v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::AllocationResult::To().
Referenced by CreateInitialMaps().
|
inlineprivate |
Definition at line 86 of file heap-inl.h.
References v8::internal::HeapObject::address(), AllocateRaw(), CHECK_GE, DCHECK_EQ, v8::internal::SeqString::kHeaderSize, v8::internal::String::kMaxLength, v8::internal::Vector< T >::length(), map, v8::internal::MemCopy(), v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::Name::set_hash_field(), v8::internal::String::set_length(), v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::HeapObject::Size(), v8::internal::SeqOneByteString::SizeFor(), space(), v8::internal::Vector< T >::start(), v8::internal::TENURED, and v8::internal::AllocationResult::To().
Referenced by AllocateInternalizedStringFromUtf8().
|
private |
Definition at line 2271 of file heap.cc.
References AllocateRaw(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), v8::internal::StaticVisitorBase::GetVisitorId(), v8::internal::kInvalidEnumCacheSentinel, v8::internal::Map::kSize, v8::internal::MAP_SPACE, and v8::internal::AllocationResult::To().
Referenced by CreateInitialMaps().
|
private |
Definition at line 2661 of file heap.cc.
References AllocateRaw(), v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::PropertyCell::kSize, v8::None, v8::internal::PROPERTY_CELL_SPACE, v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::PropertyCell::set_type(), size, v8::internal::SKIP_WRITE_BARRIER, STATIC_ASSERT(), and v8::internal::AllocationResult::To().
|
inlineprivate |
Definition at line 166 of file heap-inl.h.
References v8::internal::LargeObjectSpace::AllocateRaw(), v8::internal::PagedSpace::AllocateRaw(), always_allocate(), v8::internal::CELL_SPACE, cell_space_, v8::internal::CODE_SPACE, code_space(), code_space_, v8::internal::Isolate::counters(), DCHECK, v8::internal::EXECUTABLE, gc_state_, isolate_, v8::internal::AllocationResult::IsRetry(), v8::internal::LO_SPACE, lo_space_, v8::internal::MAP_SPACE, map_space_, v8::internal::NEW_SPACE, new_space_, v8::internal::NOT_EXECUTABLE, NOT_IN_GC, v8::internal::OLD_DATA_SPACE, old_data_space_, old_gen_exhausted_, v8::internal::OLD_POINTER_SPACE, old_pointer_space_, OnAllocationEvent(), v8::internal::PROPERTY_CELL_SPACE, property_cell_space_, v8::internal::AllocationResult::Retry(), space(), and v8::internal::AllocationResult::To().
Referenced by Allocate(), AllocateByteArray(), AllocateCell(), AllocateCode(), AllocateConstantPoolArray(), AllocateEmptyConstantPoolArray(), AllocateEmptyFixedArray(), AllocateExtendedConstantPoolArray(), AllocateExternalArray(), AllocateFillerObject(), AllocateFixedTypedArray(), AllocateHeapNumber(), AllocateInternalizedStringImpl(), AllocateMap(), AllocateOneByteInternalizedString(), AllocatePartialMap(), AllocatePropertyCell(), AllocateRawFixedArray(), AllocateRawFixedDoubleArray(), AllocateRawOneByteString(), AllocateRawTwoByteString(), AllocateSymbol(), AllocateTwoByteInternalizedString(), CopyCode(), and CopyJSObject().
|
private |
Definition at line 4039 of file heap.cc.
References AllocateRaw(), FatalProcessOutOfMemory(), v8::internal::FixedArray::kMaxLength, v8::internal::OLD_POINTER_SPACE, SelectSpace(), size, v8::internal::FixedArray::SizeFor(), and space().
Referenced by AllocateFixedArrayWithFiller(), AllocateUninitializedFixedArray(), CopyAndTenureFixedCOWArray(), and CopyFixedArrayWithMap().
|
private |
Definition at line 4107 of file heap.cc.
References AllocateRaw(), v8::internal::EnsureDoubleAligned(), FatalProcessOutOfMemory(), v8::internal::FixedDoubleArray::kMaxLength, v8::internal::kPointerSize, v8::internal::OLD_DATA_SPACE, SelectSpace(), size, v8::internal::FixedDoubleArray::SizeFor(), space(), and v8::internal::AllocationResult::To().
Referenced by AllocateUninitializedFixedDoubleArray(), and CopyFixedDoubleArrayWithMap().
|
private |
Definition at line 3871 of file heap.cc.
References AllocateRaw(), DCHECK, DCHECK_EQ, DCHECK_GE, DCHECK_LE, v8::internal::Name::kEmptyHashField, v8::internal::String::kMaxLength, v8::internal::SeqOneByteString::kMaxSize, v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::SeqOneByteString::SizeFor(), space(), and v8::internal::AllocationResult::To().
|
private |
Definition at line 3895 of file heap.cc.
References AllocateRaw(), DCHECK, DCHECK_EQ, DCHECK_GE, DCHECK_LE, v8::internal::Name::kEmptyHashField, v8::internal::String::kMaxLength, v8::internal::SeqTwoByteString::kMaxSize, v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::HeapObject::set_map_no_write_barrier(), size, v8::internal::SeqTwoByteString::SizeFor(), space(), and v8::internal::AllocationResult::To().
|
private |
Definition at line 4223 of file heap.cc.
References Allocate(), v8::internal::Struct::InitializeBody(), MAKE_CASE, map, v8::internal::OLD_POINTER_SPACE, SelectSpace(), size, space(), STRUCT_LIST, v8::internal::TENURED, v8::internal::AllocationResult::To(), and UNREACHABLE.
|
private |
Definition at line 4193 of file heap.cc.
References AllocateRaw(), DCHECK, v8::internal::Smi::FromInt(), isolate(), v8::internal::Name::kHashBitMask, v8::internal::Name::kHashShift, v8::internal::Name::kIsNotArrayIndexMask, v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::Symbol::kSize, v8::internal::OLD_POINTER_SPACE, v8::internal::Isolate::random_number_generator(), v8::internal::HeapObject::set_map_no_write_barrier(), STATIC_ASSERT(), and v8::internal::AllocationResult::To().
|
inlineprivate |
Definition at line 118 of file heap-inl.h.
References v8::internal::HeapObject::address(), AllocateRaw(), CHECK_GE, DCHECK_EQ, v8::internal::SeqString::kHeaderSize, v8::internal::String::kMaxLength, v8::internal::kUC16Size, v8::internal::Vector< T >::length(), map, v8::internal::MemCopy(), v8::internal::OLD_DATA_SPACE, SelectSpace(), v8::internal::Name::set_hash_field(), v8::internal::String::set_length(), v8::internal::HeapObject::set_map(), size, v8::internal::HeapObject::Size(), v8::internal::SeqTwoByteString::SizeFor(), space(), v8::internal::Vector< T >::start(), v8::internal::TENURED, and v8::internal::AllocationResult::To().
|
private |
Definition at line 4078 of file heap.cc.
References AllocateRawFixedArray(), v8::internal::NOT_TENURED, v8::internal::HeapObject::set_map_no_write_barrier(), and v8::internal::AllocationResult::To().
|
private |
Definition at line 4093 of file heap.cc.
References AllocateRawFixedDoubleArray(), v8::internal::HeapObject::set_map_no_write_barrier(), and v8::internal::AllocationResult::To().
|
inline |
Definition at line 801 of file heap.h.
References allocation_sites_list_.
Referenced by DeoptMarkedAllocationSites(), v8::internal::Deserializer::Deserialize(), v8::internal::AllocationSite::IsNestedSite(), ProcessAllocationSites(), ProcessPretenuringFeedback(), v8::internal::Deserializer::RelinkAllocationSite(), and ResetAllAllocationSitesDependentCode().
|
inline |
|
inline |
|
inline |
Definition at line 427 of file heap-inl.h.
References v8::internal::HeapObject::address(), v8::internal::CELL_SPACE, v8::internal::CODE_SPACE, v8::internal::CODE_TYPE, v8::internal::MemoryChunk::FromAddress(), v8::internal::Space::identity(), v8::internal::Map::instance_type(), v8::internal::INVALID_SPACE, v8::internal::LO_SPACE, v8::internal::HeapObject::map(), v8::internal::MAP_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, v8::internal::MemoryChunk::owner(), v8::internal::PROPERTY_CELL_SPACE, TargetSpaceId(), and UNREACHABLE.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::SemiSpaceCopyObject().
|
inline |
Definition at line 622 of file heap.h.
References always_allocate_scope_depth_.
Referenced by AllocateRaw(), and CopyJSObject().
|
inline |
Definition at line 623 of file heap.h.
References always_allocate_scope_depth_.
|
inline |
Definition at line 1276 of file heap.h.
References amount_of_external_allocated_memory_.
Referenced by v8::internal::StatisticsExtension::GetCounters().
|
inline |
Definition at line 796 of file heap.h.
References array_buffers_list_.
Referenced by ProcessArrayBuffers(), v8::internal::Runtime::SetupArrayBuffer(), and TearDownArrayBuffers().
intptr_t v8::internal::Heap::Available | ( | ) |
Definition at line 211 of file heap.cc.
References v8::internal::PagedSpace::Available(), v8::internal::NewSpace::Available(), cell_space_, code_space_, HasBeenSetUp(), map_space_, new_space_, old_data_space_, old_pointer_space_, and property_cell_space_.
Referenced by PrintShortHeapStatistics(), and SetUp().
void v8::internal::Heap::CallGCEpilogueCallbacks | ( | GCType | gc_type, |
GCCallbackFlags | flags | ||
) |
Definition at line 1163 of file heap.cc.
References gc_epilogue_callbacks_, and isolate().
Referenced by v8::internal::NativeObjectsExplorer::FillRetainedObjects(), and PerformGarbageCollection().
void v8::internal::Heap::CallGCPrologueCallbacks | ( | GCType | gc_type, |
GCCallbackFlags | flags | ||
) |
Definition at line 1146 of file heap.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, gc_prologue_callbacks_, and isolate().
Referenced by v8::internal::NativeObjectsExplorer::FillRetainedObjects(), and PerformGarbageCollection().
bool v8::internal::Heap::CanMoveObjectStart | ( | HeapObject * | object | ) |
Definition at line 3235 of file heap.cc.
References Contains(), v8::internal::MemoryChunk::FromAddress(), InOldDataSpace(), InOldPointerSpace(), lo_space(), v8::internal::MemoryChunk::SweepingCompleted(), and v8::internal::Page::WasSwept().
Referenced by v8::internal::BUILTIN(), and LeftTrimFixedArray().
intptr_t v8::internal::Heap::Capacity | ( | ) |
Definition at line 160 of file heap.cc.
References v8::internal::PagedSpace::Capacity(), v8::internal::NewSpace::Capacity(), cell_space_, code_space_, HasBeenSetUp(), map_space_, new_space_, old_data_space_, old_pointer_space_, and property_cell_space_.
Referenced by GarbageCollectionEpilogue(), and SetUp().
|
inline |
Definition at line 598 of file heap.h.
References cell_space_.
Referenced by v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::StoreBuffer::Compact(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), v8::internal::StoreBuffer::EnterDirectlyIntoStoreBuffer(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), GarbageCollectionEpilogue(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::HeapObjectIterator::HeapObjectIterator(), v8::internal::StoreBuffer::Mark(), and paged_space().
void v8::internal::Heap::CheckNewSpaceExpansionCriteria | ( | ) |
Definition at line 1291 of file heap.cc.
References v8::internal::NewSpace::Grow(), v8::internal::NewSpace::MaximumCapacity(), new_space_, survived_since_last_expansion_, and v8::internal::NewSpace::TotalCapacity().
Referenced by GarbageCollectionPrologue().
void v8::internal::Heap::CheckpointObjectStats | ( | ) |
Definition at line 6100 of file heap.cc.
References ADJUST_LAST_TIME_OBJECT_COUNT, v8::internal::checkpoint_object_stats_mutex, ClearObjectStats(), CODE_AGE_LIST_COMPLETE, CODE_KIND_LIST, v8::internal::Isolate::counters(), FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST, INSTANCE_TYPE_LIST, isolate(), v8::internal::MemCopy(), object_counts_, object_counts_last_time_, object_sizes_, object_sizes_last_time_, and v8::base::LazyInstanceImpl< T, AllocationTrait, CreateTrait, InitOnceTrait, DestroyTrait >::Pointer().
Referenced by v8::internal::MarkCompactCollector::AfterMarking().
void v8::internal::Heap::ClearAllICsByKind | ( | Code::Kind | kind | ) |
Definition at line 470 of file heap.cc.
References v8::internal::Code::ClearInlineCaches(), code_space(), v8::internal::Code::kind(), v8::internal::HeapObjectIterator::Next(), and NULL.
Referenced by v8::internal::JSObject::SetElementCallback().
|
inline |
Definition at line 701 of file heap-inl.h.
Referenced by v8::internal::JSFunction::SetInstancePrototype(), and v8::internal::JSObject::SetPrototype().
void v8::internal::Heap::ClearJSFunctionResultCaches | ( | ) |
Definition at line 980 of file heap.cc.
References v8::internal::Isolate::bootstrapper(), v8::internal::Context::cast(), v8::internal::FixedArray::get(), isolate_, v8::internal::Context::JSFUNCTION_RESULT_CACHES_INDEX, v8::internal::FixedArrayBase::length(), native_contexts_list(), and v8::internal::Context::NEXT_CONTEXT_LINK.
Referenced by GarbageCollectionPrologue().
void v8::internal::Heap::ClearNormalizedMapCaches | ( | ) |
Definition at line 1003 of file heap.cc.
References v8::internal::Isolate::bootstrapper(), v8::internal::Context::cast(), v8::internal::FixedArray::get(), incremental_marking(), isolate_, native_contexts_list(), v8::internal::Context::NEXT_CONTEXT_LINK, and v8::internal::Context::NORMALIZED_MAP_CACHE_INDEX.
Referenced by MarkCompactPrologue().
Definition at line 6087 of file heap.cc.
References object_counts_, object_counts_last_time_, object_sizes_, and object_sizes_last_time_.
Referenced by CheckpointObjectStats(), and Heap().
|
inline |
Definition at line 596 of file heap.h.
References code_space_.
Referenced by v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), AllocateRaw(), ClearAllICsByKind(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::StoreBuffer::Compact(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), v8::internal::Deserializer::DeserializePartial(), v8::internal::StoreBuffer::EnterDirectlyIntoStoreBuffer(), v8::internal::Deserializer::FlushICacheForNewCodeObjects(), GarbageCollectionEpilogue(), v8::internal::InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::HeapObjectIterator::HeapObjectIterator(), v8::internal::StoreBuffer::Mark(), paged_space(), and v8::internal::MarkCompactCollector::StartCompaction().
void v8::internal::Heap::CollectAllAvailableGarbage | ( | const char * | gc_reason = NULL | ) |
Definition at line 735 of file heap.cc.
References v8::internal::CompilationCache::Clear(), CollectGarbage(), v8::internal::Isolate::compilation_cache(), v8::internal::OptimizingCompilerThread::Flush(), incremental_marking(), isolate(), isolate_, kMakeHeapIterableMask, kNoGCFlags, kReduceMemoryFootprintMask, mark_compact_collector(), v8::internal::MARK_COMPACTOR, new_space_, NULL, v8::internal::Isolate::optimizing_compiler_thread(), v8::internal::MarkCompactCollector::SetFlags(), v8::internal::NewSpace::Shrink(), UncommitFromSpace(), and v8::internal::IncrementalMarking::UncommitMarkingDeque().
Referenced by v8::Isolate::LowMemoryNotification().
void v8::internal::Heap::CollectAllGarbage | ( | int | flags, |
const char * | gc_reason = NULL , |
||
const GCCallbackFlags | gc_callback_flags = kNoGCCallbackFlags |
||
) |
Definition at line 724 of file heap.cc.
References CollectGarbage(), v8::internal::anonymous_namespace{flags.cc}::flags, kNoGCFlags, mark_compact_collector_, v8::internal::OLD_POINTER_SPACE, and v8::internal::MarkCompactCollector::SetFlags().
Referenced by AdvanceIdleIncrementalMarking(), v8::internal::HeapSnapshotGenerator::GenerateSnapshot(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::Debug::GetLoadedScripts(), IdleNotification(), v8::internal::Logger::LogAccessorCallbacks(), v8::internal::Logger::LogCodeObjects(), v8::internal::Logger::LogCompiledFunctions(), main(), MakeHeapIterable(), v8::internal::Debug::PrepareForBreakPoints(), v8::internal::RUNTIME_FUNCTION(), v8::internal::ScriptCache::ScriptCache(), and v8::internal::HeapObjectsMap::UpdateHeapObjectsMap().
|
inline |
Definition at line 581 of file heap-inl.h.
References NULL, SelectGarbageCollector(), and space().
Referenced by v8::internal::AbortIncrementalMarkingAndCollectGarbage(), CollectAllAvailableGarbage(), CollectAllGarbage(), IdleNotification(), and ReserveSpace().
|
private |
Definition at line 785 of file heap.cc.
References v8::internal::Isolate::counters(), DCHECK, EnsureFillerObjectAtTop(), GarbageCollectionEpilogue(), GarbageCollectionPrologue(), incremental_marking(), isolate_, mark_compact_collector(), v8::internal::MARK_COMPACTOR, v8::internal::Max(), v8::internal::MB, v8::internal::IncrementalMarking::NO_GC_VIA_STACK_GUARD, PerformGarbageCollection(), v8::internal::PrintF(), v8::internal::SCAVENGER, v8::internal::IncrementalMarking::Start(), v8::internal::GCTracer::Start(), v8::internal::IncrementalMarking::Step(), v8::internal::GCTracer::Stop(), tracer(), and WorthActivatingIncrementalMarking().
intptr_t v8::internal::Heap::CommittedMemory | ( | ) |
Definition at line 170 of file heap.cc.
References cell_space_, code_space_, v8::internal::PagedSpace::CommittedMemory(), v8::internal::NewSpace::CommittedMemory(), HasBeenSetUp(), lo_space_, map_space_, new_space_, old_data_space_, old_pointer_space_, property_cell_space_, and v8::internal::LargeObjectSpace::Size().
Referenced by GarbageCollectionEpilogue(), v8::Isolate::GetHeapStatistics(), PrintShortHeapStatistics(), and UpdateMaximumCommitted().
intptr_t v8::internal::Heap::CommittedMemoryExecutable | ( | ) |
Definition at line 194 of file heap.cc.
References HasBeenSetUp(), isolate(), v8::internal::Isolate::memory_allocator(), and v8::internal::MemoryAllocator::SizeExecutable().
Referenced by v8::Isolate::GetHeapStatistics().
size_t v8::internal::Heap::CommittedPhysicalMemory | ( | ) |
Definition at line 180 of file heap.cc.
References cell_space_, code_space_, v8::internal::PagedSpace::CommittedPhysicalMemory(), v8::internal::NewSpace::CommittedPhysicalMemory(), v8::internal::LargeObjectSpace::CommittedPhysicalMemory(), HasBeenSetUp(), lo_space_, map_space_, new_space_, old_data_space_, old_pointer_space_, and property_cell_space_.
Referenced by v8::Isolate::GetHeapStatistics().
|
inline |
Definition at line 711 of file heap-inl.h.
Referenced by MarkCompactPrologue(), and v8::internal::IncrementalMarking::StartMarking().
bool v8::internal::Heap::ConfigureHeap | ( | int | max_semi_space_size, |
int | max_old_space_size, | ||
int | max_executable_size, | ||
size_t | code_range_size | ||
) |
Definition at line 4827 of file heap.cc.
References code_range_size_, configured_, DCHECK, v8::internal::FIRST_PAGED_SPACE, HasBeenSetUp(), v8::internal::Snapshot::HaveASnapshotToStartFrom(), initial_semispace_size_, v8::internal::JSObject::kInitialMaxFastElementArray, v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::Page::kPageSize, v8::internal::AllocationMemento::kSize, v8::internal::JSArray::kSize, v8::internal::LAST_PAGED_SPACE, v8::internal::Max(), max_executable_size_, max_old_generation_size_, max_semi_space_size_, v8::internal::MB, v8::internal::Min(), v8::internal::PrintPID(), reserved_semispace_size_, v8::base::bits::RoundUpToPowerOfTwo32(), and v8::internal::FixedArray::SizeFor().
Referenced by ConfigureHeapDefault(), and v8::SetResourceConstraints().
bool v8::internal::Heap::ConfigureHeapDefault | ( | ) |
Definition at line 4926 of file heap.cc.
References ConfigureHeap().
Referenced by SetUp().
Definition at line 4447 of file heap.cc.
References cell_space_, code_space_, v8::internal::PagedSpace::Contains(), HasBeenSetUp(), isolate_, v8::internal::MemoryAllocator::IsOutsideAllocatedSpace(), lo_space_, map_space_, v8::internal::Isolate::memory_allocator(), new_space_, old_data_space_, old_pointer_space_, property_cell_space_, v8::internal::LargeObjectSpace::SlowContains(), and v8::internal::NewSpace::ToSpaceContains().
Referenced by CanMoveObjectStart(), Contains(), v8::internal::HeapObject::HeapObjectShortPrint(), v8::internal::MarkCompactMarkingVisitor::INLINE(), v8::internal::JSObject::JSObjectShortPrint(), LeftTrimFixedArray(), RightTrimFixedArray(), and v8::internal::VerifyPointersVisitor::VisitPointers().
bool v8::internal::Heap::Contains | ( | HeapObject * | value | ) |
Definition at line 4444 of file heap.cc.
References v8::internal::HeapObject::address(), and Contains().
|
private |
Definition at line 3939 of file heap.cc.
References AllocateRawFixedArray(), v8::internal::FixedArray::get(), v8::internal::HeapObject::GetWriteBarrierMode(), InNewSpace(), v8::internal::FixedArrayBase::length(), mode(), v8::internal::FixedArray::set(), v8::internal::FixedArrayBase::set_length(), v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::TENURED, and v8::internal::AllocationResult::To().
Definition at line 469 of file heap-inl.h.
References v8::internal::CopyWords(), and v8::internal::kPointerSize.
Referenced by CopyCode(), CopyConstantPoolArrayWithMap(), CopyFixedArrayWithMap(), CopyFixedDoubleArrayWithMap(), CopyJSObject(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE().
|
protected |
Definition at line 3465 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateRaw(), v8::internal::Isolate::code_range(), v8::internal::CODE_SPACE, v8::internal::Code::constant_pool(), v8::internal::CodeRange::contains(), CopyBlock(), CopyConstantPoolArray(), DCHECK, isolate_, NULL, v8::internal::Code::Relocate(), v8::internal::Code::set_constant_pool(), v8::internal::HeapObject::Size(), v8::internal::AllocationResult::To(), and v8::internal::CodeRange::valid().
|
protected |
Definition at line 3501 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateByteArray(), AllocateRaw(), v8::internal::Isolate::code_range(), v8::internal::CODE_SPACE, v8::internal::Code::constant_pool(), v8::internal::CodeRange::contains(), v8::internal::CopyBytes(), CopyConstantPoolArray(), DCHECK, v8::internal::Code::instruction_end(), v8::internal::Code::instruction_size(), isolate_, v8::internal::kObjectAlignment, v8::internal::Vector< T >::length(), NULL, v8::internal::Code::Relocate(), v8::internal::Code::relocation_start(), v8::internal::RoundUp(), v8::internal::Code::set_constant_pool(), v8::internal::Code::SizeFor(), v8::internal::Vector< T >::start(), v8::internal::TENURED, v8::internal::AllocationResult::To(), and v8::internal::CodeRange::valid().
|
inlineprivate |
Definition at line 160 of file heap-inl.h.
References CopyConstantPoolArrayWithMap(), v8::internal::ConstantPoolArray::length(), and v8::internal::HeapObject::map().
Referenced by CopyCode().
|
private |
Definition at line 4014 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateConstantPoolArray(), AllocateExtendedConstantPoolArray(), CopyBlock(), v8::internal::ConstantPoolArray::EXTENDED_SECTION, v8::internal::ConstantPoolArray::is_extended_layout(), v8::internal::ConstantPoolArray::kFirstEntryOffset, map, v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::ConstantPoolArray::size(), v8::internal::ConstantPoolArray::SMALL_SECTION, and v8::internal::AllocationResult::To().
Referenced by CopyConstantPoolArray().
|
inlineprivate |
Definition at line 148 of file heap-inl.h.
References CopyFixedArrayWithMap(), v8::internal::FixedArrayBase::length(), and v8::internal::HeapObject::map().
Referenced by CopyJSObject().
|
private |
Definition at line 3973 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateRawFixedArray(), CopyBlock(), v8::internal::FixedArray::get(), v8::internal::HeapObject::GetWriteBarrierMode(), InNewSpace(), v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), map, mode(), v8::internal::NOT_TENURED, v8::internal::FixedArray::set(), v8::internal::FixedArrayBase::set_length(), v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::FixedArray::SizeFor(), and v8::internal::AllocationResult::To().
Referenced by CopyFixedArray().
|
inlineprivate |
Definition at line 154 of file heap-inl.h.
References CopyFixedDoubleArrayWithMap(), v8::internal::FixedArrayBase::length(), and v8::internal::HeapObject::map().
Referenced by CopyJSObject().
|
private |
Definition at line 3998 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateRawFixedDoubleArray(), CopyBlock(), v8::internal::FixedArrayBase::kLengthOffset, v8::internal::FixedArrayBase::length(), map, v8::internal::NOT_TENURED, v8::internal::HeapObject::set_map_no_write_barrier(), v8::internal::FixedDoubleArray::SizeFor(), and v8::internal::AllocationResult::To().
Referenced by CopyFixedDoubleArray().
AllocationResult v8::internal::Heap::CopyJSObject | ( | JSObject * | source, |
AllocationSite * | site = NULL |
||
) |
Definition at line 3688 of file heap.cc.
References v8::internal::HeapObject::address(), AllocateRaw(), always_allocate(), v8::internal::AllocationSite::CanTrack(), CopyBlock(), CopyFixedArray(), CopyFixedDoubleArray(), DCHECK, v8::internal::JSObject::GetElementsKind(), v8::internal::JSObject::HasFastDoubleElements(), InitializeAllocationMemento(), InNewSpace(), v8::internal::JSObject::kHeaderSize, v8::internal::kPointerSize, v8::internal::AllocationMemento::kSize, v8::internal::FixedArrayBase::length(), map, v8::internal::HeapObject::map(), v8::internal::NEW_SPACE, NULL, v8::internal::OLD_POINTER_SPACE, v8::internal::SKIP_WRITE_BARRIER, SLOW_DCHECK, v8::internal::AllocationResult::To(), and v8::internal::UPDATE_WRITE_BARRIER.
void v8::internal::Heap::CreateApiObjects | ( | ) |
Definition at line 2680 of file heap.cc.
References Factory, v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), isolate(), v8::internal::JS_OBJECT_TYPE, v8::internal::JSObject::kHeaderSize, and v8::internal::TERMINAL_FAST_ELEMENTS_KIND.
Referenced by CreateHeapObjects().
Definition at line 3221 of file heap.cc.
References v8::internal::HeapObject::FromAddress(), v8::internal::kPointerSize, v8::internal::HeapObject::set_map_no_write_barrier(), and size.
Referenced by v8::internal::NewSpace::AddFreshPage(), AllocateCode(), AllocateFillerObject(), v8::internal::EnsureDoubleAligned(), EnsureFillerObjectAtTop(), v8::internal::PagedSpace::EvictEvacuationCandidatesFromFreeLists(), LeftTrimFixedArray(), v8::internal::String::MakeExternal(), v8::internal::JSObject::MigrateFastToSlow(), RightTrimFixedArray(), v8::internal::StringReplaceGlobalRegExpWithEmptyString(), and v8::internal::SeqString::Truncate().
|
private |
Definition at line 2713 of file heap.cc.
References isolate().
Referenced by CreateInitialObjects().
bool v8::internal::Heap::CreateHeapObjects | ( | ) |
Definition at line 5156 of file heap.cc.
References CHECK_EQ, CreateApiObjects(), CreateInitialMaps(), CreateInitialObjects(), gc_count_, set_allocation_sites_list(), set_array_buffers_list(), set_native_contexts_list(), and weak_object_to_code_table_.
Referenced by v8::internal::Isolate::Init().
|
private |
Definition at line 2372 of file heap.cc.
References Allocate(), ALLOCATE_EMPTY_EXTERNAL_ARRAY, ALLOCATE_EMPTY_FIXED_TYPED_ARRAY, ALLOCATE_EXTERNAL_ARRAY_MAP, ALLOCATE_FIXED_TYPED_ARRAY_MAP, ALLOCATE_MAP, ALLOCATE_PARTIAL_MAP, ALLOCATE_VARSIZE_MAP, AllocateByteArray(), AllocateEmptyConstantPoolArray(), AllocateEmptyFixedArray(), AllocateMap(), AllocatePartialMap(), arraysize, v8::internal::BYTE_ARRAY_TYPE, v8::internal::CELL_TYPE, v8::internal::CODE_TYPE, v8::internal::CONSTANT_POOL_ARRAY_TYPE, DCHECK, v8::internal::FILLER_TYPE, v8::internal::FIXED_ARRAY_TYPE, v8::internal::FIXED_DOUBLE_ARRAY_TYPE, v8::internal::FOREIGN_TYPE, v8::internal::FREE_SPACE_TYPE, v8::internal::HEAP_NUMBER_TYPE, v8::internal::Heap::StringTypeTable::index, v8::internal::Heap::StructTable::index, InNewSpace(), v8::internal::JS_MESSAGE_OBJECT_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::SharedFunctionInfo::kAlignedSize, v8::internal::JSObject::kHeaderSize, v8::internal::Oddball::kNull, v8::internal::kPointerSize, v8::internal::HeapNumber::kSize, v8::internal::Map::kSize, v8::internal::JSMessageObject::kSize, v8::internal::Symbol::kSize, v8::internal::Oddball::kSize, v8::internal::Cell::kSize, v8::internal::PropertyCell::kSize, v8::internal::Foreign::kSize, v8::internal::Oddball::kUndefined, v8::internal::kVariableSizeSentinel, map, v8::internal::MAP_TYPE, v8::internal::MUTABLE_HEAP_NUMBER_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::OLD_POINTER_SPACE, v8::internal::ONE_BYTE_STRING_TYPE, v8::internal::PROPERTY_CELL_TYPE, roots_, v8::internal::HeapObject::set_map(), v8::internal::SHARED_FUNCTION_INFO_TYPE, v8::internal::Heap::StringTypeTable::size, v8::internal::Heap::StructTable::size, v8::internal::STRING_TYPE, string_type_table, struct_table, v8::internal::SYMBOL_TYPE, v8::internal::TENURED, v8::internal::AllocationResult::To(), v8::internal::Heap::StringTypeTable::type, v8::internal::Heap::StructTable::type, and TYPED_ARRAYS.
Referenced by CreateHeapObjects().
|
private |
Definition at line 2743 of file heap.cc.
References arraysize, v8::internal::CompilationCache::Clear(), v8::internal::KeyedLookupCache::Clear(), v8::internal::DescriptorLookupCache::Clear(), v8::internal::ContextSlotCache::Clear(), v8::internal::Isolate::compilation_cache(), constant_string_table, v8::internal::Isolate::context_slot_cache(), CreateFixedStubs(), DCHECK, v8::internal::Isolate::descriptor_lookup_cache(), Factory, v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), v8::internal::NativesCollection< type >::GetBuiltinsCount(), v8::internal::handle(), hidden_string_, v8::internal::IMMUTABLE, v8::internal::Heap::ConstantStringTable::index, v8::internal::Oddball::Initialize(), InitializeAllocationSitesScratchpad(), v8::internal::Runtime::InitializeIntrinsicFunctionNames(), isolate(), isolate_, v8::internal::JS_OBJECT_TYPE, kAllocationSiteScratchpadSize, v8::internal::Oddball::kArgumentMarker, v8::internal::String::kEmptyStringHash, v8::internal::Oddball::kException, v8::internal::Isolate::keyed_lookup_cache(), v8::internal::Oddball::kFalse, v8::internal::JSObject::kHeaderSize, kInitialNumberStringCacheSize, kInitialStringTableSize, v8::internal::String::kMaxOneByteCharCode, v8::UnboundScript::kNoScriptId, v8::internal::Oddball::kNull, v8::internal::Oddball::kOther, v8::internal::RegExpResultsCache::kRegExpResultsCacheSize, v8::internal::Oddball::kTheHole, v8::internal::Oddball::kTrue, v8::internal::Oddball::kUndefined, v8::internal::Oddball::kUninitialized, v8::base::OS::nan_value(), v8::internal::HashTable< StringTable, StringTableShape, HashTableKey * >::New(), v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::New(), v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::New(), v8::internal::Dictionary< UnseededNumberDictionary, UnseededNumberDictionaryShape, uint32_t >::New(), v8::internal::OneByteVector(), v8::internal::POLYMORPHIC_CODE_CACHE_TYPE, roots_, v8::internal::TENURED, and V8_INFINITY.
Referenced by CreateHeapObjects().
|
inline |
Definition at line 746 of file heap.h.
References v8::internal::PrintF(), and scan_on_scavenge_pages_.
Referenced by v8::internal::PagedSpace::ReleasePage(), and v8::internal::MemoryChunk::set_scan_on_scavenge().
void v8::internal::Heap::DeoptMarkedAllocationSites | ( | ) |
Definition at line 569 of file heap.cc.
References allocation_sites_list(), v8::internal::AllocationSite::deopt_dependent_code(), v8::internal::Deoptimizer::DeoptimizeMarkedCode(), isolate_, v8::internal::DependentCode::kAllocationSiteTenuringChangedGroup, and v8::internal::AllocationSite::set_deopt_dependent_code().
|
inline |
Definition at line 1284 of file heap.h.
References v8::internal::NewSpace::IsAtMaximumCapacity(), maximum_size_scavenges_, and new_space_.
Referenced by ProcessPretenuringFeedback().
void v8::internal::Heap::DisableInlineAllocation | ( | ) |
Definition at line 5034 of file heap.cc.
References inline_allocation_disabled_, new_space(), NULL, space(), and v8::internal::NewSpace::UpdateInlineAllocationLimit().
Referenced by v8::internal::HeapProfiler::StartHeapObjectsTracking().
|
private |
|
private |
Definition at line 1743 of file heap.cc.
References v8::internal::HeapObject::address(), v8::internal::MemoryChunk::area_start(), v8::internal::SemiSpace::AssertValidRange(), DCHECK, v8::internal::HeapObject::FromAddress(), v8::internal::NewSpacePage::FromLimit(), v8::internal::NewSpacePage::IsAtEnd(), IterateAndMarkPointersToFromSpace(), v8::internal::HeapObject::map(), new_space_, v8::internal::NewSpacePage::next_page(), promotion_queue(), v8::internal::PromotionQueue::remove(), ScavengeObject(), ScavengeStoreBufferCallback(), size, store_buffer(), and v8::internal::NewSpace::top().
Referenced by Scavenge().
|
inline |
Definition at line 1221 of file heap.h.
References v8::internal::VisitorDispatchTable< Callback >::GetVisitor(), map, and scavenging_visitors_table_.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateShortcutCandidate().
ExternalArray * v8::internal::Heap::EmptyExternalArrayForMap | ( | Map * | map | ) |
Definition at line 3178 of file heap.cc.
References map, RootIndexForEmptyExternalArray(), and roots_.
Referenced by v8::internal::Map::GetInitialElements().
FixedTypedArrayBase * v8::internal::Heap::EmptyFixedTypedArrayForMap | ( | Map * | map | ) |
Definition at line 3184 of file heap.cc.
References map, RootIndexForEmptyFixedTypedArray(), and roots_.
Referenced by v8::internal::Map::GetInitialElements().
void v8::internal::Heap::EnableInlineAllocation | ( | ) |
Definition at line 5025 of file heap.cc.
References inline_allocation_disabled_, new_space(), and v8::internal::NewSpace::UpdateInlineAllocationLimit().
Referenced by v8::internal::HeapProfiler::StopHeapObjectsTracking().
|
inline |
Definition at line 811 of file heap.h.
References encountered_weak_collections_.
Referenced by v8::internal::MarkCompactCollector::AbortWeakCollections(), v8::internal::MarkCompactCollector::ClearWeakCollections(), v8::internal::StaticMarkingVisitor< IncrementalMarkingMarkingVisitor >::MarkInlinedFunctionsCode(), and v8::internal::MarkCompactCollector::ProcessWeakCollections().
|
private |
Definition at line 770 of file heap.cc.
References CreateFillerObjectAt(), v8::internal::NewSpace::limit(), new_space_, and v8::internal::NewSpace::top().
Referenced by CollectGarbage().
|
private |
Definition at line 971 of file heap.cc.
References v8::internal::NewSpace::CommitFromSpaceIfNeeded(), v8::internal::V8::FatalProcessOutOfMemory(), and new_space_.
Referenced by PerformGarbageCollection().
void v8::internal::Heap::EnsureWeakObjectToCodeTable | ( | ) |
Definition at line 5367 of file heap.cc.
References isolate(), v8::internal::HashTable< WeakHashTable, WeakHashTableShape< 2 >, Handle< Object > >::New(), set_weak_object_to_code_table(), v8::internal::TENURED, v8::internal::USE_DEFAULT_MINIMUM_CAPACITY, and weak_object_to_code_table().
Referenced by v8::internal::AddWeakObjectToCodeDependency().
|
private |
Definition at line 1684 of file heap.cc.
References kOldSurvivalRateLowThreshold, v8::internal::PrintF(), ResetAllAllocationSitesDependentCode(), SizeOfObjects(), and v8::internal::TENURED.
Referenced by MarkCompact().
|
inline |
Definition at line 1207 of file heap.h.
References external_string_table_.
Referenced by v8::internal::ExternalizeStringExtension::Externalize(), v8::String::MakeExternal(), and v8::String::NewExternal().
|
static |
Definition at line 5376 of file heap.cc.
References v8::internal::V8::FatalProcessOutOfMemory().
Referenced by v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::Allocate(), AllocateByteArray(), AllocateRawFixedArray(), AllocateRawFixedDoubleArray(), and v8::internal::HashTable< Derived, Shape, Key >::New().
|
inline |
Definition at line 307 of file heap-inl.h.
References DCHECK, v8::String::ExternalStringResourceBase::Dispose(), v8::internal::kHeapObjectTag, v8::internal::ExternalString::kResourceOffset, and NULL.
Referenced by v8::internal::ExternalStringTable::TearDown(), UpdateNewSpaceReferenceInExternalStringTableEntry(), and v8::internal::StringTableCleaner< finalize_external_strings >::VisitPointers().
|
inline |
Definition at line 497 of file heap-inl.h.
References v8::internal::HeapObject::address(), DCHECK, v8::internal::HeapObject::FromAddress(), v8::internal::AllocationMemento::IsValid(), v8::internal::HeapObject::kHeaderSize, v8::internal::kPointerSize, v8::internal::HeapObject::map(), MSAN_MEMORY_IS_INITIALIZED, NewSpaceTop(), NULL, and v8::internal::NewSpacePage::OnSamePage().
Referenced by v8::internal::JSObject::UpdateAllocationSite(), and UpdateAllocationSiteFeedback().
|
inline |
|
private |
Definition at line 3060 of file heap.cc.
References allocation_sites_scratchpad_length_.
Referenced by ProcessPretenuringFeedback().
|
private |
Definition at line 3051 of file heap.cc.
Referenced by MarkCompactPrologue().
void v8::internal::Heap::FreeQueuedChunks | ( | ) |
Definition at line 6025 of file heap.cc.
References v8::internal::MemoryChunk::ABOUT_TO_BE_FREED, v8::internal::MemoryChunk::address(), chunks_queued_for_free_, v8::internal::StoreBuffer::Compact(), v8::internal::StoreBuffer::Filter(), v8::internal::MemoryAllocator::Free(), v8::internal::MemoryChunk::FromAddress(), v8::internal::Isolate::heap(), v8::internal::Space::identity(), isolate_, v8::internal::Page::kPageSize, v8::internal::LO_SPACE, lo_space(), v8::internal::Isolate::memory_allocator(), v8::internal::Min(), v8::internal::MemoryChunk::next_chunk(), NULL, v8::internal::MemoryChunk::owner(), v8::internal::MemoryChunk::set_owner(), v8::internal::MemoryChunk::set_size(), v8::internal::MemoryChunk::SetArea(), v8::internal::MemoryChunk::SetFlag(), v8::internal::MemoryChunk::size(), and store_buffer().
Referenced by v8::internal::LargeObjectSpace::FreeUnmarkedObjects(), v8::internal::MarkCompactCollector::ReleaseEvacuationCandidates(), and v8::internal::MarkCompactCollector::SweepSpace().
|
private |
Definition at line 3038 of file heap.cc.
References kInitialNumberStringCacheSize, v8::internal::Max(), max_semi_space_size_, and v8::internal::Min().
|
private |
Definition at line 587 of file heap.cc.
References Capacity(), cell_space(), code_space(), CommittedMemory(), v8::internal::Isolate::counters(), crankshaft_codegen_bytes_generated_, v8::internal::Deoptimizer::DeoptimizeAll(), full_codegen_bytes_generated_, v8::internal::StoreBuffer::GCEpilogue(), gcs_since_last_deopt_, v8::internal::Isolate::global_handles(), isolate(), isolate_, v8::internal::KB, lo_space(), map_space(), MaximumCommittedMemory(), new_space(), new_space_top_after_last_gc_, old_data_space(), old_pointer_space(), ProcessPretenuringFeedback(), property_cell_space(), ReportStatisticsAfterGC(), ShouldZapGarbage(), SizeOfObjects(), store_buffer(), v8::internal::NewSpace::top(), UPDATE_COUNTERS_AND_FRAGMENTATION_FOR_SPACE, UPDATE_COUNTERS_FOR_SPACE, UpdateMaximumCommitted(), and ZapFromSpace().
Referenced by CollectGarbage().
|
private |
Definition at line 410 of file heap.cc.
References v8::internal::OptimizingCompilerThread::AgeBufferedOsrJobs(), CheckNewSpaceExpansionCriteria(), ClearJSFunctionResultCaches(), DCHECK, v8::internal::MarkCompactCollector::EnableCodeFlushing(), gc_count_, gc_state_, v8::internal::StoreBuffer::GCPrologue(), v8::internal::NewSpace::IsAtMaximumCapacity(), isolate(), mark_compact_collector(), maximum_size_scavenges_, new_space_, nodes_copied_in_new_space_, nodes_died_in_new_space_, nodes_promoted_, NOT_IN_GC, v8::internal::Isolate::optimizing_compiler_thread(), promoted_objects_size_, ReportStatisticsBeforeGC(), semi_space_copied_object_size_, store_buffer(), unflattened_strings_length_, and UpdateMaximumCommitted().
Referenced by CollectGarbage().
|
inline |
|
inline |
Definition at line 955 of file heap.h.
References gc_state_.
Referenced by v8::internal::MustRecordSlots(), v8::internal::GlobalHandles::PostGarbageCollectionProcessing(), v8::internal::IC::SetTargetAtAddress(), v8::internal::IncrementalMarking::Start(), v8::internal::IncrementalMarking::Step(), and v8::internal::IncrementalMarking::WorthActivating().
|
staticprivate |
Definition at line 228 of file heap.cc.
References v8::internal::IntrusiveMarking::IsMarked(), v8::internal::HeapObject::map(), and v8::internal::IntrusiveMarking::SizeOfMarkedObject().
Referenced by MarkMapPointersAsEncoded().
|
inline |
Definition at line 874 of file heap.h.
References gc_safe_size_of_old_object_.
|
inline |
Definition at line 1192 of file heap.h.
References max_alive_after_gc_.
Referenced by TearDown().
|
inline |
Definition at line 1189 of file heap.h.
References max_gc_pause_.
Referenced by TearDown().
|
inline |
Definition at line 1195 of file heap.h.
References min_in_mutator_.
Referenced by TearDown().
|
inline |
Definition at line 1268 of file heap.h.
References global_ic_age_.
Referenced by v8::internal::Compiler::CompileScript(), and v8::internal::Compiler::GetFunctionFromEval().
bool v8::internal::Heap::HasBeenSetUp | ( | ) |
Definition at line 221 of file heap.cc.
References cell_space_, code_space_, lo_space_, map_space_, NULL, old_data_space_, old_pointer_space_, and property_cell_space_.
Referenced by Available(), Capacity(), CommittedMemory(), CommittedMemoryExecutable(), CommittedPhysicalMemory(), ConfigureHeap(), Contains(), v8::internal::Isolate::Init(), InSpace(), v8::internal::CpuProfiler::StartProcessorIfNotStarted(), and UpdateMaximumCommitted().
|
inline |
Definition at line 1237 of file heap.h.
References DCHECK.
Referenced by v8::internal::BackgroundParsingTask::BackgroundParsingTask(), v8::internal::NativeObjectsExplorer::FindOrAddGroupInfo(), v8::internal::HeapObjectsMap::GenerateId(), v8::internal::StringTable::LookupTwoCharsStringIfExists(), and v8::internal::Parser::Parse().
|
inline |
Definition at line 788 of file heap.h.
References hidden_string_.
Referenced by v8::internal::JSObject::DefineAccessor(), and v8::internal::V8HeapExplorer::ExtractPropertyReferences().
Definition at line 4296 of file heap.cc.
References AdvanceIdleIncrementalMarking(), v8::internal::NewSpace::Available(), v8::internal::GCIdleTimeHandler::HeapState::available_new_space_memory, v8::internal::GCIdleTimeHandler::HeapState::can_start_incremental_marking, v8::internal::NewSpace::Capacity(), CollectAllGarbage(), CollectGarbage(), v8::internal::GCIdleTimeHandler::Compute(), v8::internal::GCIdleTimeHandler::HeapState::contexts_disposed, contexts_disposed_, v8::internal::Isolate::counters(), v8::internal::DO_FINALIZE_SWEEPING, v8::internal::DO_FULL_GC, v8::internal::DO_INCREMENTAL_MARKING, v8::internal::DO_NOTHING, v8::internal::DO_SCAVENGE, v8::internal::DONE, v8::internal::MarkCompactCollector::EnsureSweepingCompleted(), gc_idle_time_handler_, incremental_marking(), v8::internal::GCIdleTimeHandler::HeapState::incremental_marking_speed_in_bytes_per_ms, v8::internal::GCIdleTimeHandler::HeapState::incremental_marking_stopped, v8::internal::GCTracer::IncrementalMarkingSpeedInBytesPerMillisecond(), isolate(), isolate_, v8::internal::IncrementalMarking::IsStopped(), kReduceMemoryFootprintMask, mark_compact_collector(), v8::internal::GCIdleTimeHandler::HeapState::mark_compact_speed_in_bytes_per_ms, v8::internal::GCTracer::MarkCompactSpeedInBytesPerMillisecond(), v8::internal::NEW_SPACE, new_space_, v8::internal::GCIdleTimeHandler::HeapState::new_space_allocation_throughput_in_bytes_per_ms, v8::internal::GCIdleTimeHandler::HeapState::new_space_capacity, v8::internal::GCTracer::NewSpaceAllocationThroughputInBytesPerMillisecond(), v8::internal::GCIdleTimeHandler::NotifyIdleMarkCompact(), v8::internal::GCIdleTimeAction::parameter, v8::internal::GCIdleTimeAction::Print(), v8::internal::PrintF(), v8::internal::GCIdleTimeHandler::HeapState::scavenge_speed_in_bytes_per_ms, v8::internal::GCTracer::ScavengeSpeedInBytesPerMillisecond(), v8::internal::IncrementalMarking::ShouldActivate(), v8::internal::GCIdleTimeHandler::HeapState::size_of_objects, SizeOfObjects(), v8::internal::IncrementalMarking::Start(), v8::internal::GCIdleTimeHandler::HeapState::sweeping_in_progress, v8::internal::MarkCompactCollector::sweeping_in_progress(), tracer(), and v8::internal::GCIdleTimeAction::type.
Referenced by v8::Isolate::IdleNotification().
|
inline |
Definition at line 1172 of file heap.h.
References size, and total_regexp_code_generated_.
Referenced by v8::internal::RegExpCompiler::Assemble().
|
inline |
Definition at line 739 of file heap.h.
References v8::internal::PrintF(), and scan_on_scavenge_pages_.
Referenced by v8::internal::MemoryChunk::set_scan_on_scavenge().
|
inline |
Definition at line 1205 of file heap.h.
References incremental_marking_.
Referenced by v8::internal::RecordWriteStub::Activate(), AdjustLiveBytes(), AdvanceIdleIncrementalMarking(), v8::internal::FreeList::Allocate(), v8::internal::LargeObjectSpace::AllocateRaw(), ClearNormalizedMapCaches(), CollectAllAvailableGarbage(), v8::internal::MarkCompactCollector::CollectGarbage(), CollectGarbage(), v8::internal::CopyDictionaryToObjectElements(), v8::internal::CopyObjectToObjectElements(), v8::internal::Map::DeprecateTarget(), v8::internal::Map::EnsureDescriptorSlack(), v8::internal::CodeFlusher::EvictCandidate(), v8::internal::CodeFlusher::EvictOptimizedCodeMap(), v8::internal::HeapObject::GetWriteBarrierMode(), IdleNotification(), v8::internal::NewSpacePage::Initialize(), v8::internal::LargePage::Initialize(), v8::internal::Page::Initialize(), v8::internal::IncrementalMarkingMarkingVisitor::INLINE(), v8::internal::MarkCompactCollector::InvalidateCode(), IterateAndMarkPointersToFromSpace(), v8::internal::MarkCompactCollector::MarkLiveObjects(), MoveElements(), OldGenerationAllocationLimitReached(), PerformGarbageCollection(), v8::internal::MarkCompactCollector::Prepare(), v8::internal::IncrementalMarking::RecordWriteFromCode(), Scavenge(), SelectScavengingVisitorsTable(), v8::internal::JSFunction::set_code(), v8::internal::HeapObject::set_map(), v8::internal::MemoryChunk::set_scan_on_scavenge(), v8::internal::IC::SetTargetAtAddress(), v8::internal::NewSpace::SlowAllocateRaw(), v8::internal::HeapObject::synchronized_set_map(), TearDown(), v8::internal::Marking::TransferMark(), v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(), and WorthActivatingIncrementalMarking().
Definition at line 1176 of file heap.h.
References crankshaft_codegen_bytes_generated_, full_codegen_bytes_generated_, and size.
Referenced by v8::internal::CodeGenerator::MakeCodeEpilogue().
|
inline |
Definition at line 1126 of file heap.h.
References nodes_copied_in_new_space_.
Referenced by v8::internal::GlobalHandles::PostGarbageCollectionProcessing().
|
inline |
Definition at line 1124 of file heap.h.
References nodes_died_in_new_space_.
Referenced by v8::internal::GlobalHandles::PostGarbageCollectionProcessing().
|
inline |
Definition at line 1128 of file heap.h.
References nodes_promoted_.
Referenced by v8::internal::GlobalHandles::PostGarbageCollectionProcessing().
|
inline |
Definition at line 1114 of file heap.h.
References DCHECK, and promoted_objects_size_.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject(), and v8::internal::MarkCompactCollector::TryPromoteObject().
|
inline |
Definition at line 1119 of file heap.h.
References DCHECK, and semi_space_copied_object_size_.
Referenced by v8::internal::MarkCompactCollector::DiscoverAndEvacuateBlackObjectsOnPage(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::SemiSpaceCopyObject().
|
inline |
Definition at line 1130 of file heap.h.
References DCHECK, and survived_since_last_expansion_.
Referenced by v8::internal::MarkCompactCollector::EvacuateNewSpace(), and Scavenge().
Definition at line 334 of file heap-inl.h.
References v8::internal::NewSpace::FromSpaceContains(), and new_space_.
Referenced by IterateAndMarkPointersToFromSpace(), v8::internal::StoreBuffer::IteratePointersInStoreBuffer(), v8::internal::CodeFlusher::IteratePointersToFromSpace(), v8::internal::ScavengeWeakObjectRetainer::RetainAs(), ScavengeObject(), ScavengeObjectSlow(), UpdateAllocationSiteFeedback(), UpdateNewSpaceReferencesInExternalStringTable(), and v8::internal::PointersUpdatingVisitor::UpdateSlot().
|
private |
Definition at line 3563 of file heap.cc.
References DCHECK, v8::internal::AllocationSite::IncrementMementoCreateCount(), v8::internal::HeapObject::map(), v8::internal::HeapObject::set_map_no_write_barrier(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by Allocate(), and CopyJSObject().
|
private |
Definition at line 3068 of file heap.cc.
References DCHECK, and kAllocationSiteScratchpadSize.
Referenced by CreateInitialObjects().
|
private |
Definition at line 3600 of file heap.cc.
References DCHECK, v8::internal::JSObject::GetInternalFieldCount(), v8::internal::JSObject::initialize_elements(), v8::internal::JSObject::InitializeBody(), and map.
Referenced by AllocateJSObjectFromMap().
|
inline |
Definition at line 1348 of file heap.h.
References set_weak_object_to_code_table().
Referenced by v8::internal::Deserializer::Deserialize().
|
inline |
Definition at line 554 of file heap.h.
References initial_semispace_size_.
Referenced by v8::internal::NewSpace::SetUp().
v8::internal::Heap::INLINE | ( | void | RecordWriteAddress address, int offset | ) |
v8::internal::Heap::INLINE | ( | void | RecordWritesAddress address, int start, int len | ) |
|
inline |
Definition at line 1044 of file heap.h.
References inline_allocation_disabled_.
Referenced by v8::internal::FreeList::Allocate().
Definition at line 331 of file heap-inl.h.
References v8::internal::NewSpace::Contains(), and new_space_.
Definition at line 322 of file heap-inl.h.
References v8::internal::NewSpace::Contains(), DCHECK, gc_state_, InToSpace(), new_space_, and NOT_IN_GC.
Referenced by v8::internal::ExternalStringTable::AddOldString(), v8::internal::ExternalStringTable::AddString(), AddWeakObjectToCodeDependency(), AllocateFixedArrayWithFiller(), v8::internal::HOptimizedGraphBuilder::BuildFastLiteral(), v8::internal::ExternalStringTable::CleanUp(), v8::internal::Map::ClearCodeCache(), CopyAndTenureFixedCOWArray(), v8::internal::CopyDictionaryToObjectElements(), CopyFixedArrayWithMap(), CopyJSObject(), v8::internal::CopyObjectToObjectElements(), v8::internal::EternalHandles::Create(), v8::internal::GlobalHandles::Create(), v8::internal::Runtime::CreateArrayLiteralBoilerplate(), CreateInitialMaps(), v8::internal::CreateObjectLiteralBoilerplate(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::DeleteCommon(), v8::internal::HashTable< Derived, Shape, Key >::EnsureCapacity(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateShortcutCandidate(), v8::internal::StoreBuffer::FindPointersToNewSpaceInRegion(), v8::internal::HeapObject::GetWriteBarrierMode(), v8::internal::IsUnscavengedHeapObject(), IterateAndMarkPointersToFromSpace(), v8::internal::StoreBuffer::IteratePointersInStoreBuffer(), MoveElements(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::New(), v8::internal::FixedArray::NoIncrementalWriteBarrierSet(), v8::internal::FixedArray::NoWriteBarrierSet(), v8::internal::GlobalHandles::PostGarbageCollectionProcessing(), v8::internal::EternalHandles::PostGarbageCollectionProcessing(), v8::internal::JSObject::PrepareElementsForSort(), v8::internal::Deserializer::ReadChunk(), v8::internal::MarkCompactCollector::RecordMigratedSlot(), v8::internal::ReplaceCodeObject(), RootCanBeTreatedAsConstant(), v8::internal::Serializer::RootIndex(), v8::internal::ScavengeVisitor::ScavengePointer(), set_weak_object_to_code_table(), v8::internal::ShortCircuitConsString(), v8::internal::HashTable< Derived, Shape, Key >::Shrink(), v8::internal::String::SlowFlatten(), v8::internal::StoreBuffer::Uniq(), v8::internal::JSObject::UpdateAllocationSite(), v8::internal::IncrementalMarking::UpdateMarkingDequeAfterScavenge(), UpdateNewSpaceReferencesInExternalStringTable(), v8::internal::ExternalStringTable::Verify(), and v8::internal::NewSpaceScavenger::VisitPointer().
Definition at line 354 of file heap-inl.h.
References v8::internal::PagedSpace::Contains(), and old_data_space_.
Referenced by CanMoveObjectStart(), and InOldDataSpace().
Definition at line 359 of file heap-inl.h.
References InOldDataSpace().
Definition at line 344 of file heap-inl.h.
References v8::internal::PagedSpace::Contains(), and old_pointer_space_.
Referenced by CanMoveObjectStart(), and InOldPointerSpace().
Definition at line 349 of file heap-inl.h.
References InOldPointerSpace().
bool v8::internal::Heap::InSpace | ( | Address | addr, |
AllocationSpace | space | ||
) |
Definition at line 4464 of file heap.cc.
References v8::internal::CELL_SPACE, cell_space_, v8::internal::CODE_SPACE, code_space_, v8::internal::PagedSpace::Contains(), HasBeenSetUp(), v8::internal::INVALID_SPACE, isolate_, v8::internal::MemoryAllocator::IsOutsideAllocatedSpace(), v8::internal::LO_SPACE, lo_space_, v8::internal::MAP_SPACE, map_space_, v8::internal::Isolate::memory_allocator(), v8::internal::NEW_SPACE, new_space_, v8::internal::OLD_DATA_SPACE, old_data_space_, v8::internal::OLD_POINTER_SPACE, old_pointer_space_, v8::internal::PROPERTY_CELL_SPACE, property_cell_space_, v8::internal::LargeObjectSpace::SlowContains(), space(), v8::internal::NewSpace::ToSpaceContains(), and UNREACHABLE.
Referenced by InSpace(), and v8::internal::Serializer::SpaceOfObject().
bool v8::internal::Heap::InSpace | ( | HeapObject * | value, |
AllocationSpace | space | ||
) |
Definition at line 4459 of file heap.cc.
References v8::internal::HeapObject::address(), InSpace(), and space().
|
private |
|
private |
Definition at line 339 of file heap-inl.h.
References new_space_, and v8::internal::NewSpace::ToSpaceContains().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE(), InNewSpace(), and IterateAndMarkPointersToFromSpace().
bool v8::internal::Heap::IsHeapIterable | ( | ) |
Definition at line 4248 of file heap.cc.
References new_space(), new_space_top_after_last_gc_, and v8::internal::NewSpace::top().
Referenced by MakeHeapIterable().
|
inlineprivate |
Definition at line 1925 of file heap.h.
References high_survival_rate_period_length_.
Referenced by PerformGarbageCollection().
|
inline |
Definition at line 957 of file heap.h.
References gc_post_processing_depth_.
Referenced by v8::String::MakeExternal().
|
inline |
Definition at line 589 of file heap-inl.h.
References v8::internal::Isolate::heap().
Referenced by v8::internal::IncrementalMarking::Abort(), AddWeakObjectToCodeDependency(), v8::internal::MarkCompactCollector::AfterMarking(), AllocateConstantPoolArray(), AllocateExtendedConstantPoolArray(), v8::internal::LargeObjectSpace::AllocateRaw(), AllocateSymbol(), v8::internal::AllocationTracker::AllocationEvent(), v8::internal::ArrayPrototypeHasNoElements(), v8::internal::RegExpCompiler::Assemble(), CallGCEpilogueCallbacks(), CallGCPrologueCallbacks(), CheckpointObjectStats(), CollectAllAvailableGarbage(), v8::internal::MemoryChunk::CommitArea(), CommittedMemoryExecutable(), v8::internal::StoreBuffer::Compact(), CreateApiObjects(), v8::internal::PagedSpace::CreateEmergencyMemory(), CreateFixedStubs(), CreateInitialObjects(), v8::internal::Deoptimizer::DeoptimizeGlobalObject(), v8::internal::Deoptimizer::DeoptimizeMarkedCodeForContext(), EnsureWeakObjectToCodeTable(), v8::internal::EnumerateCompiledFunctions(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), v8::internal::PagedSpace::Expand(), v8::internal::V8HeapExplorer::ExtractJSArrayBufferReferences(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences(), v8::internal::RootsReferencesExtractor::FillReferences(), v8::internal::IncrementalMarking::Finalize(), v8::internal::FindHidden(), v8::internal::PagedSpace::FreeEmergencyMemory(), v8::internal::LargeObjectSpace::FreeUnmarkedObjects(), GarbageCollectionEpilogue(), GarbageCollectionPrologue(), v8::internal::HeapObject::GetIsolate(), IdleNotification(), v8::internal::MarkCompactMarkingVisitor::INLINE(), v8::internal::IsJSArrayFastElementMovingAllowed(), v8::internal::MarkCompactCollector::isolate(), IterateSmiRoots(), v8::internal::IncrementalMarking::MarkingComplete(), v8::internal::MarkCompactCollector::MarkLiveObjects(), NotifyContextDisposed(), v8::internal::PagedSpace::PagedSpace(), v8::internal::MarkCompactCollector::PrepareForCodeFlushing(), v8::internal::GCTracer::Print(), v8::internal::GCTracer::PrintNVP(), v8::internal::IncrementalMarking::RecordCodeTargetPatch(), RecordStats(), v8::internal::JSObject::ReferencesObject(), v8::internal::PagedSpace::ReleasePage(), v8::internal::NewSpace::ReportStatistics(), RightTrimFixedArray(), Scavenge(), SelectScavengingVisitorsTable(), v8::internal::V8HeapExplorer::SetGcSubrootReference(), v8::internal::DependentCode::SetMarkedForDeoptimization(), v8::internal::HeapProfiler::SetRetainedObjectInfo(), SetStackLimits(), SetUp(), v8::internal::NewSpace::SetUp(), v8::internal::SemiSpace::ShrinkTo(), v8::internal::PagedSpace::SizeOfFirstPage(), v8::internal::IncrementalMarking::Start(), v8::internal::GCTracer::Start(), v8::internal::IncrementalMarking::StartMarking(), v8::internal::IncrementalMarking::Step(), v8::internal::GCTracer::Stop(), v8::internal::V8HeapExplorer::TagGlobalObjects(), v8::internal::PagedSpace::TearDown(), v8::internal::NewSpace::TearDown(), v8::internal::LargeObjectSpace::TearDown(), TearDownArrayBuffers(), v8::internal::String::ToCString(), v8::internal::ReplacementStringBuilder::ToString(), v8::internal::String::ToWideCString(), v8::internal::SeqString::Truncate(), v8::internal::SlotsBuffer::UpdateSlots(), v8::internal::SlotsBuffer::UpdateSlotsWithFilter(), v8::internal::RelocInfo::Visit(), v8::internal::WeakListVisitor< JSArrayBuffer >::VisitPhantomObject(), and v8::internal::IncrementalMarking::WorthActivating().
Definition at line 61 of file heap-inl.h.
References v8::internal::String::IsOneByteRepresentation().
Referenced by AllocateInternalizedStringFromUtf8(), and AllocateInternalizedStringImpl().
Definition at line 54 of file heap-inl.h.
References v8::internal::Vector< T >::length().
void v8::internal::Heap::IterateAndMarkPointersToFromSpace | ( | Address | start, |
Address | end, | ||
ObjectSlotCallback | callback | ||
) |
Definition at line 4540 of file heap.cc.
References v8::internal::StoreBuffer::EnterDirectlyIntoStoreBuffer(), v8::internal::HeapObject::FromAddress(), incremental_marking(), InFromSpace(), InNewSpace(), InToSpace(), v8::internal::kPointerSize, mark_compact_collector(), SLOW_DCHECK, and store_buffer_.
Referenced by DoScavenge().
void v8::internal::Heap::IterateRoots | ( | ObjectVisitor * | v, |
VisitMode | mode | ||
) |
Definition at line 4722 of file heap.cc.
References IterateStrongRoots(), IterateWeakRoots(), and mode().
Referenced by v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), v8::internal::V8HeapExplorer::IterateAndExtractReferences(), v8::internal::ReplaceCodeObject(), and Scavenge().
void v8::internal::Heap::IterateSmiRoots | ( | ObjectVisitor * | v | ) |
Definition at line 4739 of file heap.cc.
References isolate(), kRootListLength, kSmiRootsStart, and roots_.
Referenced by v8::internal::Deserializer::Deserialize(), and v8::internal::StartupSerializer::SerializeStrongReferences().
void v8::internal::Heap::IterateStrongRoots | ( | ObjectVisitor * | v, |
VisitMode | mode | ||
) |
Definition at line 4747 of file heap.cc.
References v8::internal::Isolate::bootstrapper(), v8::internal::Isolate::builtins(), v8::internal::Isolate::compilation_cache(), v8::internal::Isolate::deoptimizer_data(), v8::internal::Isolate::eternal_handles(), v8::internal::Isolate::global_handles(), v8::internal::Isolate::handle_scope_implementer(), hidden_string_, isolate_, v8::internal::SerializerDeserializer::Iterate(), v8::internal::CompilationCache::Iterate(), v8::internal::DeoptimizerData::Iterate(), v8::internal::Isolate::Iterate(), v8::internal::ThreadManager::Iterate(), v8::internal::HandleScopeImplementer::Iterate(), v8::internal::GlobalHandles::IterateAllRoots(), v8::internal::EternalHandles::IterateAllRoots(), v8::internal::Builtins::IterateBuiltins(), v8::internal::Isolate::IterateDeferredHandles(), v8::internal::EternalHandles::IterateNewSpaceRoots(), v8::internal::GlobalHandles::IterateNewSpaceStrongAndDependentRoots(), v8::internal::GlobalHandles::IterateStrongRoots(), kStrongRootListLength, mode(), NULL, roots_, v8::internal::Isolate::thread_manager(), v8::internal::VISIT_ALL, v8::internal::VISIT_ALL_IN_SCAVENGE, v8::internal::VISIT_ALL_IN_SWEEP_NEWSPACE, and v8::internal::VISIT_ONLY_STRONG.
Referenced by v8::internal::Deserializer::Deserialize(), IterateRoots(), v8::internal::MarkCompactCollector::MarkRoots(), v8::internal::StartupSerializer::SerializeStrongReferences(), and v8::internal::IncrementalMarking::StartMarking().
void v8::internal::Heap::IterateWeakRoots | ( | ObjectVisitor * | v, |
VisitMode | mode | ||
) |
Definition at line 4728 of file heap.cc.
References external_string_table_, v8::internal::ExternalStringTable::Iterate(), kStringTableRootIndex, mode(), roots_, v8::internal::VISIT_ALL_IN_SCAVENGE, and v8::internal::VISIT_ALL_IN_SWEEP_NEWSPACE.
Referenced by v8::internal::Deserializer::Deserialize(), IterateRoots(), and v8::internal::StartupSerializer::SerializeWeakReferences().
FixedArrayBase * v8::internal::Heap::LeftTrimFixedArray | ( | FixedArrayBase * | obj, |
int | elements_to_trim | ||
) |
Definition at line 3266 of file heap.cc.
References v8::internal::HeapObject::address(), AdjustLiveBytes(), CanMoveObjectStart(), Contains(), CreateFillerObjectAt(), DCHECK, FROM_MUTATOR, v8::internal::HeapObject::FromAddress(), v8::internal::Smi::FromInt(), v8::internal::kDoubleSize, v8::internal::FixedArrayBase::kHeaderSize, v8::internal::FixedArrayBase::kLengthOffset, v8::internal::HeapObject::kMapOffset, v8::internal::kPointerSize, lo_space(), map, v8::internal::HeapObject::map(), marking(), OnMoveEvent(), v8::internal::HeapObject::RawField(), v8::internal::HeapObject::Size(), STATIC_ASSERT(), and v8::internal::Marking::TransferMark().
Referenced by v8::internal::BUILTIN().
|
inline |
Definition at line 600 of file heap.h.
References lo_space_.
Referenced by v8::internal::IncrementalMarking::Abort(), v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::Deserializer::Allocate(), v8::internal::BUILTIN(), CanMoveObjectStart(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), FreeQueuedChunks(), v8::internal::MemoryChunk::FromAnyPointerAddress(), GarbageCollectionEpilogue(), v8::internal::InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::StoreBuffer::IteratePointersToNewSpace(), LeftTrimFixedArray(), ReserveSpace(), RightTrimFixedArray(), v8::internal::MarkCompactCollector::SweepSpaces(), and v8::internal::StoreBuffer::Verify().
|
private |
DependentCode * v8::internal::Heap::LookupWeakObjectToCodeDependency | ( | Handle< Object > | obj | ) |
Definition at line 5360 of file heap.cc.
References weak_object_to_code_table_.
Referenced by v8::internal::AddWeakObjectToCodeDependency().
|
private |
Definition at line 4255 of file heap.cc.
References CollectAllGarbage(), DCHECK, v8::internal::MarkCompactCollector::EnsureSweepingCompleted(), IsHeapIterable(), kMakeHeapIterableMask, and mark_compact_collector().
Referenced by v8::internal::BASE_EMBEDDED< Visitor >::MakeHeapIterableHelper::MakeHeapIterableHelper().
|
inline |
Definition at line 597 of file heap.h.
References map_space_.
Referenced by v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::StoreBuffer::ClearDeadObject(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), v8::DumpHeapConstants(), GarbageCollectionEpilogue(), v8::internal::HeapObjectIterator::HeapObjectIterator(), v8::internal::StoreBuffer::IteratePointersToNewSpace(), and paged_space().
Map * v8::internal::Heap::MapForExternalArrayType | ( | ExternalArrayType | array_type | ) |
Definition at line 3101 of file heap.cc.
References RootIndexForExternalArrayType(), and roots_.
Referenced by AllocateExternalArray().
Map * v8::internal::Heap::MapForFixedTypedArray | ( | ExternalArrayType | array_type | ) |
Definition at line 3123 of file heap.cc.
References RootIndexForFixedTypedArray(), and roots_.
Referenced by AllocateFixedTypedArray().
|
inline |
Definition at line 1197 of file heap.h.
References mark_compact_collector_.
Referenced by v8::internal::AbortIncrementalMarkingAndCollectGarbage(), AddAllocationSiteToScratchpad(), v8::internal::Context::AddOptimizedFunction(), v8::internal::SharedFunctionInfo::ClearOptimizedCodeMap(), CollectAllAvailableGarbage(), CollectGarbage(), v8::internal::Isolate::Deinit(), v8::internal::Deoptimizer::DeoptimizeMarkedCodeForContext(), v8::internal::WeakListVisitor< Context >::DoWeakList(), v8::internal::LargeObjectSpace::FreeUnmarkedObjects(), GarbageCollectionPrologue(), IdleNotification(), v8::internal::IncrementalMarkingMarkingVisitor::INLINE(), v8::internal::MarkCompactMarkingVisitor::INLINE(), IterateAndMarkPointersToFromSpace(), v8::internal::StoreBuffer::IteratePointersToNewSpace(), MakeHeapIterable(), v8::internal::StaticMarkingVisitor< StaticVisitor >::MarkMapContents(), v8::internal::StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray(), v8::internal::MustRecordSlots(), OldGenerationAllocationLimit(), v8::internal::CodeFlusher::ProcessJSFunctionCandidates(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), v8::internal::CodeFlusher::ProcessSharedFunctionInfoCandidates(), v8::internal::IncrementalMarking::RecordWriteIntoCodeSlow(), v8::internal::IncrementalMarking::RecordWriteOfCodeEntrySlow(), v8::internal::IncrementalMarking::RecordWriteSlow(), v8::internal::SharedFunctionInfo::ReplaceCode(), v8::internal::MarkCompactWeakObjectRetainer::RetainAs(), v8::internal::MarkCompactCollector::SweeperTask::Run(), Scavenge(), v8::internal::IC::SetTargetAtAddress(), SetUp(), v8::internal::PagedSpace::SlowAllocateRaw(), v8::internal::IncrementalMarking::Start(), v8::internal::IncrementalMarking::StartMarking(), v8::internal::IncrementalMarking::Step(), TearDown(), v8::internal::MarkCompactMarkingVisitor::UpdateRegExpCodeAgeAndFlush(), v8::internal::WeakListVisitor< JSArrayBuffer >::VisitLiveObject(), v8::internal::MarkCompactMarkingVisitor::VisitRegExpAndFlushCode(), v8::internal::VisitWeakList(), and v8::internal::PagedSpace::WaitForSweeperThreadsAndRetryAllocation().
|
private |
Definition at line 1181 of file heap.cc.
References v8::internal::MarkCompactCollector::CollectGarbage(), v8::internal::Isolate::counters(), EvaluateOldSpaceLocalPretenuring(), flush_monomorphic_ics_, gc_state_, isolate_, LOG, MARK_COMPACT, mark_compact_collector_, MarkCompactPrologue(), ms_count_, NOT_IN_GC, v8::internal::MarkCompactCollector::Prepare(), and SizeOfObjects().
Referenced by PerformGarbageCollection().
|
private |
Definition at line 1209 of file heap.cc.
References v8::internal::KeyedLookupCache::Clear(), v8::internal::DescriptorLookupCache::Clear(), v8::internal::ContextSlotCache::Clear(), v8::internal::RegExpResultsCache::Clear(), ClearNormalizedMapCaches(), v8::internal::Isolate::compilation_cache(), CompletelyClearInstanceofCache(), v8::internal::Isolate::context_slot_cache(), v8::internal::Isolate::descriptor_lookup_cache(), FlushNumberStringCache(), isolate_, v8::internal::Isolate::keyed_lookup_cache(), and v8::internal::CompilationCache::MarkCompactPrologue().
Referenced by MarkCompact().
|
inline |
Definition at line 1203 of file heap.h.
References marking_.
Referenced by LeftTrimFixedArray().
|
inlineprivate |
Definition at line 1601 of file heap.h.
References DCHECK, gc_safe_size_of_old_object_, and GcSafeSizeOfOldObject().
Referenced by SetUp().
|
inline |
Definition at line 556 of file heap.h.
References max_executable_size_.
Referenced by SetUp().
|
inline |
Definition at line 572 of file heap.h.
References maximum_committed_.
Referenced by GarbageCollectionEpilogue(), and TearDown().
|
inline |
Definition at line 1282 of file heap.h.
References maximum_size_scavenges_.
Referenced by ProcessPretenuringFeedback().
|
inline |
Definition at line 555 of file heap.h.
References max_old_generation_size_.
Referenced by v8::internal::IncrementalMarking::SpaceLeftInOldSpace().
|
inline |
Definition at line 549 of file heap.h.
References max_old_generation_size_, and reserved_semispace_size_.
Referenced by v8::Isolate::GetHeapStatistics(), and SetUp().
|
inline |
Definition at line 552 of file heap.h.
References max_semi_space_size_.
Referenced by v8::internal::IncrementalMarking::SpeedUp().
Definition at line 475 of file heap-inl.h.
References DCHECK, v8::internal::IsAligned(), v8::internal::kPointerSize, and v8::internal::MemMove().
Referenced by v8::internal::MarkCompactCollector::MigrateObject().
void v8::internal::Heap::MoveElements | ( | FixedArray * | array, |
int | dst_index, | ||
int | src_index, | ||
int | len | ||
) |
Definition at line 868 of file heap.cc.
References v8::internal::HeapObject::address(), v8::internal::FixedArray::data_start(), DCHECK, incremental_marking(), InNewSpace(), v8::internal::kPointerSize, v8::internal::HeapObject::map(), v8::internal::MemMove(), v8::internal::FixedArray::OffsetOfElementAt(), and v8::internal::IncrementalMarking::RecordWrites().
Referenced by v8::internal::BUILTIN().
|
inline |
|
inline |
Definition at line 793 of file heap.h.
References native_contexts_list_.
Referenced by v8::internal::Context::AddOptimizedFunction(), v8::internal::AddToWeakNativeContextList(), ClearJSFunctionResultCaches(), ClearNormalizedMapCaches(), v8::internal::Deoptimizer::DeoptimizeAll(), v8::internal::Deoptimizer::DeoptimizeMarkedCode(), v8::internal::Deoptimizer::GetDeoptimizedCodeCount(), v8::internal::IncrementalMarking::Hurry(), v8::internal::MarkCompactCollector::ProcessMapCaches(), ProcessNativeContexts(), and v8::internal::Deoptimizer::VisitAllOptimizedFunctions().
|
inline |
Definition at line 593 of file heap.h.
References new_space_.
Referenced by v8::internal::IncrementalMarking::Abort(), v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), DisableInlineAllocation(), v8::internal::DiscoverGreyObjectsInNewSpace(), EnableInlineAllocation(), v8::internal::StoreBuffer::EnterDirectlyIntoStoreBuffer(), v8::internal::MarkCompactCollector::EvacuateNewSpace(), v8::internal::IncrementalMarking::Finalize(), GarbageCollectionEpilogue(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::PromotionQueue::Initialize(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE(), v8::internal::PromotionQueue::insert(), IsHeapIterable(), v8::internal::MarkCompactCollector::MarkLiveObjects(), PerformGarbageCollection(), v8::internal::IncrementalMarking::PrepareForScavenge(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::RecordCopiedObject(), ReserveSpace(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::SemiSpaceCopyObject(), SetUp(), v8::internal::IncrementalMarking::Start(), v8::internal::GCTracer::Start(), v8::internal::GCTracer::Stop(), and v8::internal::SeqString::Truncate().
|
inline |
Definition at line 630 of file heap.h.
References v8::internal::NewSpace::allocation_limit_address(), and new_space_.
|
inline |
Definition at line 627 of file heap.h.
References v8::internal::NewSpace::allocation_top_address(), and new_space_.
|
inline |
Definition at line 590 of file heap.h.
References v8::internal::NewSpace::mask(), and new_space_.
|
inline |
Definition at line 589 of file heap.h.
References new_space_, and v8::internal::NewSpace::start().
|
inline |
Definition at line 591 of file heap.h.
References new_space_, and v8::internal::NewSpace::top().
Referenced by FindAllocationMemento(), v8::internal::StringTracker::IsFreshUnusedString(), and v8::internal::StringTracker::RecordWrite().
|
inline |
Definition at line 1135 of file heap.h.
References v8::internal::NewSpace::Capacity(), gc_count_, new_space_, old_generation_allocation_limit_, and PromotedTotalSize().
Referenced by v8::internal::IncrementalMarking::ShouldActivate(), and WorthActivatingIncrementalMarking().
|
private |
|
private |
int v8::internal::Heap::NotifyContextDisposed | ( | ) |
Definition at line 857 of file heap.cc.
References AgeInlineCaches(), contexts_disposed_, v8::internal::OptimizingCompilerThread::Flush(), flush_monomorphic_ics_, isolate(), and v8::internal::Isolate::optimizing_compiler_thread().
Referenced by v8::Isolate::ContextDisposedNotification().
|
inline |
Definition at line 595 of file heap.h.
References old_data_space_.
Referenced by v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::StoreBuffer::Compact(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), v8::internal::StoreBuffer::EnterDirectlyIntoStoreBuffer(), GarbageCollectionEpilogue(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::HeapObjectIterator::HeapObjectIterator(), v8::internal::MemoryChunk::Initialize(), v8::internal::StoreBuffer::Mark(), paged_space(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject(), v8::internal::SweeperThread::Run(), v8::internal::MarkCompactCollector::SetUp(), and v8::internal::MarkCompactCollector::StartCompaction().
|
inline |
Definition at line 594 of file heap.h.
References old_pointer_space_.
Referenced by v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), GarbageCollectionEpilogue(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::HeapObjectIterator::HeapObjectIterator(), v8::internal::StoreBuffer::IteratePointersToNewSpace(), paged_space(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject(), v8::internal::SweeperThread::Run(), v8::internal::MarkCompactCollector::SetUp(), v8::internal::MarkCompactCollector::StartCompaction(), and v8::internal::MarkCompactCollector::SweepInParallel().
|
inline |
Definition at line 644 of file heap.h.
References v8::internal::PagedSpace::allocation_limit_address(), and old_data_space_.
|
inline |
Definition at line 641 of file heap.h.
References v8::internal::PagedSpace::allocation_top_address(), and old_data_space_.
intptr_t v8::internal::Heap::OldGenerationAllocationLimit | ( | intptr_t | old_gen_size, |
int | freed_global_handles | ||
) |
Definition at line 4984 of file heap.cc.
References v8::internal::NewSpace::Capacity(), kMaxOldSpaceSizeMediumMemoryDevice, kMinimumOldGenerationAllocationLimit, mark_compact_collector(), v8::internal::Max(), max_old_generation_size_, v8::internal::Min(), new_space_, and v8::internal::MarkCompactCollector::reduce_memory_footprint_.
Referenced by PerformGarbageCollection().
|
inline |
Definition at line 364 of file heap-inl.h.
References incremental_marking(), and OldGenerationSpaceAvailable().
Referenced by SelectGarbageCollector().
|
inline |
Definition at line 1007 of file heap.h.
References max_old_generation_size_, and PromotedTotalSize().
|
inline |
Definition at line 1003 of file heap.h.
References old_generation_allocation_limit_, and PromotedTotalSize().
Referenced by OldGenerationAllocationLimitReached().
|
inline |
Definition at line 637 of file heap.h.
References v8::internal::PagedSpace::allocation_limit_address(), and old_pointer_space_.
|
inline |
Definition at line 634 of file heap.h.
References v8::internal::PagedSpace::allocation_top_address(), and old_pointer_space_.
|
inline |
Definition at line 224 of file heap-inl.h.
References v8::internal::HeapObject::address(), allocations_count_, dump_allocations_hash_countdown_, v8::internal::Isolate::heap_profiler(), isolate_, PrintAlloctionsHash(), profiler(), and UpdateAllocationsHash().
Referenced by AllocateCode(), AllocateRaw(), and v8::internal::Deserializer::ReadObject().
|
inline |
Definition at line 245 of file heap-inl.h.
References v8::internal::HeapObject::address(), allocations_count_, v8::internal::Isolate::cpu_profiler(), dump_allocations_hash_countdown_, v8::internal::Isolate::heap_profiler(), v8::internal::Logger::is_logging_code_events(), v8::internal::HeapProfiler::is_tracking_object_moves(), isolate_, v8::internal::Isolate::logger(), v8::internal::HeapProfiler::ObjectMoveEvent(), PrintAlloctionsHash(), PROFILE, and UpdateAllocationsHash().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE(), LeftTrimFixedArray(), and v8::internal::MarkCompactCollector::MigrateObject().
|
inline |
Definition at line 601 of file heap.h.
References v8::internal::CELL_SPACE, cell_space(), v8::internal::CODE_SPACE, code_space(), v8::internal::LO_SPACE, v8::internal::MAP_SPACE, map_space(), v8::internal::NEW_SPACE, NULL, v8::internal::OLD_DATA_SPACE, old_data_space(), v8::internal::OLD_POINTER_SPACE, old_pointer_space(), v8::internal::PROPERTY_CELL_SPACE, property_cell_space(), and UNREACHABLE.
Referenced by v8::internal::MarkCompactCollector::EnsureSweepingCompleted(), and ReserveSpace().
|
private |
Definition at line 1042 of file heap.cc.
References amount_of_external_allocated_memory_, amount_of_external_allocated_memory_at_last_global_gc_, CallGCEpilogueCallbacks(), CallGCPrologueCallbacks(), v8::internal::GCCallbacksScope::CheckReenter(), v8::internal::Isolate::counters(), DCHECK, EnsureFromSpaceIsCommitted(), v8::internal::Isolate::eternal_handles(), v8::internal::GCTracer::Scope::EXTERNAL, gc_post_processing_depth_, v8::internal::Isolate::global_handles(), incremental_marking(), IsHighSurvivalRate(), isolate_, v8::kGCTypeMarkSweepCompact, v8::kGCTypeScavenge, v8::kNoGCCallbackFlags, v8::internal::MARK_COMPACTOR, MarkCompact(), new_space(), v8::internal::IncrementalMarking::NotifyOfHighPromotionRate(), old_gen_exhausted_, old_generation_allocation_limit_, OldGenerationAllocationLimit(), v8::internal::GlobalHandles::PostGarbageCollectionProcessing(), v8::internal::EternalHandles::PostGarbageCollectionProcessing(), PROFILE, PromotedSpaceSizeOfObjects(), Scavenge(), v8::internal::SCAVENGER, v8::internal::NewSpace::SizeAsInt(), sweep_generation_, tracer(), and UpdateSurvivalStatistics().
Referenced by CollectGarbage().
|
inlineprivate |
Definition at line 301 of file heap-inl.h.
References allocations_count_, v8::internal::PrintF(), and raw_allocations_hash_.
Referenced by OnAllocationEvent(), OnMoveEvent(), and TearDown().
void v8::internal::Heap::PrintShortHeapStatistics | ( | ) |
Definition at line 313 of file heap.cc.
References amount_of_external_allocated_memory_, Available(), v8::internal::MemoryAllocator::Available(), v8::internal::PagedSpace::Available(), v8::internal::NewSpace::Available(), v8::internal::LargeObjectSpace::Available(), cell_space_, code_space_, CommittedMemory(), v8::internal::PagedSpace::CommittedMemory(), v8::internal::NewSpace::CommittedMemory(), v8::internal::LargeObjectSpace::CommittedMemory(), isolate_, v8::internal::KB, lo_space_, map_space_, v8::internal::Isolate::memory_allocator(), new_space_, old_data_space_, old_pointer_space_, v8::internal::PrintPID(), property_cell_space_, v8::internal::MemoryAllocator::Size(), v8::internal::NewSpace::Size(), SizeOfObjects(), v8::internal::PagedSpace::SizeOfObjects(), v8::internal::LargeObjectSpace::SizeOfObjects(), total_gc_time_ms_, and V8_PTR_PREFIX.
Referenced by v8::internal::GCTracer::Stop().
|
private |
Definition at line 1660 of file heap.cc.
References allocation_sites_list(), set_allocation_sites_list(), and v8::internal::VisitWeakList< AllocationSite >().
Referenced by ProcessWeakReferences().
|
private |
Definition at line 1642 of file heap.cc.
References array_buffers_list(), set_array_buffers_list(), and v8::internal::VisitWeakList< JSArrayBuffer >().
Referenced by ProcessWeakReferences().
|
private |
Definition at line 1635 of file heap.cc.
References native_contexts_list(), set_native_contexts_list(), and v8::internal::VisitWeakList< Context >().
Referenced by ProcessWeakReferences().
|
private |
Definition at line 493 of file heap.cc.
References allocation_sites_list(), allocation_sites_scratchpad_length_, DeoptMaybeTenuredAllocationSites(), v8::internal::AllocationSite::DigestPretenuringFeedback(), FlushAllocationSitesScratchpad(), v8::internal::AllocationSite::GetPretenureMode(), v8::internal::AllocationSite::IsMaybeTenure(), isolate_, kAllocationSiteScratchpadSize, MaximumSizeScavenge(), v8::internal::AllocationSite::memento_found_count(), v8::internal::PrintF(), v8::internal::AllocationSite::set_deopt_dependent_code(), v8::internal::Isolate::stack_guard(), and v8::internal::TENURED.
Referenced by GarbageCollectionEpilogue().
void v8::internal::Heap::ProcessWeakReferences | ( | WeakObjectRetainer * | retainer | ) |
Definition at line 1626 of file heap.cc.
References ProcessAllocationSites(), ProcessArrayBuffers(), and ProcessNativeContexts().
Referenced by v8::internal::MarkCompactCollector::AfterMarking(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), and Scavenge().
|
private |
Definition at line 4975 of file heap.cc.
References amount_of_external_allocated_memory_, and amount_of_external_allocated_memory_at_last_global_gc_.
Referenced by PromotedTotalSize().
intptr_t v8::internal::Heap::PromotedSpaceSizeOfObjects | ( | ) |
Definition at line 4967 of file heap.cc.
References cell_space_, code_space_, lo_space_, map_space_, old_data_space_, old_pointer_space_, property_cell_space_, v8::internal::PagedSpace::SizeOfObjects(), and v8::internal::LargeObjectSpace::SizeOfObjects().
Referenced by v8::internal::IncrementalMarking::BlackToGreyAndUnshift(), PerformGarbageCollection(), PromotedTotalSize(), Scavenge(), v8::internal::IncrementalMarking::SpaceLeftInOldSpace(), and v8::internal::IncrementalMarking::WorthActivating().
|
inline |
Definition at line 996 of file heap.h.
References v8::internal::kMaxInt, PromotedExternalMemorySize(), and PromotedSpaceSizeOfObjects().
Referenced by NextGCIsLikelyToBeFull(), OldGenerationCapacityAvailable(), OldGenerationSpaceAvailable(), v8::internal::IncrementalMarking::ResetStepCounters(), and v8::internal::IncrementalMarking::SpeedUp().
|
inline |
Definition at line 753 of file heap.h.
References promotion_queue_.
Referenced by v8::internal::NewSpace::AddFreshPage(), DoScavenge(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::SemiSpaceCopyObject().
|
inline |
Definition at line 599 of file heap.h.
References property_cell_space_.
Referenced by v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::ClearMarkbits(), v8::internal::MarkCompactCollector::ClearNonLiveReferences(), v8::internal::SpaceIterator::CreateIterator(), v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), GarbageCollectionEpilogue(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::HeapObjectIterator::HeapObjectIterator(), and paged_space().
|
inline |
|
inline |
|
inline |
Definition at line 891 of file heap.h.
References roots_.
Referenced by v8::internal::MaterializedObjectStore::EnsureStackEntries().
|
inline |
Definition at line 879 of file heap.h.
References roots_.
Referenced by v8::internal::FillCache().
|
inline |
Definition at line 887 of file heap.h.
References roots_.
Referenced by v8::internal::StoreBuffer::Compact(), v8::internal::StoreBuffer::Mark(), v8::internal::StoreBuffer::SetUp(), and v8::internal::StoreBuffer::TearDown().
void v8::internal::Heap::QueueMemoryChunkForFree | ( | MemoryChunk * | chunk | ) |
Definition at line 6019 of file heap.cc.
References chunks_queued_for_free_, and v8::internal::MemoryChunk::set_next_chunk().
Referenced by v8::internal::LargeObjectSpace::FreeUnmarkedObjects(), and v8::internal::PagedSpace::ReleasePage().
|
inline |
Definition at line 1306 of file heap.h.
References DCHECK, FIRST_CODE_AGE_SUB_TYPE, FIRST_CODE_KIND_SUB_TYPE, v8::internal::Code::kFirstCodeAge, object_counts_, object_sizes_, OBJECT_STATS_COUNT, and size.
Referenced by v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitCode >::Visit().
|
inline |
Definition at line 1320 of file heap.h.
References DCHECK, FIRST_FIXED_ARRAY_SUB_TYPE, v8::internal::LAST_FIXED_ARRAY_SUB_TYPE, object_counts_, object_sizes_, and size.
Referenced by v8::internal::MarkCompactMarkingVisitor::ObjectStatsCountFixedArray(), v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitMap >::Visit(), v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitSharedFunctionInfo >::Visit(), and v8::internal::MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitFixedArray >::Visit().
|
inline |
Definition at line 1300 of file heap.h.
References DCHECK, v8::internal::LAST_TYPE, object_counts_, object_sizes_, and size.
Referenced by v8::internal::MarkCompactMarkingVisitor::ObjectStatsVisitBase().
Definition at line 4929 of file heap.cc.
References v8::internal::MemoryAllocator::Available(), v8::internal::PagedSpace::Capacity(), v8::internal::NewSpace::Capacity(), cell_space_, v8::internal::HeapStats::cell_space_capacity, v8::internal::HeapStats::cell_space_size, code_space_, v8::internal::HeapStats::code_space_capacity, v8::internal::HeapStats::code_space_size, DCHECK, v8::internal::HeapStats::end_marker, v8::base::OS::GetLastError(), v8::internal::Isolate::global_handles(), HeapIterator, isolate(), isolate_, v8::internal::HeapStats::kEndMarker, v8::internal::HeapStats::kStartMarker, v8::internal::LAST_TYPE, lo_space_, v8::internal::HeapStats::lo_space_size, map_space_, v8::internal::HeapStats::map_space_capacity, v8::internal::HeapStats::map_space_size, v8::internal::Isolate::memory_allocator(), v8::internal::HeapStats::memory_allocator_capacity, v8::internal::HeapStats::memory_allocator_size, new_space_, v8::internal::HeapStats::new_space_capacity, v8::internal::HeapStats::new_space_size, NULL, v8::internal::HeapStats::objects_per_type, old_data_space_, v8::internal::HeapStats::old_data_space_capacity, v8::internal::HeapStats::old_data_space_size, old_pointer_space_, v8::internal::HeapStats::old_pointer_space_capacity, v8::internal::HeapStats::old_pointer_space_size, v8::internal::HeapStats::os_error, property_cell_space_, v8::internal::HeapStats::property_cell_space_capacity, v8::internal::HeapStats::property_cell_space_size, v8::internal::GlobalHandles::RecordStats(), v8::internal::MemoryAllocator::Size(), v8::internal::LargeObjectSpace::Size(), v8::internal::HeapStats::size_per_type, v8::internal::NewSpace::SizeAsInt(), v8::internal::PagedSpace::SizeOfObjects(), and v8::internal::HeapStats::start_marker.
Definition at line 6072 of file heap.cc.
References v8::internal::Page::kPageSize, kRememberedUnmappedPages, remembered_unmapped_pages_, and remembered_unmapped_pages_index_.
Referenced by v8::internal::MemoryAllocator::Free(), and Heap().
void v8::internal::Heap::RemoveGCEpilogueCallback | ( | v8::Isolate::GCEpilogueCallback | callback | ) |
Definition at line 5328 of file heap.cc.
References DCHECK, gc_epilogue_callbacks_, NULL, and UNREACHABLE.
Referenced by v8::Isolate::RemoveGCEpilogueCallback(), and v8::V8::RemoveGCEpilogueCallback().
void v8::internal::Heap::RemoveGCPrologueCallback | ( | v8::Isolate::GCPrologueCallback | callback | ) |
Definition at line 5307 of file heap.cc.
References DCHECK, gc_prologue_callbacks_, NULL, and UNREACHABLE.
Referenced by v8::Isolate::RemoveGCPrologueCallback(), and v8::V8::RemoveGCPrologueCallback().
void v8::internal::Heap::RepairFreeListsAfterBoot | ( | ) |
Definition at line 484 of file heap.cc.
Referenced by v8::internal::Deserializer::Deserialize().
|
private |
Definition at line 394 of file heap.cc.
References v8::internal::NewSpace::CollectStatistics(), new_space_, and v8::internal::NewSpace::ReportStatistics().
Referenced by GarbageCollectionEpilogue().
|
private |
Definition at line 291 of file heap.cc.
References v8::internal::NewSpace::ClearHistograms(), v8::internal::NewSpace::CollectStatistics(), new_space_, and v8::internal::NewSpace::ReportStatistics().
Referenced by GarbageCollectionPrologue().
|
inline |
Definition at line 920 of file heap.cc.
References v8::internal::AbortIncrementalMarkingAndCollectGarbage(), v8::internal::HeapObject::address(), v8::internal::PagedSpace::AllocateRaw(), v8::internal::LargeObjectSpace::CanAllocateSize(), CollectGarbage(), DCHECK, v8::internal::V8::FatalProcessOutOfMemory(), v8::internal::SerializerDeserializer::kNumberOfPreallocatedSpaces, v8::internal::SerializerDeserializer::kNumberOfSpaces, v8::internal::LO_SPACE, lo_space(), v8::internal::NEW_SPACE, new_space(), paged_space(), v8::internal::FreeListNode::set_size(), space(), and v8::internal::AllocationResult::To().
Referenced by v8::internal::Deserializer::Deserialize(), and v8::internal::Deserializer::DeserializePartial().
|
private |
Definition at line 1667 of file heap.cc.
References allocation_sites_list(), v8::internal::flag, v8::internal::AllocationSite::GetPretenureMode(), isolate_, v8::internal::AllocationSite::ResetPretenureDecision(), v8::internal::AllocationSite::set_deopt_dependent_code(), and v8::internal::Isolate::stack_guard().
Referenced by EvaluateOldSpaceLocalPretenuring().
void v8::internal::Heap::RightTrimFixedArray | ( | FixedArrayBase * | obj, |
int | elements_to_trim | ||
) |
Definition at line 3322 of file heap.cc.
References v8::internal::HeapObject::address(), AdjustLiveBytes(), Contains(), CreateFillerObjectAt(), DCHECK, v8::internal::Isolate::heap_profiler(), isolate(), v8::internal::kDoubleSize, v8::internal::kPointerSize, lo_space(), v8::internal::HeapObject::map(), mode(), profiler(), and v8::internal::HeapObject::Size().
Referenced by v8::internal::MarkCompactCollector::ClearMapTransitions(), v8::internal::SharedFunctionInfo::EvictFromOptimizedCodeMap(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetLengthWithoutNormalize(), v8::internal::FixedArray::Shrink(), v8::internal::MarkCompactCollector::TrimDescriptorArray(), v8::internal::MarkCompactCollector::TrimEnumCache(), and v8::internal::SharedFunctionInfo::TrimOptimizedCodeMap().
bool v8::internal::Heap::RootCanBeTreatedAsConstant | ( | RootListIndex | root_index | ) |
Definition at line 2940 of file heap.cc.
References InNewSpace(), RootCanBeWrittenAfterInitialization(), and roots_array_start().
|
static |
Definition at line 2912 of file heap.cc.
References arraysize, and kStringTableRootIndex.
Referenced by RootCanBeTreatedAsConstant().
Heap::RootListIndex v8::internal::Heap::RootIndexForEmptyExternalArray | ( | ElementsKind | kind | ) |
Definition at line 3145 of file heap.cc.
References ELEMENT_KIND_TO_ROOT_INDEX, TYPED_ARRAYS, and UNREACHABLE.
Referenced by EmptyExternalArrayForMap().
Heap::RootListIndex v8::internal::Heap::RootIndexForEmptyFixedTypedArray | ( | ElementsKind | kind | ) |
Definition at line 3162 of file heap.cc.
References ELEMENT_KIND_TO_ROOT_INDEX, TYPED_ARRAYS, and UNREACHABLE.
Referenced by EmptyFixedTypedArrayForMap().
Heap::RootListIndex v8::internal::Heap::RootIndexForExternalArrayType | ( | ExternalArrayType | array_type | ) |
Definition at line 3106 of file heap.cc.
References ARRAY_TYPE_TO_ROOT_INDEX, TYPED_ARRAYS, and UNREACHABLE.
Referenced by MapForExternalArrayType().
Heap::RootListIndex v8::internal::Heap::RootIndexForFixedTypedArray | ( | ExternalArrayType | array_type | ) |
Definition at line 3128 of file heap.cc.
References ARRAY_TYPE_TO_ROOT_INDEX, TYPED_ARRAYS, and UNREACHABLE.
Referenced by MapForFixedTypedArray().
|
inline |
Definition at line 896 of file heap.h.
References roots_.
Referenced by v8::internal::Deserializer::ReadChunk(), RootCanBeTreatedAsConstant(), v8::internal::Serializer::RootIndex(), v8::internal::Serializer::ShouldBeSkipped(), and v8::internal::Serializer::VisitPointers().
|
private |
Definition at line 1420 of file heap.cc.
References cell_space_, v8::internal::DescriptorLookupCache::Clear(), v8::internal::MarkCompactCollector::code_flusher(), DCHECK, v8::internal::Isolate::descriptor_lookup_cache(), v8::internal::PromotionQueue::Destroy(), DoScavenge(), encountered_weak_collections_, v8::internal::NewSpace::Flip(), gc_state_, v8::internal::Isolate::global_handles(), v8::internal::GlobalHandles::IdentifyNewSpaceWeakIndependentHandles(), incremental_marking(), IncrementYoungSurvivorsCounter(), v8::internal::PromotionQueue::Initialize(), v8::internal::NewSpace::inline_allocation_limit_step(), v8::internal::MarkCompactCollector::is_code_flushing_enabled(), isolate(), isolate_, v8::internal::IsUnscavengedHeapObject(), v8::internal::GlobalHandles::IterateNewSpaceWeakIndependentRoots(), v8::internal::CodeFlusher::IteratePointersToFromSpace(), v8::internal::StoreBuffer::IteratePointersToNewSpace(), IterateRoots(), LOG, v8::internal::NewSpace::LowerInlineAllocationLimit(), mark_compact_collector(), new_space_, v8::internal::HeapObjectIterator::Next(), NOT_IN_GC, NULL, v8::internal::IncrementalMarking::PrepareForScavenge(), ProcessWeakReferences(), PromotedSpaceSizeOfObjects(), promotion_queue_, property_cell_space_, v8::internal::GlobalHandles::RemoveImplicitRefGroups(), v8::internal::GlobalHandles::RemoveObjectGroups(), v8::internal::NewSpace::ResetAllocationInfo(), SCAVENGE, ScavengeObject(), ScavengeStoreBufferCallback(), SelectScavengingVisitorsTable(), v8::internal::NewSpace::set_age_mark(), v8::internal::NewSpace::Size(), store_buffer(), v8::internal::NewSpace::top(), v8::internal::NewSpace::ToSpaceStart(), v8::internal::PropertyCell::TypeAddress(), v8::internal::IncrementalMarking::UpdateMarkingDequeAfterScavenge(), UpdateNewSpaceReferenceInExternalStringTableEntry(), UpdateNewSpaceReferencesInExternalStringTable(), v8::internal::Cell::ValueAddress(), v8::internal::VISIT_ALL_IN_SCAVENGE, and v8::internal::ScavengeVisitor::VisitPointer().
Referenced by PerformGarbageCollection().
|
inlinestatic |
Definition at line 554 of file heap-inl.h.
References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::HeapObject::GetIsolate(), v8::internal::Isolate::heap(), IGNORE_SCRATCHPAD_SLOT, InFromSpace(), v8::internal::HeapObject::map(), ScavengeObjectSlow(), and UpdateAllocationSiteFeedback().
Referenced by DoScavenge(), Scavenge(), ScavengePointer(), v8::internal::ScavengeVisitor::ScavengePointer(), and v8::internal::NewSpaceScavenger::VisitPointer().
|
staticprivate |
Definition at line 2262 of file heap.cc.
References v8::internal::HeapObject::GetIsolate(), v8::internal::Isolate::heap(), InFromSpace(), map, and SLOW_DCHECK.
Referenced by ScavengeObject().
|
inlinestatic |
Definition at line 494 of file heap-inl.h.
References ScavengeObject().
|
staticprivate |
Definition at line 1309 of file heap.cc.
References v8::internal::StoreBufferRebuilder::Callback(), and store_buffer_rebuilder_.
Referenced by DoScavenge(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), and Scavenge().
|
private |
Definition at line 236 of file heap.cc.
References v8::internal::Isolate::counters(), gc_count_, isolate_, v8::internal::MARK_COMPACTOR, v8::internal::MemoryAllocator::MaxAvailable(), v8::internal::Isolate::memory_allocator(), v8::internal::NEW_SPACE, new_space_, NULL, old_gen_exhausted_, OldGenerationAllocationLimitReached(), v8::internal::SCAVENGER, v8::internal::NewSpace::Size(), and space().
Referenced by CollectGarbage().
|
private |
Definition at line 2224 of file heap.cc.
References v8::internal::VisitorDispatchTable< Callback >::CopyFrom(), v8::internal::Isolate::cpu_profiler(), v8::internal::VisitorDispatchTable< Callback >::GetVisitorById(), v8::internal::Isolate::heap_profiler(), v8::internal::IGNORE_MARKS, incremental_marking(), v8::internal::Logger::is_logging(), v8::internal::HeapProfiler::is_tracking_object_moves(), v8::internal::IncrementalMarking::IsCompacting(), isolate(), v8::internal::Isolate::logger(), v8::internal::LOGGING_AND_PROFILING_DISABLED, v8::internal::LOGGING_AND_PROFILING_ENABLED, NULL, v8::internal::VisitorDispatchTable< Callback >::Register(), scavenging_visitors_table_, and v8::internal::TRANSFER_MARKS.
Referenced by Scavenge().
|
inlinestaticprivate |
Definition at line 1649 of file heap.h.
References DCHECK, v8::internal::Page::kMaxRegularHeapObjectSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, and v8::internal::TENURED.
Referenced by AllocateByteArray(), AllocateConstantPoolArray(), AllocateExtendedConstantPoolArray(), AllocateExternalArray(), AllocateFixedTypedArray(), AllocateHeapNumber(), AllocateInternalizedStringImpl(), AllocateJSObjectFromMap(), AllocateOneByteInternalizedString(), AllocateRawFixedArray(), AllocateRawFixedDoubleArray(), AllocateRawOneByteString(), AllocateRawTwoByteString(), AllocateStruct(), and AllocateTwoByteInternalizedString().
|
inline |
Definition at line 798 of file heap.h.
References allocation_sites_list_.
Referenced by CreateHeapObjects(), v8::internal::Deserializer::Deserialize(), Heap(), ProcessAllocationSites(), and v8::internal::Deserializer::RelinkAllocationSite().
|
inline |
Definition at line 795 of file heap.h.
References array_buffers_list_.
Referenced by CreateHeapObjects(), v8::internal::Deserializer::Deserialize(), Heap(), ProcessArrayBuffers(), v8::internal::Runtime::SetupArrayBuffer(), and TearDownArrayBuffers().
|
inline |
Definition at line 808 of file heap.h.
References encountered_weak_collections_.
Referenced by v8::internal::MarkCompactCollector::AbortWeakCollections(), v8::internal::MarkCompactCollector::ClearWeakCollections(), Heap(), and v8::internal::StaticMarkingVisitor< IncrementalMarkingMarkingVisitor >::MarkInlinedFunctionsCode().
|
inline |
Definition at line 790 of file heap.h.
References native_contexts_list_.
Referenced by v8::internal::AddToWeakNativeContextList(), CreateHeapObjects(), v8::internal::Deserializer::Deserialize(), Heap(), and ProcessNativeContexts().
|
inlineprivate |
Definition at line 1935 of file heap.h.
References DCHECK, InNewSpace(), and weak_object_to_code_table_.
Referenced by AddWeakObjectToCodeDependency(), EnsureWeakObjectToCodeTable(), and InitializeWeakObjectToCodeTable().
|
inline |
Definition at line 1243 of file heap.h.
References DCHECK, and v8::internal::Smi::FromInt().
|
inline |
Definition at line 1248 of file heap.h.
References DCHECK, and v8::internal::Smi::FromInt().
|
inline |
Definition at line 1253 of file heap.h.
References DCHECK, and v8::internal::Smi::FromInt().
|
inline |
Definition at line 1258 of file heap.h.
References DCHECK, and v8::internal::Smi::FromInt().
void v8::internal::Heap::SetStackLimits | ( | ) |
Definition at line 5173 of file heap.cc.
References DCHECK, isolate(), isolate_, v8::internal::kSmiTag, v8::internal::kSmiTagMask, NULL, roots_, and v8::internal::Isolate::stack_guard().
Referenced by v8::internal::Isolate::Init().
bool v8::internal::Heap::SetUp | ( | ) |
Definition at line 5059 of file heap.cc.
References Available(), v8::base::CallOnce(), Capacity(), v8::internal::CELL_SPACE, cell_space_, v8::internal::Isolate::code_range(), code_range_size_, v8::internal::CODE_SPACE, code_space_, configured_, ConfigureHeapDefault(), DCHECK, v8::internal::EXECUTABLE, v8::internal::Smi::FromInt(), v8::internal::InitializeGCOnce(), isolate(), isolate_, v8::internal::Name::kHashBitMask, v8::internal::LO_SPACE, lo_space_, LOG, v8::internal::MAP_SPACE, map_space_, mark_compact_collector(), MarkMapPointersAsEncoded(), max_old_generation_size_, max_semi_space_size_, MaxExecutableSize(), MaxReserved(), v8::internal::Isolate::memory_allocator(), new_space(), new_space_, new_space_top_after_last_gc_, v8::internal::NOT_EXECUTABLE, NULL, v8::internal::OLD_DATA_SPACE, old_data_space_, v8::internal::OLD_POINTER_SPACE, old_pointer_space_, v8::internal::PROPERTY_CELL_SPACE, property_cell_space_, v8::internal::Isolate::random_number_generator(), reserved_semispace_size_, v8::internal::MarkCompactCollector::SetUp(), v8::internal::PagedSpace::SetUp(), v8::internal::LargeObjectSpace::SetUp(), v8::internal::StoreBuffer::SetUp(), v8::internal::NewSpace::SetUp(), v8::internal::MemoryAllocator::SetUp(), v8::internal::CodeRange::SetUp(), store_buffer(), and v8::internal::NewSpace::top().
Referenced by v8::internal::Isolate::Init().
Definition at line 370 of file heap-inl.h.
References v8::internal::NewSpace::age_mark(), v8::internal::MemoryChunk::ContainsLimit(), v8::internal::NewSpacePage::FromAddress(), v8::internal::MemoryChunk::IsFlagSet(), new_space_, and v8::internal::MemoryChunk::NEW_SPACE_BELOW_AGE_MARK.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateObject().
|
inlinestatic |
Definition at line 926 of file heap.h.
Referenced by v8::internal::SharedFunctionInfo::AddToOptimizedCodeMap(), AddWeakObjectToCodeDependency(), v8::internal::MemoryAllocator::AllocateChunk(), v8::internal::LargeObjectSpace::AllocateRaw(), v8::internal::MemoryChunk::CommitArea(), v8::internal::MemoryAllocator::CommitBlock(), and GarbageCollectionEpilogue().
intptr_t v8::internal::Heap::SizeOfObjects | ( | ) |
Definition at line 460 of file heap.cc.
Referenced by EvaluateOldSpaceLocalPretenuring(), GarbageCollectionEpilogue(), v8::Isolate::GetHeapStatistics(), IdleNotification(), MarkCompact(), PrintShortHeapStatistics(), v8::internal::GCTracer::Start(), v8::internal::GCTracer::Stop(), and UpdateCumulativeGCStatistics().
v8::internal::Heap::STATIC_ASSERT | ( | kempty_stringRootIndex | = =Internals::kEmptyStringRootIndex | ) |
v8::internal::Heap::STATIC_ASSERT | ( | kFalseValueRootIndex | = =Internals::kFalseValueRootIndex | ) |
v8::internal::Heap::STATIC_ASSERT | ( | kNullValueRootIndex | = =Internals::kNullValueRootIndex | ) |
v8::internal::Heap::STATIC_ASSERT | ( | kTrueValueRootIndex | = =Internals::kTrueValueRootIndex | ) |
v8::internal::Heap::STATIC_ASSERT | ( | kUndefinedValueRootIndex | = =Internals::kUndefinedValueRootIndex | ) |
Referenced by AllocateCell(), AllocateForeign(), AllocateHeapNumber(), AllocatePropertyCell(), AllocateSymbol(), LeftTrimFixedArray(), and UpdateAllocationsHash().
|
inline |
Definition at line 1201 of file heap.h.
References store_buffer_.
Referenced by DoScavenge(), v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates(), FreeQueuedChunks(), GarbageCollectionEpilogue(), GarbageCollectionPrologue(), v8::internal::MarkCompactCollector::RecordMigratedSlot(), Scavenge(), SetUp(), v8::internal::StoreBuffer::StoreBufferOverflow(), and TearDown().
|
inline |
|
inline |
Definition at line 1212 of file heap.h.
References sweep_generation_.
Referenced by v8::internal::MarkCompactMarkingVisitor::UpdateRegExpCodeAgeAndFlush().
|
inline |
Definition at line 943 of file heap.h.
References allocations_count_.
Referenced by v8::Shell::PerformanceNow().
|
inline |
Definition at line 392 of file heap-inl.h.
References old_data_space_, v8::internal::OLD_POINTER_SPACE, old_pointer_space_, space(), and TargetSpaceId().
Referenced by v8::internal::MarkCompactCollector::TryPromoteObject().
|
inlinestatic |
Definition at line 399 of file heap-inl.h.
References v8::internal::CELL_TYPE, v8::internal::CODE_TYPE, DCHECK, v8::internal::FIRST_NONSTRING_TYPE, v8::internal::kIsIndirectStringMask, v8::internal::kIsIndirectStringTag, v8::internal::LAST_DATA_TYPE, v8::internal::LAST_NAME_TYPE, v8::internal::MAP_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, v8::internal::PROPERTY_CELL_TYPE, and v8::internal::SYMBOL_TYPE.
Referenced by Allocate(), AllowedToBeMigrated(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ComputeFlags(), and TargetSpace().
void v8::internal::Heap::TearDown | ( | ) |
Definition at line 5188 of file heap.cc.
References cell_space_, code_space_, v8::internal::GCTracer::cumulative_sweeping_duration(), external_string_table_, gc_count_, get_max_alive_after_gc(), get_max_gc_pause(), get_min_in_mutator(), v8::internal::Isolate::global_handles(), incremental_marking(), isolate_, lo_space_, map_space_, mark_compact_collector(), MaximumCommittedMemory(), v8::internal::PagedSpace::MaximumCommittedMemory(), v8::internal::NewSpace::MaximumCommittedMemory(), v8::internal::LargeObjectSpace::MaximumCommittedMemory(), v8::internal::Isolate::memory_allocator(), ms_count_, new_space_, NULL, old_data_space_, old_pointer_space_, PrintAlloctionsHash(), v8::internal::PrintF(), property_cell_space_, store_buffer(), v8::internal::GlobalHandles::TearDown(), v8::internal::ExternalStringTable::TearDown(), v8::internal::IncrementalMarking::TearDown(), v8::internal::MarkCompactCollector::TearDown(), v8::internal::MemoryAllocator::TearDown(), v8::internal::PagedSpace::TearDown(), v8::internal::NewSpace::TearDown(), v8::internal::LargeObjectSpace::TearDown(), v8::internal::StoreBuffer::TearDown(), TearDownArrayBuffers(), total_gc_time_ms_, tracer_, UpdateMaximumCommitted(), and V8_PTR_PREFIX.
Referenced by v8::internal::Isolate::Deinit().
|
private |
Definition at line 1649 of file heap.cc.
References array_buffers_list(), v8::internal::Runtime::FreeArrayBuffer(), isolate(), and set_array_buffers_list().
Referenced by TearDown().
Definition at line 706 of file heap-inl.h.
Referenced by v8::internal::GetOwnProperty(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 1171 of file heap.h.
References total_regexp_code_generated_.
Referenced by v8::internal::RegExpCompiler::Assemble().
|
inline |
Definition at line 1166 of file heap.h.
References tracer_.
Referenced by CollectGarbage(), v8::internal::IncrementalMarking::Hurry(), IdleNotification(), v8::internal::MarkCompactCollector::MarkLiveObjects(), PerformGarbageCollection(), v8::internal::IncrementalMarking::Step(), and v8::internal::MarkCompactCollector::SweepSpaces().
|
inlineprivate |
Definition at line 1840 of file heap.h.
References new_space_, and v8::internal::NewSpace::UncommitFromSpace().
Referenced by AdvanceIdleIncrementalMarking(), and CollectAllAvailableGarbage().
|
inlineprivate |
Definition at line 277 of file heap-inl.h.
References v8::internal::MemoryChunk::address(), v8::internal::MemoryChunk::FromAddress(), v8::internal::Space::identity(), kPageSizeBits, v8::internal::kSpaceTagSize, v8::internal::MemoryChunk::owner(), and STATIC_ASSERT().
Referenced by OnAllocationEvent(), and OnMoveEvent().
|
inlineprivate |
|
inlinestatic |
Definition at line 536 of file heap-inl.h.
References AddAllocationSiteToScratchpad(), v8::internal::AllocationSite::CanTrack(), DCHECK, FindAllocationMemento(), v8::internal::AllocationMemento::GetAllocationSite(), v8::internal::AllocationSite::IncrementMementoFoundCount(), InFromSpace(), v8::internal::Map::instance_type(), v8::internal::HeapObject::map(), mode(), and NULL.
Referenced by v8::internal::MarkCompactCollector::DiscoverAndEvacuateBlackObjectsOnPage(), and ScavengeObject().
void v8::internal::Heap::UpdateCumulativeGCStatistics | ( | double | duration, |
double | spent_in_mutator, | ||
double | marking_time | ||
) |
Definition at line 5881 of file heap.cc.
References marking_time_, v8::internal::Max(), max_alive_after_gc_, max_gc_pause_, v8::internal::Min(), min_in_mutator_, SizeOfObjects(), and total_gc_time_ms_.
Referenced by v8::internal::GCTracer::Stop().
void v8::internal::Heap::UpdateMaximumCommitted | ( | ) |
Definition at line 201 of file heap.cc.
References CommittedMemory(), HasBeenSetUp(), and maximum_committed_.
Referenced by GarbageCollectionEpilogue(), GarbageCollectionPrologue(), and TearDown().
|
staticprivate |
Definition at line 1561 of file heap.cc.
References FinalizeExternalString(), v8::internal::HeapObject::map_word(), and NULL.
Referenced by Scavenge().
void v8::internal::Heap::UpdateNewSpaceReferencesInExternalStringTable | ( | ExternalStringTableUpdaterCallback | updater_func | ) |
Definition at line 1576 of file heap.cc.
References v8::internal::ExternalStringTable::AddOldString(), DCHECK, external_string_table_, InFromSpace(), InNewSpace(), v8::internal::ExternalStringTable::new_space_strings_, NULL, v8::internal::ExternalStringTable::ShrinkNewStrings(), and v8::internal::ExternalStringTable::Verify().
Referenced by Scavenge(), and UpdateReferencesInExternalStringTable().
|
inlineprivate |
void v8::internal::Heap::UpdateReferencesInExternalStringTable | ( | ExternalStringTableUpdaterCallback | updater_func | ) |
Definition at line 1613 of file heap.cc.
References external_string_table_, v8::internal::ExternalStringTable::old_space_strings_, and UpdateNewSpaceReferencesInExternalStringTable().
Referenced by v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates().
|
private |
Definition at line 1023 of file heap.cc.
References high_survival_rate_period_length_, kYoungSurvivalRateHighThreshold, promoted_objects_size_, promotion_rate_, semi_space_copied_object_size_, and semi_space_copied_rate_.
Referenced by PerformGarbageCollection().
void v8::internal::Heap::VisitExternalResources | ( | v8::ExternalResourceVisitor * | visitor | ) |
Definition at line 1707 of file heap.cc.
References DCHECK, external_string_table_, v8::internal::ExternalStringTable::Iterate(), and v8::Utils::ToLocal().
Referenced by v8::V8::VisitExternalResources().
|
inline |
Definition at line 806 of file heap.h.
References weak_object_to_code_table_.
Referenced by v8::internal::MarkCompactCollector::ClearNonLiveReferences(), EnsureWeakObjectToCodeTable(), and v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates().
|
inlineprivate |
Definition at line 1940 of file heap.h.
References weak_object_to_code_table_.
Referenced by v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates().
|
private |
Definition at line 4290 of file heap.cc.
References incremental_marking(), v8::internal::IncrementalMarking::IsStopped(), NextGCIsLikelyToBeFull(), and v8::internal::IncrementalMarking::WorthActivating().
Referenced by CollectGarbage().
|
private |
Definition at line 4527 of file heap.cc.
References v8::internal::Memory::Address_at(), v8::internal::MemoryChunk::area_end(), v8::internal::MemoryChunk::area_start(), v8::internal::NewSpace::FromSpaceEnd(), v8::internal::NewSpace::FromSpaceStart(), v8::internal::kFromSpaceZapValue, v8::internal::kPointerSize, and new_space_.
Referenced by GarbageCollectionEpilogue().
|
friend |
|
friend |
|
friend |
Definition at line 2025 of file heap.h.
Referenced by CreateApiObjects(), and CreateInitialObjects().
|
friend |
|
friend |
Definition at line 2028 of file heap.h.
Referenced by RecordStats().
|
friend |
|
friend |
|
private |
Definition at line 1527 of file heap.h.
Referenced by allocation_sites_list(), allocation_sites_list_address(), and set_allocation_sites_list().
|
private |
Definition at line 2001 of file heap.h.
Referenced by AddAllocationSiteToScratchpad(), FlushAllocationSitesScratchpad(), and ProcessPretenuringFeedback().
|
private |
Definition at line 1470 of file heap.h.
Referenced by allocations_count(), OnAllocationEvent(), OnMoveEvent(), PrintAlloctionsHash(), and synthetic_time().
|
private |
Definition at line 1443 of file heap.h.
Referenced by always_allocate(), always_allocate_scope_depth_address(), v8::internal::AlwaysAllocateScope::AlwaysAllocateScope(), and v8::internal::AlwaysAllocateScope::~AlwaysAllocateScope().
|
private |
Definition at line 1417 of file heap.h.
Referenced by amount_of_external_allocated_memory(), v8::internal::Isolate::Init(), PerformGarbageCollection(), PrintShortHeapStatistics(), and PromotedExternalMemorySize().
|
private |
Definition at line 1420 of file heap.h.
Referenced by v8::internal::Isolate::Init(), PerformGarbageCollection(), and PromotedExternalMemorySize().
|
private |
Definition at line 1526 of file heap.h.
Referenced by array_buffers_list(), and set_array_buffers_list().
|
private |
Definition at line 1459 of file heap.h.
Referenced by AllocateRaw(), Available(), Capacity(), cell_space(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InSpace(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), RecordStats(), Scavenge(), SetUp(), and TearDown().
|
private |
Definition at line 2017 of file heap.h.
Referenced by FreeQueuedChunks(), and QueueMemoryChunkForFree().
|
private |
Definition at line 1428 of file heap.h.
Referenced by ConfigureHeap(), and SetUp().
|
private |
Definition at line 1457 of file heap.h.
Referenced by AllocateCode(), AllocateRaw(), Available(), Capacity(), code_space(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InSpace(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), RecordStats(), SetUp(), and TearDown().
|
private |
Definition at line 2011 of file heap.h.
Referenced by ConfigureHeap(), and SetUp().
|
staticprivate |
Definition at line 1559 of file heap.h.
Referenced by CreateInitialObjects().
|
private |
Definition at line 1446 of file heap.h.
Referenced by IdleNotification(), and NotifyContextDisposed().
|
private |
Definition at line 1989 of file heap.h.
Referenced by GarbageCollectionEpilogue(), and IncrementCodeGeneratedBytes().
|
private |
Definition at line 1476 of file heap.h.
Referenced by OnAllocationEvent(), and OnMoveEvent().
|
private |
Definition at line 1537 of file heap.h.
Referenced by encountered_weak_collections(), Scavenge(), and set_encountered_weak_collections().
|
private |
Definition at line 2013 of file heap.h.
Referenced by v8::internal::MarkCompactCollector::AfterMarking(), external_string_table(), IterateWeakRoots(), TearDown(), UpdateNewSpaceReferencesInExternalStringTable(), UpdateReferencesInExternalStringTable(), and VisitExternalResources().
|
private |
Definition at line 1450 of file heap.h.
Referenced by flush_monomorphic_ics(), MarkCompact(), and NotifyContextDisposed().
|
private |
Definition at line 1988 of file heap.h.
Referenced by GarbageCollectionEpilogue(), and IncrementCodeGeneratedBytes().
|
private |
Definition at line 2021 of file heap.h.
Referenced by v8::internal::GCCallbacksScope::CheckReenter(), v8::internal::GCCallbacksScope::GCCallbacksScope(), and v8::internal::GCCallbacksScope::~GCCallbacksScope().
|
private |
Definition at line 1482 of file heap.h.
Referenced by AdvanceIdleIncrementalMarking(), CreateHeapObjects(), GarbageCollectionPrologue(), gc_count(), NextGCIsLikelyToBeFull(), SelectGarbageCollector(), and TearDown().
|
private |
Definition at line 1985 of file heap.h.
Referenced by AdvanceIdleIncrementalMarking().
|
private |
Definition at line 1594 of file heap.h.
Referenced by AddGCEpilogueCallback(), CallGCEpilogueCallbacks(), and RemoveGCEpilogueCallback().
|
private |
Definition at line 1984 of file heap.h.
Referenced by AdvanceIdleIncrementalMarking(), and IdleNotification().
|
private |
Definition at line 1463 of file heap.h.
Referenced by IsInGCPostProcessing(), and PerformGarbageCollection().
|
private |
Definition at line 1580 of file heap.h.
Referenced by AddGCPrologueCallback(), CallGCPrologueCallbacks(), and RemoveGCPrologueCallback().
|
private |
Definition at line 1597 of file heap.h.
Referenced by GcSafeSizeOfOldObjectFunction(), and MarkMapPointersAsEncoded().
|
private |
Definition at line 1462 of file heap.h.
Referenced by Allocate(), AllocateRaw(), GarbageCollectionPrologue(), gc_state(), InNewSpace(), MarkCompact(), and Scavenge().
|
private |
Definition at line 1994 of file heap.h.
Referenced by GarbageCollectionEpilogue().
|
private |
Definition at line 1448 of file heap.h.
Referenced by AgeInlineCaches(), AllocateCode(), and global_ic_age().
|
private |
Definition at line 1564 of file heap.h.
Referenced by CreateInitialObjects(), hidden_string(), and IterateStrongRoots().
|
private |
Definition at line 1908 of file heap.h.
Referenced by IsHighSurvivalRate(), and UpdateSurvivalStatistics().
|
private |
Definition at line 1982 of file heap.h.
Referenced by incremental_marking().
|
private |
Definition at line 1431 of file heap.h.
Referenced by ConfigureHeap(), and InitialSemiSpaceSize().
|
private |
Definition at line 1521 of file heap.h.
Referenced by DisableInlineAllocation(), EnableInlineAllocation(), and inline_allocation_disabled().
|
private |
Definition at line 1424 of file heap.h.
Referenced by AdvanceIdleIncrementalMarking(), AllocateCode(), AllocateRaw(), ClearJSFunctionResultCaches(), ClearNormalizedMapCaches(), CollectAllAvailableGarbage(), CollectGarbage(), Contains(), CopyCode(), CreateInitialObjects(), DeoptMarkedAllocationSites(), FreeQueuedChunks(), GarbageCollectionEpilogue(), IdleNotification(), InSpace(), v8::internal::Isolate::Isolate(), IterateStrongRoots(), MarkCompact(), MarkCompactPrologue(), OnAllocationEvent(), OnMoveEvent(), PerformGarbageCollection(), PrintShortHeapStatistics(), ProcessPretenuringFeedback(), RecordStats(), ResetAllAllocationSitesDependentCode(), Scavenge(), SelectGarbageCollector(), SetStackLimits(), SetUp(), and TearDown().
|
static |
Definition at line 718 of file heap.h.
Referenced by v8::internal::AbortIncrementalMarkingAndCollectGarbage(), v8::Isolate::RequestGarbageCollectionForTesting(), and v8::internal::MarkCompactCollector::SetFlags().
|
staticprivate |
Definition at line 2000 of file heap.h.
Referenced by AddAllocationSiteToScratchpad(), CreateInitialObjects(), InitializeAllocationSitesScratchpad(), and ProcessPretenuringFeedback().
|
static |
|
static |
Definition at line 677 of file heap.h.
Referenced by v8::internal::BUILTIN().
|
staticprivate |
|
staticprivate |
|
staticprivate |
Definition at line 1950 of file heap.h.
Referenced by CreateInitialObjects(), and FullSizeNumberStringCacheLength().
|
staticprivate |
Definition at line 1948 of file heap.h.
Referenced by CreateInitialObjects().
|
static |
Definition at line 721 of file heap.h.
Referenced by CollectAllAvailableGarbage(), v8::internal::HeapSnapshotGenerator::GenerateSnapshot(), v8::internal::Logger::LogAccessorCallbacks(), v8::internal::Logger::LogCodeObjects(), v8::internal::Logger::LogCompiledFunctions(), MakeHeapIterable(), v8::internal::Debug::PrepareForBreakPoints(), v8::internal::RUNTIME_FUNCTION(), v8::internal::ScriptCache::ScriptCache(), and v8::internal::HeapObjectsMap::UpdateHeapObjectsMap().
|
static |
Definition at line 1035 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1037 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1032 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1033 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
staticprivate |
|
static |
Definition at line 1027 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1028 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1024 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1025 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults(), and OldGenerationAllocationLimit().
|
static |
Definition at line 1019 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1020 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1017 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1018 of file heap.h.
Referenced by v8::ResourceConstraints::ConfigureDefaults().
|
static |
Definition at line 1011 of file heap.h.
Referenced by OldGenerationAllocationLimit().
|
static |
Definition at line 716 of file heap.h.
Referenced by v8::internal::AbortIncrementalMarkingAndCollectGarbage(), CollectAllAvailableGarbage(), v8::Isolate::CollectAllGarbage(), CollectAllGarbage(), v8::internal::StatisticsExtension::GetCounters(), v8::internal::Debug::GetLoadedScripts(), main(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1235 of file heap.h.
Referenced by v8::internal::Deserializer::ReadChunk().
|
staticprivate |
Definition at line 1906 of file heap.h.
Referenced by EvaluateOldSpaceLocalPretenuring().
|
static |
|
static |
Definition at line 717 of file heap.h.
Referenced by AdvanceIdleIncrementalMarking(), CollectAllAvailableGarbage(), IdleNotification(), and v8::internal::MarkCompactCollector::SetFlags().
|
staticprivate |
Definition at line 1485 of file heap.h.
Referenced by RememberUnmappedPage().
|
static |
|
static |
|
staticprivate |
|
staticprivate |
Definition at line 1903 of file heap.h.
Referenced by UpdateSurvivalStatistics().
|
private |
Definition at line 1461 of file heap.h.
Referenced by AllocateCode(), AllocateRaw(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InSpace(), lo_space(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), RecordStats(), SetUp(), and TearDown().
|
private |
Definition at line 1458 of file heap.h.
Referenced by AllocateRaw(), Available(), Capacity(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InSpace(), map_space(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), RecordStats(), SetUp(), and TearDown().
|
private |
Definition at line 1976 of file heap.h.
Referenced by CollectAllGarbage(), mark_compact_collector(), and MarkCompact().
|
private |
|
private |
Definition at line 1971 of file heap.h.
Referenced by UpdateCumulativeGCStatistics().
|
private |
Definition at line 1965 of file heap.h.
Referenced by get_max_alive_after_gc(), and UpdateCumulativeGCStatistics().
|
private |
Definition at line 1433 of file heap.h.
Referenced by ConfigureHeap(), and MaxExecutableSize().
|
private |
Definition at line 1959 of file heap.h.
Referenced by get_max_gc_pause(), and UpdateCumulativeGCStatistics().
|
private |
Definition at line 1432 of file heap.h.
Referenced by ConfigureHeap(), MaxOldGenerationSize(), MaxReserved(), OldGenerationAllocationLimit(), OldGenerationCapacityAvailable(), and SetUp().
|
private |
Definition at line 1430 of file heap.h.
Referenced by ConfigureHeap(), FullSizeNumberStringCacheLength(), Heap(), MaxSemiSpaceSize(), and SetUp().
|
private |
Definition at line 1434 of file heap.h.
Referenced by MaximumCommittedMemory(), and UpdateMaximumCommitted().
|
private |
Definition at line 1921 of file heap.h.
Referenced by DeoptMaybeTenuredAllocationSites(), GarbageCollectionPrologue(), and MaximumSizeScavenge().
|
private |
Definition at line 1968 of file heap.h.
Referenced by get_min_in_mutator(), and UpdateCumulativeGCStatistics().
|
private |
Definition at line 1479 of file heap.h.
Referenced by MarkCompact(), ms_count(), and TearDown().
|
private |
Definition at line 1525 of file heap.h.
Referenced by native_contexts_list(), and set_native_contexts_list().
|
private |
Definition at line 1454 of file heap.h.
Referenced by AdvanceIdleIncrementalMarking(), AllocateRaw(), Available(), Capacity(), CheckNewSpaceExpansionCriteria(), CollectAllAvailableGarbage(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), DeoptMaybeTenuredAllocationSites(), DoScavenge(), EnsureFillerObjectAtTop(), EnsureFromSpaceIsCommitted(), GarbageCollectionPrologue(), IdleNotification(), InFromSpace(), InNewSpace(), InSpace(), InToSpace(), new_space(), NewSpaceAllocationLimitAddress(), NewSpaceAllocationTopAddress(), NewSpaceMask(), NewSpaceStart(), NewSpaceTop(), NextGCIsLikelyToBeFull(), OldGenerationAllocationLimit(), PrintShortHeapStatistics(), RecordStats(), ReportStatisticsAfterGC(), ReportStatisticsBeforeGC(), Scavenge(), SelectGarbageCollector(), SetUp(), ShouldBePromoted(), TearDown(), UncommitFromSpace(), and ZapFromSpace().
|
private |
Definition at line 1464 of file heap.h.
Referenced by GarbageCollectionEpilogue(), IsHeapIterable(), and SetUp().
|
private |
Definition at line 1914 of file heap.h.
Referenced by GarbageCollectionPrologue(), IncrementNodesCopiedInNewSpace(), and v8::internal::GCTracer::PrintNVP().
|
private |
Definition at line 1913 of file heap.h.
Referenced by GarbageCollectionPrologue(), IncrementNodesDiedInNewSpace(), and v8::internal::GCTracer::PrintNVP().
|
private |
Definition at line 1915 of file heap.h.
Referenced by GarbageCollectionPrologue(), IncrementNodesPromoted(), and v8::internal::GCTracer::PrintNVP().
|
private |
Definition at line 1953 of file heap.h.
Referenced by CheckpointObjectStats(), ClearObjectStats(), RecordCodeSubTypeStats(), RecordFixedArraySubTypeStats(), and RecordObjectStats().
|
private |
Definition at line 1954 of file heap.h.
Referenced by CheckpointObjectStats(), and ClearObjectStats().
|
private |
Definition at line 1955 of file heap.h.
Referenced by CheckpointObjectStats(), ClearObjectStats(), RecordCodeSubTypeStats(), RecordFixedArraySubTypeStats(), and RecordObjectStats().
|
private |
Definition at line 1956 of file heap.h.
Referenced by CheckpointObjectStats(), and ClearObjectStats().
|
private |
Definition at line 1456 of file heap.h.
Referenced by AllocateRaw(), Available(), Capacity(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InOldDataSpace(), InSpace(), old_data_space(), OldDataSpaceAllocationLimitAddress(), OldDataSpaceAllocationTopAddress(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), RecordStats(), SetUp(), TargetSpace(), and TearDown().
|
private |
Definition at line 1517 of file heap.h.
Referenced by AllocateRaw(), PerformGarbageCollection(), and SelectGarbageCollector().
|
private |
Definition at line 1513 of file heap.h.
Referenced by NextGCIsLikelyToBeFull(), OldGenerationSpaceAvailable(), and PerformGarbageCollection().
|
private |
Definition at line 1455 of file heap.h.
Referenced by AllocateRaw(), Available(), Capacity(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InOldPointerSpace(), InSpace(), old_pointer_space(), OldPointerSpaceAllocationLimitAddress(), OldPointerSpaceAllocationTopAddress(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), RecordStats(), SetUp(), TargetSpace(), and TearDown().
|
private |
Definition at line 1909 of file heap.h.
Referenced by GarbageCollectionPrologue(), IncrementPromotedObjectsSize(), v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2007 of file heap.h.
Referenced by promotion_queue(), and Scavenge().
|
private |
Definition at line 1910 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 1460 of file heap.h.
Referenced by AllocateRaw(), Available(), Capacity(), CommittedMemory(), CommittedPhysicalMemory(), Contains(), HasBeenSetUp(), InSpace(), PrintShortHeapStatistics(), PromotedSpaceSizeOfObjects(), property_cell_space(), RecordStats(), Scavenge(), SetUp(), and TearDown().
|
private |
Definition at line 1473 of file heap.h.
Referenced by PrintAlloctionsHash(), and UpdateAllocationsHash().
|
private |
Definition at line 2019 of file heap.h.
Referenced by v8::internal::Heap::RelocationLock::RelocationLock(), and v8::internal::Heap::RelocationLock::~RelocationLock().
|
private |
Definition at line 1487 of file heap.h.
Referenced by RememberUnmappedPage().
|
private |
Definition at line 1486 of file heap.h.
Referenced by RememberUnmappedPage().
|
private |
Definition at line 1429 of file heap.h.
Referenced by ConfigureHeap(), Heap(), MaxReserved(), ReservedSemiSpaceSize(), and SetUp().
|
private |
Definition at line 1426 of file heap.h.
Referenced by CreateInitialMaps(), CreateInitialObjects(), EmptyExternalArrayForMap(), EmptyFixedTypedArrayForMap(), Heap(), v8::internal::Isolate::Init(), IterateSmiRoots(), IterateStrongRoots(), IterateWeakRoots(), MapForExternalArrayType(), MapForFixedTypedArray(), public_set_code_stubs(), public_set_empty_script(), public_set_materialized_objects(), public_set_non_monomorphic_cache(), public_set_store_buffer_top(), roots_array_start(), SetStackLimits(), and store_buffer_top_address().
|
private |
Definition at line 1452 of file heap.h.
Referenced by decrement_scan_on_scavenge_pages(), and increment_scan_on_scavenge_pages().
|
private |
Definition at line 2015 of file heap.h.
Referenced by DoScavengeObject(), and SelectScavengingVisitorsTable().
|
private |
Definition at line 1911 of file heap.h.
Referenced by GarbageCollectionPrologue(), IncrementSemiSpaceCopiedObjectSize(), v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 1912 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 1978 of file heap.h.
Referenced by IterateAndMarkPointersToFromSpace(), and store_buffer().
|
private |
Definition at line 1539 of file heap.h.
Referenced by ScavengeStoreBufferCallback().
|
staticprivate |
Definition at line 1558 of file heap.h.
Referenced by CreateInitialMaps().
|
staticprivate |
Definition at line 1560 of file heap.h.
Referenced by CreateInitialMaps().
|
private |
Definition at line 1438 of file heap.h.
Referenced by CheckNewSpaceExpansionCriteria(), and IncrementYoungSurvivorsCounter().
|
private |
Definition at line 1441 of file heap.h.
Referenced by PerformGarbageCollection(), and sweep_generation().
|
private |
Definition at line 1962 of file heap.h.
Referenced by PrintShortHeapStatistics(), TearDown(), and UpdateCumulativeGCStatistics().
|
private |
Definition at line 1882 of file heap.h.
Referenced by IncreaseTotalRegexpCodeGenerated(), and total_regexp_code_generated().
|
private |
Definition at line 1884 of file heap.h.
Referenced by TearDown(), and tracer().
|
private |
Definition at line 1490 of file heap.h.
Referenced by GarbageCollectionPrologue().
|
private |
Definition at line 1532 of file heap.h.
Referenced by AddWeakObjectToCodeDependency(), CreateHeapObjects(), LookupWeakObjectToCodeDependency(), set_weak_object_to_code_table(), weak_object_to_code_table(), and weak_object_to_code_table_address().