v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <heap.h>
Data Structures | |
class | RelocationLock |
Public Types | |
enum | HeapState { NOT_IN_GC, SCAVENGE, MARK_COMPACT } |
enum | RootListIndex { kSymbolTableRootIndex, kStrongRootListLength = kSymbolTableRootIndex, kRootListLength } |
enum | { FIRST_CODE_KIND_SUB_TYPE = LAST_TYPE + 1, FIRST_FIXED_ARRAY_SUB_TYPE, OBJECT_STATS_COUNT } |
Static Public Member Functions | |
static bool | ShouldZapGarbage () |
static void | ScavengePointer (HeapObject **p) |
static void | ScavengeObject (HeapObject **p, HeapObject *object) |
static void | CopyBlock (Address dst, Address src, int byte_size) |
static void | MoveBlock (Address dst, Address src, int byte_size) |
Static Public Attributes | |
static const int | kArgumentsObjectSize |
static const int | kArgumentsObjectSizeStrict |
static const int | kArgumentsLengthIndex = 0 |
static const int | kArgumentsCalleeIndex = 1 |
static const int | kNoGCFlags = 0 |
static const int | kSweepPreciselyMask = 1 |
static const int | kReduceMemoryFootprintMask = 2 |
static const int | kAbortIncrementalMarkingMask = 4 |
static const int | kMakeHeapIterableMask |
static const intptr_t | kMinimumPromotionLimit = 5 * Page::kPageSize |
static const intptr_t | kMinimumAllocationLimit |
static const int | kOldSpaceRoots = 0x20 |
Friends | |
class | Factory |
class | GCTracer |
class | DisallowAllocationFailure |
class | AlwaysAllocateScope |
class | Page |
class | Isolate |
class | MarkCompactCollector |
class | MarkCompactMarkingVisitor |
class | MapCompact |
anonymous enum |
enum RootListIndex |
void AddGCEpilogueCallback | ( | GCEpilogueCallback | callback, |
GCType | gc_type_filter | ||
) |
Definition at line 6376 of file heap.cc.
References List< T, P >::Add(), ASSERT, List< T, P >::Contains(), and v8::internal::NULL.
Referenced by V8::AddGCEpilogueCallback().
void AddGCPrologueCallback | ( | GCPrologueCallback | callback, |
GCType | gc_type_filter | ||
) |
Definition at line 6356 of file heap.cc.
References List< T, P >::Add(), ASSERT, List< T, P >::Contains(), and v8::internal::NULL.
Referenced by V8::AddGCPrologueCallback().
|
inline |
Definition at line 459 of file heap-inl.h.
References ASSERT, Heap::CollectAllGarbage(), Heap::HasBeenSetUp(), Heap::isolate(), Heap::kNoGCFlags, v8::internal::PrintF(), v8::internal::PrintPID(), V8_PTR_PREFIX, and V8PRIxPTR.
Referenced by V8::AdjustAmountOfExternalAllocatedMemory().
|
inline |
Definition at line 1562 of file heap.h.
References PagedSpace::AdvanceSweeper(), Heap::old_data_space(), and Heap::old_pointer_space().
Referenced by Heap::IdleNotification(), and IncrementalMarking::Step().
|
inline |
Definition at line 1638 of file heap.h.
References BitField< int, 22, 8 >::kMax.
Referenced by Heap::IdleNotification().
MaybeObject * Allocate | ( | Map * | map, |
AllocationSpace | space | ||
) |
Definition at line 3749 of file heap.cc.
References Heap::AllocateRaw(), ASSERT, HeapObject::cast(), Map::instance_size(), Map::instance_type(), v8::internal::MAP_TYPE, v8::internal::NEW_SPACE, Heap::NOT_IN_GC, HeapObject::set_map_no_write_barrier(), and Heap::TargetSpaceId().
Referenced by Heap::AllocateConsString(), Heap::AllocateExternalStringFromAscii(), Heap::AllocateExternalStringFromTwoByte(), Heap::AllocateForeign(), Heap::AllocateFunction(), Heap::AllocateGlobalObject(), Heap::AllocateJSFunctionProxy(), Heap::AllocateJSMessageObject(), Heap::AllocateJSObjectFromMap(), Heap::AllocateJSProxy(), Heap::AllocateSharedFunctionInfo(), Heap::AllocateStruct(), and Heap::AllocateSubString().
MaybeObject * AllocateAccessorPair | ( | ) |
Definition at line 2133 of file heap.cc.
References v8::internal::ACCESSOR_PAIR_TYPE, Heap::AllocateStruct(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by AccessorPair::Copy(), and JSObject::DefineFastAccessor().
MaybeObject * AllocateAliasedArgumentsEntry | ( | int | slot | ) |
Definition at line 2156 of file heap.cc.
References v8::internal::ALIASED_ARGUMENTS_ENTRY_TYPE, Heap::AllocateStruct(), and AliasedArgumentsEntry::set_aliased_context_slot().
MaybeObject * AllocateArgumentsObject | ( | Object * | callee, |
int | length | ||
) |
Definition at line 3827 of file heap.cc.
References HeapObject::address(), Heap::AllocateRaw(), ASSERT, HeapObject::cast(), JSObject::cast(), JSFunction::cast(), Isolate::context(), Heap::CopyBlock(), Smi::FromInt(), JSObject::InObjectPropertyAtPut(), Map::instance_size(), Heap::isolate(), Heap::kArgumentsCalleeIndex, Heap::kArgumentsLengthIndex, Heap::kArgumentsObjectSize, Heap::kArgumentsObjectSizeStrict, JSObject::kHeaderSize, HeapObject::map(), Context::native_context(), v8::internal::NEW_SPACE, Heap::NOT_IN_GC, v8::internal::OLD_POINTER_SPACE, and v8::internal::SKIP_WRITE_BARRIER.
|
inline |
Definition at line 110 of file heap-inl.h.
References HeapObject::address(), PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), ASSERT_EQ, String::cast(), SeqString::kHeaderSize, SeqAsciiString::kMaxLength, Page::kMaxNonCodeHeapObjectSize, Vector< T >::length(), v8::internal::NOT_EXECUTABLE, Failure::OutOfMemoryException(), String::set_hash_field(), String::set_length(), HeapObject::Size(), SeqAsciiString::SizeFor(), and Vector< T >::start().
MaybeObject * AllocateBlockContext | ( | JSFunction * | function, |
Context * | previous, | ||
ScopeInfo * | info | ||
) |
Definition at line 5053 of file heap.cc.
References Heap::AllocateFixedArrayWithHoles(), ScopeInfo::ContextLength(), Context::global_object(), Context::set_closure(), Context::set_extension(), Context::set_global_object(), HeapObject::set_map_no_write_barrier(), and Context::set_previous().
MaybeObject * AllocateByteArray | ( | int | length, |
PretenureFlag | pretenure | ||
) |
Definition at line 3517 of file heap.cc.
References PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), ByteArray::kMaxLength, Page::kMaxNonCodeHeapObjectSize, v8::internal::NOT_EXECUTABLE, v8::internal::NOT_TENURED, Failure::OutOfMemoryException(), and ByteArray::SizeFor().
Referenced by Heap::CopyCode(), and Heap::CreateCode().
MaybeObject * AllocateByteArray | ( | int | length | ) |
Definition at line 3539 of file heap.cc.
References Heap::AllocateRaw(), ByteArray::kMaxLength, Page::kMaxNonCodeHeapObjectSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, Failure::OutOfMemoryException(), and ByteArray::SizeFor().
MaybeObject * AllocateCatchContext | ( | JSFunction * | function, |
Context * | previous, | ||
String * | name, | ||
Object * | thrown_object | ||
) |
Definition at line 5015 of file heap.cc.
References Heap::AllocateFixedArray(), Context::global_object(), Context::MIN_CONTEXT_SLOTS, FixedArray::set(), Context::set_closure(), Context::set_extension(), Context::set_global_object(), HeapObject::set_map_no_write_barrier(), Context::set_previous(), v8::internal::STATIC_ASSERT(), and Context::THROWN_OBJECT_INDEX.
MaybeObject * AllocateCodeCache | ( | ) |
Definition at line 2117 of file heap.cc.
References Heap::AllocateStruct(), v8::internal::CODE_CACHE_TYPE, and v8::internal::SKIP_WRITE_BARRIER.
Referenced by Map::UpdateCodeCache().
Definition at line 3225 of file heap.cc.
References Heap::Allocate(), Heap::AllocateRawAsciiString(), Heap::AllocateRawTwoByteString(), ASSERT, SeqAsciiString::cast(), SeqTwoByteString::cast(), ConsString::cast(), ExternalAsciiString::cast(), Isolate::context(), Isolate::counters(), SeqAsciiString::GetChars(), SeqTwoByteString::GetChars(), ExternalAsciiString::GetChars(), HeapObject::GetWriteBarrierMode(), String::HasOnlyAsciiChars(), String::IsAsciiRepresentation(), String::IsFlat(), Heap::isolate(), String::kEmptyHashField, String::kMaxLength, ConsString::kMinLength, SlicedString::kMinLength, String::length(), Context::mark_out_of_memory(), v8::internal::NEW_SPACE, Failure::OutOfMemoryException(), ConsString::set_first(), String::set_hash_field(), String::set_length(), ConsString::set_second(), v8::internal::STATIC_ASSERT(), and String::WriteToFlat().
|
inline |
Definition at line 561 of file heap.h.
References Heap::AllocateJSArrayAndStorage(), and v8::internal::DONT_INITIALIZE_ARRAY_ELEMENTS.
MaybeObject * AllocateExternalArray | ( | int | length, |
ExternalArrayType | array_type, | ||
void * | external_pointer, | ||
PretenureFlag | pretenure | ||
) |
Definition at line 3572 of file heap.cc.
References Heap::AllocateRaw(), ExternalArray::kAlignedSize, Heap::MapForExternalArrayType(), v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, and v8::internal::TENURED.
MaybeObject * AllocateExternalStringFromAscii | ( | const ExternalAsciiString::Resource * | resource | ) |
Definition at line 3438 of file heap.cc.
References Heap::Allocate(), ASSERT, ExternalAsciiString::cast(), Isolate::context(), String::ExternalAsciiStringResource::data(), String::IsAscii(), Heap::isolate(), String::kEmptyHashField, String::kMaxLength, String::ExternalAsciiStringResource::length(), Context::mark_out_of_memory(), v8::internal::NEW_SPACE, Failure::OutOfMemoryException(), String::set_hash_field(), String::set_length(), and ExternalAsciiString::set_resource().
MaybeObject * AllocateExternalStringFromTwoByte | ( | const ExternalTwoByteString::Resource * | resource | ) |
Definition at line 3463 of file heap.cc.
References Heap::Allocate(), ExternalTwoByteString::cast(), Isolate::context(), String::ExternalStringResource::data(), String::IsAscii(), Heap::isolate(), String::kEmptyHashField, String::kMaxLength, String::ExternalStringResource::length(), Context::mark_out_of_memory(), v8::internal::NEW_SPACE, Failure::OutOfMemoryException(), String::set_hash_field(), String::set_length(), and ExternalTwoByteString::set_resource().
MUST_USE_RESULT MaybeObject* AllocateExternalSymbol | ( | Vector< const char > | str, |
int | chars | ||
) |
MaybeObject * AllocateFixedArray | ( | int | length, |
PretenureFlag | pretenure | ||
) |
Definition at line 4819 of file heap.cc.
Referenced by ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >::AddElementsToFixedArray(), DescriptorArray::Allocate(), Heap::AllocateCatchContext(), Heap::AllocateFunctionContext(), Heap::AllocateGlobalContext(), Heap::AllocateHashTable(), Heap::AllocateJSObjectFromMap(), Heap::AllocateModuleContext(), Heap::AllocateNativeContext(), Heap::AllocateRawFixedArray(), Heap::AllocateScopeInfo(), Heap::AllocateWithContext(), StringSharedKey::AsObject(), FixedArray::CopySize(), Heap::CreateApiObjects(), Dictionary< Shape, Key >::GenerateNewEnumerationIndices(), JSObject::PrepareElementsForSort(), Map::PutPrototypeTransition(), Heap::ReinitializeJSGlobalProxy(), Heap::ReinitializeJSReceiver(), ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >::SetLengthImpl(), and StringDictionary::TransformPropertiesToFastFor().
MaybeObject * AllocateFixedArray | ( | int | length | ) |
Definition at line 4754 of file heap.cc.
References Heap::AllocateRawFixedArray(), ASSERT, FixedArray::data_start(), Heap::InNewSpace(), v8::internal::MemsetPointer(), FixedArrayBase::set_length(), and HeapObject::set_map_no_write_barrier().
MaybeObject * AllocateFixedArrayWithHoles | ( | int | length, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4827 of file heap.cc.
Referenced by Heap::AllocateBlockContext(), Heap::AllocateJSArrayAndStorage(), JSArray::Initialize(), JSFunction::set_initial_map_and_cache_transitions(), and JSObject::SetFastElementsCapacityAndLength().
MaybeObject * AllocateFixedDoubleArrayWithHoles | ( | int | length, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4883 of file heap.cc.
References Heap::AllocateRawFixedDoubleArray(), FixedArrayBase::set_length(), HeapObject::set_map_no_write_barrier(), and FixedDoubleArray::set_the_hole().
Referenced by Heap::AllocateJSArrayAndStorage().
MaybeObject * AllocateForeign | ( | Address | address, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 3102 of file heap.cc.
References Heap::Allocate(), Page::kMaxNonCodeHeapObjectSize, Foreign::kSize, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, Foreign::set_foreign_address(), v8::internal::STATIC_ASSERT(), and v8::internal::TENURED.
MaybeObject * AllocateFunction | ( | Map * | function_map, |
SharedFunctionInfo * | shared, | ||
Object * | prototype, | ||
PretenureFlag | pretenure = TENURED |
||
) |
Definition at line 3812 of file heap.cc.
References Heap::Allocate(), JSFunction::cast(), v8::internal::NEW_SPACE, v8::internal::OLD_POINTER_SPACE, and v8::internal::TENURED.
MaybeObject * AllocateFunctionContext | ( | int | length, |
JSFunction * | function | ||
) |
Definition at line 4999 of file heap.cc.
References Heap::AllocateFixedArray(), ASSERT, Smi::FromInt(), Context::MIN_CONTEXT_SLOTS, Context::set_closure(), Context::set_extension(), Context::set_global_object(), HeapObject::set_map_no_write_barrier(), and Context::set_previous().
MaybeObject * AllocateFunctionPrototype | ( | JSFunction * | function | ) |
Definition at line 3782 of file heap.cc.
References Heap::AllocateJSObjectFromMap(), ASSERT, JSObject::cast(), JSFunction::context(), Map::Copy(), DONT_ENUM, JSFunction::has_initial_map(), JSFunction::initial_map(), Context::native_context(), and JSObject::SetLocalPropertyIgnoreAttributes().
Referenced by Heap::AllocateInitialMap(), and Accessors::FunctionGetPrototype().
MaybeObject * AllocateGlobalContext | ( | JSFunction * | function, |
ScopeInfo * | scope_info | ||
) |
Definition at line 4966 of file heap.cc.
References Heap::AllocateFixedArray(), ASSERT, ScopeInfo::ContextLength(), Context::IsGlobalContext(), Context::set_closure(), Context::set_extension(), Context::set_global_object(), HeapObject::set_map_no_write_barrier(), Context::set_previous(), and v8::internal::TENURED.
MaybeObject * AllocateGlobalObject | ( | JSFunction * | constructor | ) |
Definition at line 4186 of file heap.cc.
References Dictionary< Shape, Key >::Add(), Heap::Allocate(), Dictionary< StringDictionaryShape, String * >::Allocate(), Heap::AllocateJSGlobalPropertyCell(), ASSERT, v8::internal::CALLBACKS, Map::CopyDropDescriptors(), DescriptorArray::GetCallbacksObject(), DescriptorArray::GetDetails(), DescriptorArray::GetKey(), JSFunction::has_initial_map(), JSObject::HasFastProperties(), JSFunction::initial_map(), v8::internal::JS_GLOBAL_OBJECT_TYPE, DescriptorArray::number_of_descriptors(), v8::internal::OLD_POINTER_SPACE, Map::set_dictionary_map(), and HeapObject::set_map().
MaybeObject * AllocateHashTable | ( | int | length, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4939 of file heap.cc.
References Heap::AllocateFixedArray(), and ASSERT.
MaybeObject * AllocateHeapNumber | ( | double | value, |
PretenureFlag | pretenure | ||
) |
Definition at line 2483 of file heap.cc.
References Heap::AllocateRaw(), HeapObject::cast(), HeapNumber::cast(), Page::kNonCodeObjectAreaSize, HeapNumber::kSize, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, HeapObject::set_map_no_write_barrier(), HeapNumber::set_value(), v8::internal::STATIC_ASSERT(), and v8::internal::TENURED.
Referenced by Heap::AllocateHeapNumber(), JSObject::NormalizeElements(), Heap::NumberFromDouble(), Heap::NumberFromInt32(), Heap::NumberFromUint32(), JSObject::PrepareElementsForSort(), JSObject::PrepareSlowElementsForSort(), ExternalFloatArray::SetValue(), and ExternalDoubleArray::SetValue().
MaybeObject * AllocateHeapNumber | ( | double | value | ) |
Definition at line 2501 of file heap.cc.
References Heap::AllocateHeapNumber(), Heap::always_allocate(), ASSERT, HeapObject::cast(), HeapNumber::cast(), Page::kMaxNonCodeHeapObjectSize, HeapNumber::kSize, Heap::NOT_IN_GC, HeapObject::set_map_no_write_barrier(), HeapNumber::set_value(), v8::internal::STATIC_ASSERT(), and v8::internal::TENURED.
MaybeObject * AllocateInitialMap | ( | JSFunction * | fun | ) |
Definition at line 3901 of file heap.cc.
References DescriptorArray::Allocate(), Heap::AllocateFunctionPrototype(), Heap::AllocateMap(), ASSERT, Map::has_fast_object_elements(), JSFunction::has_initial_map(), JSFunction::has_instance_prototype(), Map::InitializeDescriptors(), JSFunction::instance_prototype(), v8::internal::JS_OBJECT_TYPE, Map::kMaxPreAllocatedPropertyFields, NONE, DescriptorArray::Set(), Map::set_inobject_properties(), Map::set_pre_allocated_property_fields(), Map::set_unused_property_fields(), and DescriptorArray::Sort().
Referenced by Heap::AllocateJSObject().
MaybeObject * AllocateInternalSymbol | ( | unibrow::CharacterStream * | buffer, |
int | chars, | ||
uint32_t | hash_field | ||
) |
Definition at line 4514 of file heap.cc.
References PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), ASSERT, ASSERT_EQ, String::cast(), CharacterStream::GetNext(), CharacterStream::has_more(), SeqAsciiString::kMaxLength, SeqTwoByteString::kMaxLength, Page::kMaxNonCodeHeapObjectSize, Utf16::kMaxNonSurrogateCharCode, Utf8::kMaxOneByteChar, Utf16::LeadSurrogate(), v8::internal::NOT_EXECUTABLE, Failure::OutOfMemoryException(), CharacterStream::Rewind(), String::Set(), String::set_hash_field(), String::set_length(), HeapObject::Size(), SeqAsciiString::SizeFor(), SeqTwoByteString::SizeFor(), Utf16::TrailSurrogate(), and CharacterStream::Utf16Length().
Referenced by Heap::AllocateSymbol(), and SymbolKey::AsObject().
MaybeObject * AllocateJSArrayAndStorage | ( | ElementsKind | elements_kind, |
int | length, | ||
int | capacity, | ||
ArrayStorageAllocationMode | mode = DONT_INITIALIZE_ARRAY_ELEMENTS , |
||
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4079 of file heap.cc.
References Heap::AllocateFixedArrayWithHoles(), Heap::AllocateFixedDoubleArrayWithHoles(), Heap::AllocateUninitializedFixedArray(), Heap::AllocateUninitializedFixedDoubleArray(), ASSERT, v8::internal::DONT_INITIALIZE_ARRAY_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, Smi::FromInt(), v8::internal::GetHoleyElementsKind(), v8::internal::INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE, v8::internal::IsFastSmiOrObjectElementsKind(), v8::internal::NULL, and JSArray::set_length().
Referenced by Heap::AllocateEmptyJSArray(), and v8::internal::BUILTIN().
MaybeObject * AllocateJSArrayWithElements | ( | FixedArrayBase * | array_base, |
ElementsKind | elements_kind, | ||
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4125 of file heap.cc.
References Smi::FromInt(), FixedArrayBase::length(), JSArray::set_length(), and JSObject::ValidateElements().
MaybeObject * AllocateJSFunctionProxy | ( | Object * | handler, |
Object * | call_trap, | ||
Object * | construct_trap, | ||
Object * | prototype | ||
) |
Definition at line 4160 of file heap.cc.
References Heap::Allocate(), Heap::AllocateMap(), Smi::FromInt(), JSProxy::InitializeBody(), Map::instance_size(), v8::internal::JS_FUNCTION_PROXY_TYPE, JSFunctionProxy::kSize, v8::internal::NEW_SPACE, and v8::internal::SKIP_WRITE_BARRIER.
Referenced by v8::internal::RUNTIME_FUNCTION().
MaybeObject * AllocateJSGlobalPropertyCell | ( | Object * | value | ) |
Definition at line 2519 of file heap.cc.
References HeapObject::cast(), JSGlobalPropertyCell::cast(), and HeapObject::set_map_no_write_barrier().
Referenced by JSObject::AddSlowProperty(), Heap::AllocateGlobalObject(), GlobalObject::EnsurePropertyCell(), and JSObject::SetNormalizedProperty().
MaybeObject * AllocateJSMessageObject | ( | String * | type, |
JSArray * | arguments, | ||
int | start_position, | ||
int | end_position, | ||
Object * | script, | ||
Object * | stack_trace, | ||
Object * | stack_frames | ||
) |
Definition at line 3156 of file heap.cc.
References Heap::Allocate(), JSMessageObject::cast(), JSObject::initialize_elements(), v8::internal::message, v8::internal::NEW_SPACE, JSMessageObject::set_end_position(), JSMessageObject::set_start_position(), and v8::internal::SKIP_WRITE_BARRIER.
Definition at line 4064 of file heap.cc.
References Heap::AllocateJSObjectFromMap(), Heap::AllocateMap(), v8::internal::JS_MODULE_TYPE, JSModule::kSize, and v8::internal::TENURED.
MaybeObject * AllocateJSObject | ( | JSFunction * | constructor, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4041 of file heap.cc.
References Heap::AllocateInitialMap(), Heap::AllocateJSObjectFromMap(), ASSERT, Map::cast(), JSFunction::has_initial_map(), JSFunction::initial_map(), and JSFunction::set_initial_map().
MaybeObject * AllocateJSObjectFromMap | ( | Map * | map, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4002 of file heap.cc.
References Heap::Allocate(), Heap::AllocateFixedArray(), ASSERT, JSObject::cast(), FixedArray::cast(), Map::inobject_properties(), Map::instance_size(), Map::instance_type(), v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GLOBAL_OBJECT_TYPE, Page::kMaxNonCodeHeapObjectSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_POINTER_SPACE, Map::pre_allocated_property_fields(), v8::internal::TENURED, and Map::unused_property_fields().
Referenced by Heap::AllocateFunctionPrototype(), Heap::AllocateJSModule(), Heap::AllocateJSObject(), and Heap::CreateApiObjects().
Definition at line 4140 of file heap.cc.
References Heap::Allocate(), Heap::AllocateMap(), Smi::FromInt(), JSProxy::InitializeBody(), Map::instance_size(), v8::internal::JS_PROXY_TYPE, JSProxy::kSize, v8::internal::NEW_SPACE, and v8::internal::SKIP_WRITE_BARRIER.
Referenced by v8::internal::RUNTIME_FUNCTION().
MaybeObject * AllocateMap | ( | InstanceType | instance_type, |
int | instance_size, | ||
ElementsKind | elements_kind = TERMINAL_FAST_ELEMENTS_KIND |
||
) |
Definition at line 2085 of file heap.cc.
References BitField< int, 0, 11 >::encode(), BitField< bool, 25, 1 >::encode(), StaticVisitorBase::GetVisitorId(), Map::init_back_pointer(), Map::kInvalidEnumCache, Map::kIsExtensible, Map::set_bit_field(), Map::set_bit_field2(), Map::set_bit_field3(), Map::set_elements_kind(), Map::set_inobject_properties(), Map::set_instance_size(), Map::set_instance_type(), HeapObject::set_map_no_write_barrier(), Map::set_pre_allocated_property_fields(), Map::set_unused_property_fields(), Map::set_visitor_id(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by Heap::AllocateInitialMap(), Heap::AllocateJSFunctionProxy(), Heap::AllocateJSModule(), Heap::AllocateJSProxy(), Heap::CreateApiObjects(), Map::RawCopy(), and Heap::ReinitializeJSReceiver().
MaybeObject * AllocateModuleContext | ( | ScopeInfo * | scope_info | ) |
Definition at line 4985 of file heap.cc.
References Heap::AllocateFixedArray(), ScopeInfo::ContextLength(), Smi::FromInt(), Context::set_extension(), HeapObject::set_map_no_write_barrier(), and v8::internal::TENURED.
MaybeObject * AllocateNativeContext | ( | ) |
Definition at line 4951 of file heap.cc.
References Heap::AllocateFixedArray(), ASSERT, Context::NATIVE_CONTEXT_SLOTS, and HeapObject::set_map_no_write_barrier().
MaybeObject * AllocatePartialMap | ( | InstanceType | instance_type, |
int | instance_size | ||
) |
Definition at line 2061 of file heap.cc.
References BitField< int, 0, 11 >::encode(), BitField< bool, 25, 1 >::encode(), StaticVisitorBase::GetVisitorId(), and Map::kInvalidEnumCache.
MaybeObject * AllocatePolymorphicCodeCache | ( | ) |
Definition at line 2128 of file heap.cc.
References Heap::AllocateStruct(), and v8::internal::POLYMORPHIC_CODE_CACHE_TYPE.
|
inline |
Definition at line 186 of file heap-inl.h.
References PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), Heap::always_allocate(), ASSERT, v8::internal::CELL_SPACE, v8::internal::CODE_SPACE, Isolate::counters(), v8::internal::LO_SPACE, v8::internal::MAP_SPACE, v8::internal::NEW_SPACE, v8::internal::NOT_EXECUTABLE, Heap::NOT_IN_GC, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, and Failure::RetryAfterGC().
Referenced by Heap::Allocate(), Heap::AllocateArgumentsObject(), Heap::AllocateByteArray(), Heap::AllocateExternalArray(), Heap::AllocateHeapNumber(), Heap::AllocateRawAsciiString(), Heap::AllocateRawFixedArray(), Heap::AllocateRawFixedDoubleArray(), Heap::AllocateRawTwoByteString(), and Heap::CopyJSObject().
MaybeObject * AllocateRawAsciiString | ( | int | length, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4579 of file heap.cc.
References Heap::AllocateRaw(), ASSERT, ASSERT_EQ, HeapObject::cast(), String::cast(), SeqAsciiString::cast(), SeqAsciiString::GetChars(), v8::internal::kCharSize, String::kEmptyHashField, SeqAsciiString::kMaxLength, Page::kMaxNonCodeHeapObjectSize, SeqAsciiString::kMaxSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, Failure::OutOfMemoryException(), String::set_hash_field(), String::set_length(), HeapObject::set_map_no_write_barrier(), SeqAsciiString::SizeFor(), and v8::internal::TENURED.
Referenced by Heap::AllocateConsString(), Heap::AllocateStringFromAscii(), Heap::AllocateStringFromTwoByte(), and Heap::AllocateSubString().
MaybeObject * AllocateRawFixedArray | ( | int | length | ) |
Definition at line 4696 of file heap.cc.
References Heap::AllocateFixedArray(), LargeObjectSpace::AllocateRaw(), Heap::always_allocate(), ASSERT, FixedArray::kMaxLength, v8::internal::NOT_EXECUTABLE, Failure::OutOfMemoryException(), FixedArray::SizeFor(), and v8::internal::TENURED.
Referenced by Heap::AllocateFixedArray(), Heap::AllocateUninitializedFixedArray(), and Heap::CopyFixedArrayWithMap().
MaybeObject * AllocateRawFixedArray | ( | int | length, |
PretenureFlag | pretenure | ||
) |
Definition at line 4772 of file heap.cc.
References Heap::AllocateRaw(), FixedArray::kMaxLength, Page::kMaxNonCodeHeapObjectSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_POINTER_SPACE, Failure::OutOfMemoryException(), FixedArray::SizeFor(), and v8::internal::TENURED.
MaybeObject * AllocateRawFixedDoubleArray | ( | int | length, |
PretenureFlag | pretenure | ||
) |
Definition at line 4904 of file heap.cc.
References Heap::AllocateRaw(), FixedDoubleArray::kMaxLength, Page::kMaxNonCodeHeapObjectSize, v8::internal::kPointerSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, Failure::OutOfMemoryException(), FixedDoubleArray::SizeFor(), and v8::internal::TENURED.
Referenced by Heap::AllocateFixedDoubleArrayWithHoles(), Heap::AllocateUninitializedFixedDoubleArray(), and Heap::CopyFixedDoubleArrayWithMap().
MaybeObject * AllocateRawTwoByteString | ( | int | length, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4626 of file heap.cc.
References Heap::AllocateRaw(), ASSERT, ASSERT_EQ, HeapObject::cast(), String::cast(), String::kEmptyHashField, SeqTwoByteString::kMaxLength, Page::kMaxNonCodeHeapObjectSize, SeqTwoByteString::kMaxSize, v8::internal::LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, Failure::OutOfMemoryException(), String::set_hash_field(), String::set_length(), HeapObject::set_map_no_write_barrier(), SeqTwoByteString::SizeFor(), and v8::internal::TENURED.
Referenced by Heap::AllocateConsString(), Heap::AllocateStringFromTwoByte(), Heap::AllocateStringFromUtf8Slow(), Heap::AllocateSubString(), and Heap::LookupSingleCharacterStringFromCode().
MaybeObject * AllocateScopeInfo | ( | int | length | ) |
Definition at line 5071 of file heap.cc.
References Heap::AllocateFixedArray(), HeapObject::set_map_no_write_barrier(), and v8::internal::TENURED.
MaybeObject * AllocateSharedFunctionInfo | ( | Object * | name | ) |
Definition at line 3114 of file heap.cc.
References Heap::Allocate(), Builtins::builtin(), Isolate::builtins(), SharedFunctionInfo::ClearOptimizedCodeMap(), ScopeInfo::Empty(), v8::internal::OLD_POINTER_SPACE, SharedFunctionInfo::set_ast_node_count(), SharedFunctionInfo::set_compiler_hints(), SharedFunctionInfo::set_counters(), SharedFunctionInfo::set_end_position(), SharedFunctionInfo::set_expected_nof_properties(), SharedFunctionInfo::set_formal_parameter_count(), SharedFunctionInfo::set_function_token_position(), SharedFunctionInfo::set_length(), SharedFunctionInfo::set_num_literals(), SharedFunctionInfo::set_opt_count(), SharedFunctionInfo::set_start_position_and_type(), SharedFunctionInfo::set_stress_deopt_counter(), SharedFunctionInfo::set_this_property_assignments_count(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by Heap::ReinitializeJSReceiver().
MaybeObject * AllocateStringFromAscii | ( | Vector< const char > | str, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4412 of file heap.cc.
References Heap::AllocateRawAsciiString(), SeqAsciiString::cast(), v8::internal::CopyChars(), and Heap::LookupSingleCharacterStringFromCode().
Referenced by Heap::AllocateStringFromUtf8(), and Heap::NumberToString().
MaybeObject * AllocateStringFromTwoByte | ( | Vector< const uc16 > | str, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4470 of file heap.cc.
References Heap::AllocateRawAsciiString(), Heap::AllocateRawTwoByteString(), SeqAsciiString::cast(), SeqTwoByteString::cast(), v8::internal::CopyChars(), and String::IsAscii().
|
inline |
Definition at line 85 of file heap-inl.h.
References Heap::AllocateStringFromAscii(), Heap::AllocateStringFromUtf8Slow(), Vector< T >::length(), String::NonAsciiStart(), and Vector< T >::start().
MaybeObject * AllocateStringFromUtf8Slow | ( | Vector< const char > | str, |
int | non_ascii_start, | ||
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4430 of file heap.cc.
References Heap::AllocateRawTwoByteString(), SeqTwoByteString::cast(), Utf16::kMaxNonSurrogateCharCode, Utf16::LeadSurrogate(), SeqTwoByteString::SeqTwoByteStringSet(), Utf16::TrailSurrogate(), Isolate::unicode_cache(), and UnicodeCache::utf8_decoder().
Referenced by Heap::AllocateStringFromUtf8().
MaybeObject * AllocateStruct | ( | InstanceType | type | ) |
Definition at line 5080 of file heap.cc.
References Heap::Allocate(), Struct::cast(), Struct::InitializeBody(), Map::instance_size(), Failure::InternalError(), Page::kMaxNonCodeHeapObjectSize, v8::internal::LO_SPACE, MAKE_CASE, v8::internal::OLD_POINTER_SPACE, STRUCT_LIST, and UNREACHABLE.
Referenced by Heap::AllocateAccessorPair(), Heap::AllocateAliasedArgumentsEntry(), Heap::AllocateCodeCache(), Heap::AllocatePolymorphicCodeCache(), and Heap::AllocateTypeFeedbackInfo().
MaybeObject * AllocateSubString | ( | String * | buffer, |
int | start, | ||
int | end, | ||
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 3344 of file heap.cc.
References Heap::Allocate(), Heap::AllocateRawAsciiString(), Heap::AllocateRawTwoByteString(), ASSERT, String::cast(), SeqAsciiString::cast(), SeqTwoByteString::cast(), ConsString::cast(), SlicedString::cast(), ConsString::first(), SeqAsciiString::GetChars(), SeqTwoByteString::GetChars(), String::IsAsciiRepresentation(), String::IsFlat(), String::IsTwoByteRepresentation(), String::kEmptyHashField, SlicedString::kMinLength, String::length(), Heap::LookupSingleCharacterStringFromCode(), v8::internal::NEW_SPACE, SlicedString::offset(), SlicedString::parent(), ConsString::second(), String::set_hash_field(), String::set_length(), SlicedString::set_offset(), SlicedString::set_parent(), v8::internal::TENURED, String::TryFlattenGetString(), and String::WriteToFlat().
Referenced by String::SubString().
|
inline |
Definition at line 101 of file heap-inl.h.
References Heap::AllocateInternalSymbol(), Vector< T >::length(), and Vector< T >::start().
Definition at line 144 of file heap-inl.h.
References HeapObject::address(), PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), ASSERT_EQ, String::cast(), SeqString::kHeaderSize, SeqTwoByteString::kMaxLength, Page::kMaxNonCodeHeapObjectSize, v8::internal::kUC16Size, Vector< T >::length(), v8::internal::NOT_EXECUTABLE, Failure::OutOfMemoryException(), String::set_hash_field(), String::set_length(), HeapObject::Size(), SeqTwoByteString::SizeFor(), and Vector< T >::start().
MaybeObject * AllocateTypeFeedbackInfo | ( | ) |
Definition at line 2144 of file heap.cc.
References Heap::AllocateStruct(), TypeFeedbackCells::cast(), TypeFeedbackInfo::initialize_storage(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::TYPE_FEEDBACK_INFO_TYPE.
MaybeObject * AllocateUninitializedFixedArray | ( | int | length | ) |
Definition at line 4836 of file heap.cc.
References Heap::AllocateRawFixedArray(), FixedArray::cast(), and FixedArrayBase::set_length().
Referenced by Heap::AllocateJSArrayAndStorage(), and v8::internal::BUILTIN().
MaybeObject * AllocateUninitializedFixedDoubleArray | ( | int | length, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 4866 of file heap.cc.
References Heap::AllocateRawFixedDoubleArray(), FixedArrayBase::set_length(), and HeapObject::set_map_no_write_barrier().
Referenced by Heap::AllocateJSArrayAndStorage(), and JSObject::SetFastDoubleElementsCapacityAndLength().
MaybeObject * AllocateWithContext | ( | JSFunction * | function, |
Context * | previous, | ||
JSObject * | extension | ||
) |
Definition at line 5036 of file heap.cc.
References Heap::AllocateFixedArray(), Context::global_object(), Context::MIN_CONTEXT_SLOTS, Context::set_closure(), Context::set_extension(), Context::set_global_object(), HeapObject::set_map_no_write_barrier(), and Context::set_previous().
|
inline |
Definition at line 531 of file heap.h.
Referenced by Heap::AllocateHeapNumber(), Heap::AllocateRaw(), Heap::AllocateRawFixedArray(), and Heap::CopyJSObject().
|
inline |
Definition at line 1644 of file heap.h.
Referenced by StatisticsExtension::GetCounters().
intptr_t Available | ( | ) |
Definition at line 222 of file heap.cc.
References PagedSpace::Available(), NewSpace::Available(), and Heap::HasBeenSetUp().
Referenced by Heap::PrintShortHeapStatistics(), and Heap::SetUp().
|
inline |
Definition at line 1583 of file heap.h.
References v8::internal::NULL.
|
inline |
Definition at line 1579 of file heap.h.
References v8::internal::NULL.
intptr_t Capacity | ( | ) |
Definition at line 191 of file heap.cc.
References PagedSpace::Capacity(), NewSpace::Capacity(), and Heap::HasBeenSetUp().
Referenced by Heap::GarbageCollectionEpilogue(), and Heap::SetUp().
|
inline |
Definition at line 510 of file heap.h.
Referenced by MarkCompactCollector::ClearMarkbits(), StoreBuffer::Compact(), StoreBuffer::EnterDirectlyIntoStoreBuffer(), Heap::GarbageCollectionEpilogue(), HeapSnapshotGenerator::GenerateSnapshot(), StatisticsExtension::GetCounters(), StoreBuffer::Mark(), and Heap::paged_space().
void CheckNewSpaceExpansionCriteria | ( | ) |
Definition at line 1095 of file heap.cc.
References NewSpace::Capacity(), NewSpace::Grow(), and NewSpace::MaximumCapacity().
void CheckpointObjectStats | ( | ) |
Definition at line 7302 of file heap.cc.
References ADJUST_LAST_TIME_OBJECT_COUNT, CODE_KIND_LIST, Isolate::counters(), FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST, INSTANCE_TYPE_LIST, Heap::isolate(), and LazyInstanceImpl< T, AllocationTrait, CreateTrait, InitOnceTrait, DestroyTrait >::Pointer().
|
inline |
Definition at line 647 of file heap-inl.h.
Referenced by JSReceiver::SetPrototype().
void ClearJSFunctionResultCaches | ( | ) |
Definition at line 757 of file heap.cc.
References Isolate::bootstrapper(), Context::cast(), FixedArray::cast(), JSFunctionResultCache::cast(), FixedArray::get(), Bootstrapper::IsActive(), Context::JSFUNCTION_RESULT_CACHES_INDEX, FixedArrayBase::length(), and Context::NEXT_CONTEXT_LINK.
Referenced by Heap::GarbageCollectionPrologue().
void ClearNormalizedMapCaches | ( | ) |
Definition at line 781 of file heap.cc.
References Isolate::bootstrapper(), Context::cast(), NormalizedMapCache::cast(), NormalizedMapCache::Clear(), FixedArray::get(), Heap::incremental_marking(), Bootstrapper::IsActive(), Context::NEXT_CONTEXT_LINK, and Context::NORMALIZED_MAP_CACHE_INDEX.
|
inline |
Definition at line 508 of file heap.h.
Referenced by MarkCompactCollector::ClearMarkbits(), StoreBuffer::Compact(), Heap::CopyCode(), Heap::CreateCode(), Deserializer::DeserializePartial(), StoreBuffer::EnterDirectlyIntoStoreBuffer(), Heap::GarbageCollectionEpilogue(), InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), HeapSnapshotGenerator::GenerateSnapshot(), StatisticsExtension::GetCounters(), StoreBuffer::Mark(), Heap::paged_space(), and MarkCompactCollector::StartCompaction().
void CollectAllAvailableGarbage | ( | const char * | gc_reason = NULL | ) |
Definition at line 548 of file heap.cc.
References CompilationCache::Clear(), Heap::CollectGarbage(), Isolate::compilation_cache(), Heap::incremental_marking(), Heap::kMakeHeapIterableMask, Heap::kNoGCFlags, Heap::kReduceMemoryFootprintMask, Heap::mark_compact_collector(), v8::internal::MARK_COMPACTOR, v8::internal::NULL, v8::internal::OLD_POINTER_SPACE, MarkCompactCollector::SetFlags(), Heap::Shrink(), NewSpace::Shrink(), Heap::UncommitFromSpace(), and IncrementalMarking::UncommitMarkingDeque().
Referenced by V8::LowMemoryNotification().
void CollectAllGarbage | ( | int | flags, |
const char * | gc_reason = NULL |
||
) |
Definition at line 538 of file heap.cc.
References Heap::CollectGarbage(), Heap::kNoGCFlags, v8::internal::OLD_POINTER_SPACE, and MarkCompactCollector::SetFlags().
Referenced by Heap::AdjustAmountOfExternalAllocatedMemory(), Heap::EnsureHeapIsIterable(), StatisticsExtension::GetCounters(), Execution::HandleStackGuardInterrupt(), Heap::IdleNotification(), and Runtime::PerformGC().
bool CollectGarbage | ( | AllocationSpace | space, |
GarbageCollector | collector, | ||
const char * | gc_reason, | ||
const char * | collector_reason | ||
) |
Definition at line 577 of file heap.cc.
References ASSERT, Isolate::counters(), Heap::GarbageCollectionEpilogue(), Heap::GarbageCollectionPrologue(), Heap::GCTracer, Heap::incremental_marking(), Heap::mark_compact_collector(), v8::internal::MARK_COMPACTOR, v8::internal::Max(), v8::internal::MB, Heap::NextGCIsLikelyToBeFull(), IncrementalMarking::NO_GC_VIA_STACK_GUARD, v8::internal::PrintF(), v8::internal::SCAVENGER, IncrementalMarking::Start(), HistogramTimer::Start(), IncrementalMarking::Step(), HistogramTimer::Stop(), and Heap::tracer().
Referenced by Heap::CollectAllAvailableGarbage(), Heap::CollectAllGarbage(), Heap::CollectGarbage(), Runtime::PerformGC(), and Heap::ReserveSpace().
|
inline |
Definition at line 433 of file heap-inl.h.
References Heap::CollectGarbage(), and v8::internal::NULL.
intptr_t CommittedMemory | ( | ) |
Definition at line 203 of file heap.cc.
References PagedSpace::CommittedMemory(), NewSpace::CommittedMemory(), Heap::HasBeenSetUp(), and LargeObjectSpace::Size().
Referenced by Heap::GarbageCollectionEpilogue(), V8::GetHeapStatistics(), and Heap::PrintShortHeapStatistics().
intptr_t CommittedMemoryExecutable | ( | ) |
Definition at line 215 of file heap.cc.
References Heap::HasBeenSetUp(), Heap::isolate(), Isolate::memory_allocator(), and MemoryAllocator::SizeExecutable().
Referenced by V8::GetHeapStatistics().
|
inline |
Definition at line 657 of file heap-inl.h.
bool ConfigureHeap | ( | int | max_semispace_size, |
intptr_t | max_old_gen_size, | ||
intptr_t | max_executable_size | ||
) |
Definition at line 5833 of file heap.cc.
References v8::internal::FIRST_PAGED_SPACE, Heap::HasBeenSetUp(), Snapshot::IsEnabled(), Page::kPageSize, v8::internal::LAST_PAGED_SPACE, v8::internal::Max(), v8::internal::Min(), v8::internal::PrintPID(), v8::internal::RoundUp(), and v8::internal::RoundUpToPowerOf2().
Referenced by Heap::ConfigureHeapDefault(), and v8::SetResourceConstraints().
bool ConfigureHeapDefault | ( | ) |
Definition at line 5903 of file heap.cc.
References Heap::ConfigureHeap(), v8::internal::KB, and v8::internal::MB.
Referenced by Heap::SetUp(), and TEST().
bool Contains | ( | Address | addr | ) |
Definition at line 5367 of file heap.cc.
References PagedSpace::Contains(), Heap::HasBeenSetUp(), OS::IsOutsideAllocatedSpace(), LargeObjectSpace::SlowContains(), and NewSpace::ToSpaceContains().
Referenced by Heap::Contains(), HeapObject::HeapObjectShortPrint(), JSObject::JSObjectShortPrint(), and StringStream::PrintSecurityTokenIfChanged().
bool Contains | ( | HeapObject * | value | ) |
Definition at line 5362 of file heap.cc.
References HeapObject::address(), and Heap::Contains().
Definition at line 379 of file heap-inl.h.
References v8::internal::CopyWords(), and v8::internal::kPointerSize.
Referenced by Heap::AllocateArgumentsObject(), Heap::CopyCode(), Heap::CopyFixedArrayWithMap(), Heap::CopyFixedDoubleArrayWithMap(), and Heap::CopyJSObject().
MaybeObject * CopyCode | ( | Code * | code | ) |
Definition at line 3667 of file heap.cc.
References HeapObject::address(), PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), ASSERT, Code::cast(), Isolate::code_range(), Heap::code_space(), CodeRange::contains(), Heap::CopyBlock(), v8::internal::EXECUTABLE, CodeRange::exists(), Code::Relocate(), and HeapObject::Size().
Definition at line 3693 of file heap.cc.
References HeapObject::address(), Heap::AllocateByteArray(), PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), PagedSpace::AreaSize(), ASSERT, ByteArray::cast(), Code::cast(), Isolate::code_range(), Heap::code_space(), CodeRange::contains(), v8::internal::EXECUTABLE, CodeRange::exists(), Code::instruction_end(), Code::instruction_size(), v8::internal::kObjectAlignment, Vector< T >::length(), Code::Relocate(), Code::relocation_start(), v8::internal::RoundUp(), Code::SizeFor(), Vector< T >::start(), and v8::internal::TENURED.
|
inline |
Definition at line 176 of file heap-inl.h.
References Heap::CopyFixedArrayWithMap(), and HeapObject::map().
Referenced by FixedArray::Copy(), and Heap::CopyJSObject().
MaybeObject * CopyFixedArrayWithMap | ( | FixedArray * | src, |
Map * | map | ||
) |
Definition at line 4711 of file heap.cc.
References HeapObject::address(), Heap::AllocateRawFixedArray(), HeapObject::cast(), FixedArray::cast(), Heap::CopyBlock(), FixedArray::get(), HeapObject::GetWriteBarrierMode(), Heap::InNewSpace(), v8::internal::kPointerSize, FixedArrayBase::length(), FixedArray::set(), FixedArrayBase::set_length(), HeapObject::set_map_no_write_barrier(), and FixedArray::SizeFor().
Referenced by Heap::CopyFixedArray(), and JSObject::EnsureWritableFastElements().
|
inline |
Definition at line 181 of file heap-inl.h.
References Heap::CopyFixedDoubleArrayWithMap(), and HeapObject::map().
Referenced by FixedDoubleArray::Copy(), and Heap::CopyJSObject().
MaybeObject * CopyFixedDoubleArrayWithMap | ( | FixedDoubleArray * | src, |
Map * | map | ||
) |
Definition at line 4737 of file heap.cc.
References HeapObject::address(), Heap::AllocateRawFixedDoubleArray(), HeapObject::cast(), Heap::CopyBlock(), FixedArrayBase::kLengthOffset, FixedArrayBase::length(), v8::internal::NOT_TENURED, HeapObject::set_map_no_write_barrier(), and FixedDoubleArray::SizeFor().
Referenced by Heap::CopyFixedDoubleArray().
MaybeObject * CopyJSObject | ( | JSObject * | source | ) |
Definition at line 4254 of file heap.cc.
References HeapObject::address(), Heap::AllocateRaw(), Heap::always_allocate(), HeapObject::cast(), JSObject::cast(), FixedArrayBase::cast(), FixedArray::cast(), FixedDoubleArray::cast(), Heap::CopyBlock(), Heap::CopyFixedArray(), Heap::CopyFixedDoubleArray(), JSObject::GetElementsKind(), JSObject::HasFastDoubleElements(), Heap::InNewSpace(), Map::instance_size(), JSObject::kHeaderSize, v8::internal::kPointerSize, HeapObject::map(), v8::internal::NEW_SPACE, v8::internal::OLD_POINTER_SPACE, Heap::RecordWrites(), v8::internal::SKIP_WRITE_BARRIER, SLOW_ASSERT, and v8::internal::UPDATE_WRITE_BARRIER.
Referenced by v8::internal::Copy(), and v8::internal::RUNTIME_FUNCTION().
bool CreateApiObjects | ( | ) |
Definition at line 2542 of file heap.cc.
References Heap::AllocateFixedArray(), Heap::AllocateJSObjectFromMap(), Heap::AllocateMap(), JSObject::cast(), FixedArray::cast(), Map::cast(), Smi::FromInt(), v8::internal::JS_OBJECT_TYPE, JSObject::kHeaderSize, FixedArray::set(), Map::set_elements_kind(), and v8::internal::TERMINAL_FAST_ELEMENTS_KIND.
Referenced by Heap::SetUp().
MaybeObject * CreateCode | ( | const CodeDesc & | desc, |
Code::Flags | flags, | ||
Handle< Object > | self_reference, | ||
bool | immovable = false |
||
) |
Definition at line 3594 of file heap.cc.
References HeapObject::address(), Heap::AllocateByteArray(), PagedSpace::AllocateRaw(), LargeObjectSpace::AllocateRaw(), PagedSpace::AreaSize(), ASSERT, Code::cast(), v8::internal::code(), Isolate::code_range(), Heap::code_space(), MemoryChunk::Contains(), CodeRange::contains(), Code::CopyFrom(), Heap::CreateFillerObjectAt(), v8::internal::EXECUTABLE, CodeRange::exists(), PagedSpace::FirstPage(), Smi::FromInt(), CodeDesc::instr_size, Code::is_call_stub(), Code::is_keyed_call_stub(), Handle< T >::is_null(), v8::internal::IsAligned(), v8::internal::kCodeAlignment, v8::internal::kObjectAlignment, Handle< T >::location(), v8::internal::RECEIVER_MAP_CHECK, CodeDesc::reloc_size, v8::internal::RoundUp(), Code::set_check_type(), Code::set_flags(), Code::set_ic_age(), Code::set_instruction_size(), HeapObject::set_map_no_write_barrier(), Code::SizeFor(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::TENURED.
Referenced by Builtins::SetUp().
void CreateFillerObjectAt | ( | Address | addr, |
int | size | ||
) |
Definition at line 3558 of file heap.cc.
References FreeSpace::cast(), HeapObject::FromAddress(), v8::internal::kPointerSize, HeapObject::set_map_no_write_barrier(), and FreeSpace::set_size().
Referenced by NewSpace::AddFreshPage(), Heap::CreateCode(), PagedSpace::EvictEvacuationCandidatesFromFreeLists(), String::MakeExternal(), JSObject::NormalizeProperties(), Heap::ReinitializeJSReceiver(), v8::internal::RUNTIME_FUNCTION(), and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize().
MUST_USE_RESULT MaybeObject* CreateSymbol | ( | const char * | str, |
int | length, | ||
int | hash | ||
) |
MUST_USE_RESULT MaybeObject* CreateSymbol | ( | String * | str | ) |
|
inline |
Definition at line 1123 of file heap.h.
References v8::internal::PrintF().
Referenced by MemoryChunk::set_scan_on_scavenge(), and MemoryChunk::Unlink().
|
inline |
Definition at line 1589 of file heap.h.
References VisitorDispatchTable< Callback >::GetVisitor().
void EnsureFromSpaceIsCommitted | ( | ) |
Definition at line 743 of file heap.cc.
References NewSpace::CommitFromSpaceIfNeeded(), V8::FatalProcessOutOfMemory(), and Heap::Shrink().
void EnsureHeapIsIterable | ( | ) |
Definition at line 5109 of file heap.cc.
References ASSERT, Heap::CollectAllGarbage(), Heap::IsHeapIterable(), and Heap::kMakeHeapIterableMask.
|
inline |
Definition at line 1568 of file heap.h.
Referenced by String::MakeExternal(), and String::NewExternal().
|
inline |
Definition at line 250 of file heap-inl.h.
References ASSERT, String::ExternalStringResourceBase::Dispose(), v8::internal::kHeapObjectTag, ExternalString::kResourceOffset, and v8::internal::NULL.
Referenced by SymbolTableCleaner::VisitPointers().
Definition at line 1029 of file heap.cc.
References Isolate::inner_pointer_to_code_cache(), and Heap::isolate().
|
inline |
Definition at line 1642 of file heap.h.
Referenced by StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget().
void FreeQueuedChunks | ( | ) |
Definition at line 7226 of file heap.cc.
References MemoryChunk::ABOUT_TO_BE_FREED, MemoryChunk::address(), StoreBuffer::Compact(), StoreBuffer::Filter(), MemoryAllocator::Free(), MemoryChunk::FromAddress(), Isolate::heap(), Space::identity(), Page::kPageSize, v8::internal::LO_SPACE, Heap::lo_space(), Isolate::memory_allocator(), v8::internal::Min(), MemoryChunk::next_chunk(), v8::internal::NULL, MemoryChunk::owner(), MemoryChunk::set_owner(), MemoryChunk::set_size(), MemoryChunk::SetArea(), MemoryChunk::SetFlag(), MemoryChunk::size(), and Heap::store_buffer().
Referenced by PagedSpace::AdvanceSweeper(), LargeObjectSpace::FreeUnmarkedObjects(), and PagedSpace::ReleaseAllUnusedPages().
void GarbageCollectionEpilogue | ( | ) |
Definition at line 449 of file heap.cc.
References Heap::Capacity(), Heap::cell_space(), Heap::code_space(), Heap::CommittedMemory(), Isolate::counters(), StoreBuffer::GCEpilogue(), LiveObjectList::GCEpilogue(), Isolate::global_handles(), v8::internal::KB, Heap::lo_space(), Heap::map_space(), Heap::new_space(), Heap::old_data_space(), Heap::old_pointer_space(), Print(), Heap::ShouldZapGarbage(), Heap::SizeOfObjects(), Heap::store_buffer(), UPDATE_COUNTERS_AND_FRAGMENTATION_FOR_SPACE, UPDATE_COUNTERS_FOR_SPACE, and Heap::ZapFromSpace().
Referenced by Heap::CollectGarbage().
void GarbageCollectionPrologue | ( | ) |
Definition at line 403 of file heap.cc.
References ASSERT, TranscendentalCache::Clear(), Heap::ClearJSFunctionResultCaches(), StoreBuffer::GCPrologue(), LiveObjectList::GCPrologue(), Heap::NOT_IN_GC, Print(), Heap::store_buffer(), and Isolate::transcendental_cache().
Referenced by Heap::CollectGarbage().
|
inline |
Definition at line 1326 of file heap.h.
Referenced by GlobalHandles::PostGarbageCollectionProcessing(), Heap::ProcessWeakReferences(), and IncrementalMarking::Step().
|
inline |
|
inline |
Definition at line 1536 of file heap.h.
Referenced by Heap::TearDown().
|
inline |
Definition at line 1533 of file heap.h.
Referenced by Heap::TearDown().
|
inline |
Definition at line 1539 of file heap.h.
Referenced by Heap::TearDown().
Definition at line 2969 of file heap.cc.
References Smi::cast(), String::cast(), and Object::Number().
Referenced by Heap::NumberToString().
|
inline |
Definition at line 1634 of file heap.h.
Referenced by Factory::NewFunctionFromSharedFunctionInfo(), StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget(), and StaticMarkingVisitor< StaticVisitor >::VisitSharedFunctionInfo().
bool HasBeenSetUp | ( | ) |
Definition at line 234 of file heap.cc.
References v8::internal::NULL.
Referenced by Heap::AdjustAmountOfExternalAllocatedMemory(), Heap::Available(), Heap::Capacity(), Heap::CommittedMemory(), Heap::CommittedMemoryExecutable(), Heap::ConfigureHeap(), Heap::Contains(), and Heap::InSpace().
|
inline |
Definition at line 1603 of file heap.h.
Referenced by StringsStorage::GetName().
|
inline |
Definition at line 1184 of file heap.h.
Referenced by JSObject::AddFastProperty(), and Isolate::MayNamedAccess().
bool IdleNotification | ( | int | hint | ) |
Definition at line 5139 of file heap.cc.
References Heap::AdvanceSweepers(), Heap::AgeInlineCaches(), ASSERT, Heap::CollectAllGarbage(), Isolate::counters(), Serializer::enabled(), Heap::incremental_marking(), Heap::IsSweepingComplete(), IncrementalMarking::kAllocatedThreshold, Heap::kReduceMemoryFootprintMask, v8::internal::Max(), v8::internal::Min(), and IncrementalMarking::Start().
|
inline |
Definition at line 1528 of file heap.h.
Referenced by RegExpCompiler::Assemble().
|
inline |
Definition at line 1116 of file heap.h.
References v8::internal::PrintF().
Referenced by MemoryChunk::set_scan_on_scavenge().
|
inline |
Definition at line 1553 of file heap.h.
Referenced by LargeObjectSpace::AllocateRaw(), Heap::ClearNormalizedMapCaches(), Heap::CollectAllAvailableGarbage(), MarkCompactCollector::CollectGarbage(), Heap::CollectGarbage(), v8::internal::CopyObjectToObjectElements(), HeapObject::GetWriteBarrierMode(), Heap::IdleNotification(), Page::Initialize(), IncrementalMarkingMarkingVisitor::INLINE(), MarkCompactCollector::InvalidateCode(), Heap::IterateAndMarkPointersToFromSpace(), Heap::OldGenerationAllocationLimitReached(), Deoptimizer::PatchStackCheckCodeAt(), Heap::PerformScavenge(), MarkCompactCollector::Prepare(), IncrementalMarking::RecordWriteForEvacuationFromCode(), IncrementalMarking::RecordWriteFromCode(), LargeObjectSpace::ReserveSpace(), Deoptimizer::RevertStackCheckCodeAt(), JSFunction::set_code(), HeapObject::set_map(), MemoryChunk::set_scan_on_scavenge(), Heap::TearDown(), and Marking::TransferMark().
|
inline |
|
inline |
Definition at line 302 of file heap-inl.h.
References NewSpace::FromSpaceContains().
Referenced by Heap::IterateAndMarkPointersToFromSpace(), ScavengeWeakObjectRetainer::RetainAs(), Heap::UpdateNewSpaceReferencesInExternalStringTable(), and PointersUpdatingVisitor::UpdateSlot().
|
inline |
Definition at line 476 of file heap.h.
Referenced by v8::internal::RUNTIME_FUNCTION(), and NewSpace::SetUp().
|
inline |
Definition at line 288 of file heap-inl.h.
References ASSERT, NewSpace::Contains(), Heap::InToSpace(), and Heap::NOT_IN_GC.
Referenced by ExternalStringTable::AddString(), Heap::AllocateFixedArray(), ExternalStringTable::CleanUp(), Map::ClearCodeCache(), Heap::CopyFixedArrayWithMap(), Heap::CopyJSObject(), v8::internal::CopyObjectToObjectElements(), GlobalHandles::Create(), HeapObject::GetWriteBarrierMode(), JSObject::InitializeBody(), JSProxy::InitializeBody(), Heap::IterateAndMarkPointersToFromSpace(), MarkCompactCollector::MigrateObject(), FixedArray::NoIncrementalWriteBarrierSet(), GlobalHandles::PostGarbageCollectionProcessing(), JSObject::PrepareElementsForSort(), Heap::RecordWrite(), Heap::RecordWrites(), Serializer::RootIndex(), FixedArray::set_null(), FixedArray::set_null_unchecked(), FixedArray::set_undefined(), Heap::SymbolMapForString(), StringDictionary::TransformPropertiesToFastFor(), IncrementalMarking::UpdateMarkingDequeAfterScavenge(), Heap::UpdateNewSpaceReferencesInExternalStringTable(), RuntimeProfiler::UpdateSamplesAfterScavenge(), and NewSpaceScavenger::VisitPointer().
|
inline |
Definition at line 297 of file heap-inl.h.
References NewSpace::Contains().
|
inline |
bool InSpace | ( | Address | addr, |
AllocationSpace | space | ||
) |
Definition at line 5385 of file heap.cc.
References v8::internal::CELL_SPACE, v8::internal::CODE_SPACE, PagedSpace::Contains(), Heap::HasBeenSetUp(), OS::IsOutsideAllocatedSpace(), v8::internal::LO_SPACE, v8::internal::MAP_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, LargeObjectSpace::SlowContains(), and NewSpace::ToSpaceContains().
Referenced by Heap::InSpace().
bool InSpace | ( | HeapObject * | value, |
AllocationSpace | space | ||
) |
Definition at line 5380 of file heap.cc.
References HeapObject::address(), and Heap::InSpace().
|
inline |
Definition at line 307 of file heap-inl.h.
References NewSpace::ToSpaceContains().
Referenced by Heap::InNewSpace(), and Heap::IterateAndMarkPointersToFromSpace().
bool IsHeapIterable | ( | ) |
Definition at line 5103 of file heap.cc.
References Heap::old_data_space(), and Heap::old_pointer_space().
Referenced by Heap::EnsureHeapIsIterable().
|
inline |
Definition at line 1328 of file heap.h.
Referenced by String::MakeExternal().
|
inline |
Definition at line 503 of file heap-inl.h.
Referenced by IncrementalMarking::Abort(), JSObject::AddConstantFunctionProperty(), JSObject::AddFastProperty(), JSObject::AddProperty(), Heap::AdjustAmountOfExternalAllocatedMemory(), Heap::AllocateArgumentsObject(), Heap::AllocateConsString(), Heap::AllocateExternalStringFromAscii(), Heap::AllocateExternalStringFromTwoByte(), LargeObjectSpace::AllocateRaw(), RegExpCompiler::Assemble(), SharedFunctionInfo::AttachInitialMap(), SharedFunctionInfo::CanGenerateInlineConstructor(), Heap::CheckpointObjectStats(), Heap::CommittedMemoryExecutable(), StoreBuffer::Compact(), SharedFunctionInfo::CompleteInobjectSlackTracking(), SharedFunctionInfo::DetachInitialMap(), PagedSpace::Expand(), IncrementalMarking::Finalize(), Heap::FindCodeObject(), LargeObjectSpace::FreeUnmarkedObjects(), V8HeapExplorer::GetConstructorName(), Object::GetElementWithReceiver(), HeapObject::GetHeap(), HeapObject::GetIsolate(), Object::GetProperty(), JSObject::GetPropertyWithFailedAccessCheck(), Object::GetPrototype(), JSObject::HasElementWithReceiver(), JSObject::HasLocalElement(), JSObject::HasRealElementProperty(), JSObject::LookupAccessor(), IncrementalMarking::MarkingComplete(), JSObject::NormalizeElements(), JSObject::NormalizeProperties(), PagedSpace::PagedSpace(), IC::PostPatching(), IncrementalMarking::RecordCodeTargetPatch(), MarkCompactCollector::RecordCodeTargetPatch(), Heap::RecordStats(), JSObject::ReferencesObject(), Heap::ReinitializeJSReceiver(), PagedSpace::ReleasePage(), JSObject::SetElement(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetPropertyForResult(), JSReceiver::SetPrototype(), JSFunction::SetPrototype(), Heap::SetStackLimits(), Heap::SetUp(), NewSpace::SetUp(), SemiSpace::ShrinkTo(), SharedFunctionInfo::StartInobjectSlackTracking(), PagedSpace::TearDown(), NewSpace::TearDown(), LargeObjectSpace::TearDown(), String::ToCString(), ReplacementStringBuilder::ToString(), String::ToWideCString(), and MarkCompactMarkingVisitor::VisitUnmarkedObjects().
|
inline |
Definition at line 1557 of file heap.h.
References PagedSpace::IsSweepingComplete(), Heap::old_data_space(), and Heap::old_pointer_space().
Referenced by Heap::IdleNotification().
void IterateAndMarkPointersToFromSpace | ( | Address | start, |
Address | end, | ||
ObjectSlotCallback | callback | ||
) |
Definition at line 5537 of file heap.cc.
References HeapObject::cast(), StoreBuffer::EnterDirectlyIntoStoreBuffer(), HeapObject::FromAddress(), Heap::incremental_marking(), Heap::InFromSpace(), Heap::InNewSpace(), Heap::InToSpace(), Marking::IsBlack(), v8::internal::kPointerSize, Heap::mark_compact_collector(), Marking::MarkBitFrom(), and SLOW_ASSERT.
void IterateRoots | ( | ObjectVisitor * | v, |
VisitMode | mode | ||
) |
Definition at line 5740 of file heap.cc.
References Heap::IterateStrongRoots(), and Heap::IterateWeakRoots().
Referenced by V8HeapExplorer::AddRootEntries(), and V8HeapExplorer::IterateAndExtractReferences().
void IterateStrongRoots | ( | ObjectVisitor * | v, |
VisitMode | mode | ||
) |
Definition at line 5758 of file heap.cc.
References Isolate::bootstrapper(), Isolate::builtins(), Isolate::compilation_cache(), Isolate::deoptimizer_data(), Isolate::global_handles(), Isolate::handle_scope_implementer(), ThreadManager::Iterate(), Bootstrapper::Iterate(), SerializerDeserializer::Iterate(), CompilationCache::Iterate(), HandleScopeImplementer::Iterate(), Isolate::Iterate(), GlobalHandles::IterateAllRoots(), Builtins::IterateBuiltins(), Isolate::IterateDeferredHandles(), GlobalHandles::IterateNewSpaceStrongAndDependentRoots(), GlobalHandles::IterateStrongRoots(), Heap::kStrongRootListLength, v8::internal::NULL, 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 Deserializer::Deserialize(), and Heap::IterateRoots().
void IterateWeakRoots | ( | ObjectVisitor * | v, |
VisitMode | mode | ||
) |
Definition at line 5746 of file heap.cc.
References ExternalStringTable::Iterate(), Heap::kSymbolTableRootIndex, v8::internal::VISIT_ALL_IN_SCAVENGE, and v8::internal::VISIT_ALL_IN_SWEEP_NEWSPACE.
Referenced by Deserializer::Deserialize(), and Heap::IterateRoots().
|
inline |
Definition at line 511 of file heap.h.
Referenced by IncrementalMarking::Abort(), v8::internal::BUILTIN(), MarkCompactCollector::ClearMarkbits(), Heap::FreeQueuedChunks(), Heap::GarbageCollectionEpilogue(), InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), StatisticsExtension::GetCounters(), StoreBuffer::IteratePointersToNewSpace(), MarkCompactCollector::TryPromoteObject(), and StoreBuffer::Verify().
MaybeObject * LookupAsciiSymbol | ( | Vector< const char > | str | ) |
Definition at line 5449 of file heap.cc.
References ASSERT, Heap::kSymbolTableRootIndex, and v8::internal::NULL.
Referenced by Runtime::InitializeIntrinsicFunctionNames(), and Heap::ReinitializeJSReceiver().
|
inline |
Definition at line 1035 of file heap.h.
References v8::internal::CStrVector(), and Heap::LookupSymbol().
MaybeObject * LookupAsciiSymbol | ( | Handle< SeqAsciiString > | string, |
int | from, | ||
int | length | ||
) |
Definition at line 5464 of file heap.cc.
References ASSERT, Heap::kSymbolTableRootIndex, and v8::internal::NULL.
MaybeObject * LookupSingleCharacterStringFromCode | ( | uint16_t | code | ) |
Definition at line 3492 of file heap.cc.
References Heap::AllocateRawTwoByteString(), String::cast(), v8::internal::code(), String::kMaxAsciiCharCode, Heap::LookupSymbol(), and String::Set().
Referenced by Heap::AllocateStringFromAscii(), Heap::AllocateSubString(), and v8::internal::LookupSingleCharacterStringFromCode().
MaybeObject * LookupSymbol | ( | Vector< const char > | str | ) |
Definition at line 5434 of file heap.cc.
References ASSERT, Heap::kSymbolTableRootIndex, and v8::internal::NULL.
Referenced by RegExpResultsCache::Enter(), Heap::LookupAsciiSymbol(), Heap::LookupSingleCharacterStringFromCode(), JSObject::SetPropertyForResult(), and StringDictionary::TransformPropertiesToFastFor().
MaybeObject * LookupSymbol | ( | String * | str | ) |
Definition at line 5499 of file heap.cc.
References ASSERT, Heap::kSymbolTableRootIndex, and v8::internal::NULL.
Definition at line 5484 of file heap.cc.
References ASSERT, Heap::kSymbolTableRootIndex, and v8::internal::NULL.
|
inline |
Definition at line 509 of file heap.h.
Referenced by MarkCompactCollector::ClearMarkbits(), Heap::GarbageCollectionEpilogue(), HeapSnapshotGenerator::GenerateSnapshot(), StoreBuffer::IteratePointersToNewSpace(), Heap::paged_space(), and StoreBuffer::Verify().
Map * MapForExternalArrayType | ( | ExternalArrayType | array_type | ) |
Definition at line 3048 of file heap.cc.
References Map::cast(), and Heap::RootIndexForExternalArrayType().
Referenced by Heap::AllocateExternalArray().
|
inline |
Definition at line 1541 of file heap.h.
Referenced by Map::ClearNonLiveTransitions(), Heap::CollectAllAvailableGarbage(), Heap::CollectGarbage(), Deoptimizer::DeoptimizeFunction(), LargeObjectSpace::FreeUnmarkedObjects(), IncrementalMarkingMarkingVisitor::INLINE(), MarkCompactMarkingVisitor::INLINE(), Heap::IterateAndMarkPointersToFromSpace(), StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray(), Heap::ProcessWeakReferences(), IncrementalMarking::RecordWriteIntoCodeSlow(), IncrementalMarking::RecordWriteOfCodeEntrySlow(), IncrementalMarking::RecordWriteSlow(), MarkCompactCollector::TryPromoteObject(), StaticMarkingVisitor< StaticVisitor >::VisitCodeEntry(), StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget(), StaticMarkingVisitor< StaticVisitor >::VisitDebugTarget(), StaticMarkingVisitor< StaticVisitor >::VisitEmbeddedPointer(), StaticMarkingVisitor< StaticVisitor >::VisitJSFunction(), MarkCompactMarkingVisitor::VisitJSWeakMap(), StaticMarkingVisitor< StaticVisitor >::VisitNativeContext(), StaticMarkingVisitor< StaticVisitor >::VisitSharedFunctionInfo(), and MarkCompactMarkingVisitor::VisitUnmarkedObjects().
|
inline |
Definition at line 478 of file heap.h.
Referenced by Heap::SetUp(), and TEST().
|
inline |
|
inline |
Definition at line 471 of file heap.h.
Referenced by V8::GetHeapStatistics(), Heap::SetUp(), and TEST().
|
inline |
Definition at line 474 of file heap.h.
Referenced by IncrementalMarking::Step().
Definition at line 386 of file heap-inl.h.
References ASSERT, v8::internal::IsAligned(), and v8::internal::kPointerSize.
Referenced by MarkCompactCollector::MigrateObject().
|
inline |
Definition at line 1192 of file heap.h.
Referenced by MarkCompactCollector::CollectEvacuationCandidates().
|
inline |
Definition at line 1189 of file heap.h.
Referenced by Context::AddOptimizedFunction(), and IncrementalMarking::Hurry().
|
inline |
Definition at line 505 of file heap.h.
Referenced by IncrementalMarking::Abort(), PromotionQueue::ActivateGuardIfOnTheSamePage(), MarkCompactCollector::ClearMarkbits(), StoreBuffer::EnterDirectlyIntoStoreBuffer(), IncrementalMarking::Finalize(), Heap::GarbageCollectionEpilogue(), StatisticsExtension::GetCounters(), PromotionQueue::Initialize(), Runtime::PerformGC(), IncrementalMarking::PrepareForScavenge(), Heap::ReserveSpace(), v8::internal::RUNTIME_FUNCTION(), and IncrementalMarking::Start().
|
inline |
Definition at line 542 of file heap.h.
References NewSpace::allocation_limit_address().
|
inline |
Definition at line 539 of file heap.h.
References NewSpace::allocation_top_address().
|
inline |
Definition at line 502 of file heap.h.
References NewSpace::mask().
|
inline |
Definition at line 501 of file heap.h.
References NewSpace::start().
|
inline |
Definition at line 503 of file heap.h.
References NewSpace::top().
Referenced by StringTracker::IsFreshUnusedString(), and StringTracker::RecordWrite().
|
inline |
Definition at line 1479 of file heap.h.
References NewSpace::Capacity(), Heap::PromotedSpaceSizeOfObjects(), and Heap::PromotedTotalSize().
Referenced by Heap::CollectGarbage().
|
inline |
Definition at line 1107 of file heap.h.
Referenced by V8::ContextDisposedNotification().
MaybeObject * NumberFromDouble | ( | double | value, |
PretenureFlag | pretenure = NOT_TENURED |
||
) |
Definition at line 3081 of file heap.cc.
References Heap::AllocateHeapNumber(), DoubleRepresentation::bits, v8::internal::FastD2I(), Smi::FromInt(), and Smi::IsValid().
Referenced by FixedDoubleArray::get(), ExternalFloatArray::get(), ExternalDoubleArray::get(), and JSArray::JSArrayUpdateLengthFromIndex().
|
inline |
Definition at line 232 of file heap-inl.h.
References Heap::AllocateHeapNumber(), v8::internal::FastI2D(), Smi::FromInt(), and Smi::IsValid().
Referenced by ExternalIntArray::get().
|
inline |
Definition at line 240 of file heap-inl.h.
References Heap::AllocateHeapNumber(), v8::internal::FastUI2D(), Smi::FromInt(), and Smi::IsValid().
Referenced by ExternalUnsignedIntArray::get(), DictionaryElementsAccessor::SetLengthWithoutNormalize(), ExternalUnsignedIntArray::SetValue(), and Heap::Uint32ToString().
Definition at line 3009 of file heap.cc.
References Heap::AllocateStringFromAscii(), ARRAY_SIZE, Smi::cast(), HeapNumber::cast(), String::cast(), Isolate::counters(), v8::internal::CStrVector(), v8::internal::DoubleToCString(), Heap::GetNumberStringCache(), v8::internal::IntToCString(), Heap::SetNumberStringCache(), Smi::value(), and HeapNumber::value().
Referenced by Heap::Uint32ToString().
|
inline |
Definition at line 507 of file heap.h.
Referenced by Heap::AdvanceSweepers(), MarkCompactCollector::ClearMarkbits(), StoreBuffer::Compact(), StoreBuffer::EnterDirectlyIntoStoreBuffer(), Heap::GarbageCollectionEpilogue(), HeapSnapshotGenerator::GenerateSnapshot(), StatisticsExtension::GetCounters(), MemoryChunk::Initialize(), Heap::IsHeapIterable(), Heap::IsSweepingComplete(), Heap::paged_space(), IncrementalMarking::Start(), and MarkCompactCollector::StartCompaction().
|
inline |
Definition at line 506 of file heap.h.
Referenced by Heap::AdvanceSweepers(), MarkCompactCollector::ClearMarkbits(), Heap::GarbageCollectionEpilogue(), HeapSnapshotGenerator::GenerateSnapshot(), StatisticsExtension::GetCounters(), Heap::IsHeapIterable(), Heap::IsSweepingComplete(), Heap::paged_space(), IncrementalMarking::Start(), MarkCompactCollector::StartCompaction(), and StoreBuffer::Verify().
|
inline |
Definition at line 1412 of file heap.h.
References NewSpace::Capacity(), Heap::kMinimumAllocationLimit, v8::internal::Max(), and v8::internal::Min().
|
inline |
Definition at line 312 of file heap-inl.h.
References Heap::incremental_marking(), and Heap::OldGenerationSpaceAvailable().
|
inline |
Definition at line 1394 of file heap.h.
References Heap::PromotedTotalSize().
Referenced by LargeObjectSpace::ReserveSpace().
|
inline |
Definition at line 1386 of file heap.h.
References Heap::PromotedTotalSize().
|
inline |
Definition at line 1390 of file heap.h.
References Heap::PromotedTotalSize().
Referenced by Heap::OldGenerationAllocationLimitReached(), and LargeObjectSpace::ReserveSpace().
|
inline |
Definition at line 1402 of file heap.h.
References NewSpace::Capacity(), Heap::kMinimumPromotionLimit, v8::internal::Max(), and v8::internal::Min().
|
inline |
Definition at line 512 of file heap.h.
References v8::internal::CELL_SPACE, Heap::cell_space(), v8::internal::CODE_SPACE, Heap::code_space(), v8::internal::LO_SPACE, v8::internal::MAP_SPACE, Heap::map_space(), v8::internal::NEW_SPACE, v8::internal::NULL, v8::internal::OLD_DATA_SPACE, Heap::old_data_space(), v8::internal::OLD_POINTER_SPACE, Heap::old_pointer_space(), and UNREACHABLE.
Referenced by Heap::ReserveSpace().
void PerformScavenge | ( | ) |
Definition at line 652 of file heap.cc.
References Heap::GCTracer, Heap::incremental_marking(), v8::internal::MARK_COMPACTOR, v8::internal::NULL, v8::internal::SCAVENGER, and Heap::tracer().
|
inline |
Definition at line 440 of file heap-inl.h.
References v8::internal::KB, String::length(), and String::TryFlatten().
void PrintShortHeapStatistics | ( | ) |
Definition at line 327 of file heap.cc.
References Heap::Available(), MemoryAllocator::Available(), PagedSpace::Available(), NewSpace::Available(), LargeObjectSpace::Available(), Heap::CommittedMemory(), PagedSpace::CommittedMemory(), NewSpace::CommittedMemory(), LargeObjectSpace::CommittedMemory(), v8::internal::KB, Isolate::memory_allocator(), v8::internal::PrintPID(), MemoryAllocator::Size(), NewSpace::Size(), Heap::SizeOfObjects(), PagedSpace::SizeOfObjects(), LargeObjectSpace::SizeOfObjects(), and V8_PTR_PREFIX.
void ProcessWeakReferences | ( | WeakObjectRetainer * | retainer | ) |
Definition at line 1467 of file heap.cc.
References ASSERT, Heap::gc_state(), FixedArray::get(), MarkCompactCollector::is_compacting(), Heap::MARK_COMPACT, Heap::mark_compact_collector(), Context::NEXT_CONTEXT_LINK, v8::internal::NULL, Context::OPTIMIZED_FUNCTIONS_LIST, HeapObject::RawField(), WeakObjectRetainer::RetainAs(), FixedArray::set_unchecked(), FixedArray::SizeFor(), and v8::internal::UPDATE_WRITE_BARRIER.
intptr_t PromotedSpaceSizeOfObjects | ( | ) |
Definition at line 5947 of file heap.cc.
References PagedSpace::SizeOfObjects(), and LargeObjectSpace::SizeOfObjects().
Referenced by IncrementalMarking::BlackToGreyAndUnshift(), Heap::NextGCIsLikelyToBeFull(), Heap::PromotedTotalSize(), and IncrementalMarking::WorthActivating().
|
inline |
Definition at line 1380 of file heap.h.
References Heap::PromotedSpaceSizeOfObjects().
Referenced by Heap::NextGCIsLikelyToBeFull(), Heap::OldGenerationCapacityAvailable(), Heap::OldGenerationPromotionLimitReached(), Heap::OldGenerationSpaceAvailable(), and IncrementalMarking::Step().
|
inline |
Definition at line 1130 of file heap.h.
Referenced by NewSpace::AddFreshPage().
|
inline |
|
inline |
|
inline |
Definition at line 1249 of file heap.h.
Referenced by StoreBuffer::Compact(), StoreBuffer::Mark(), StoreBuffer::SetUp(), and StoreBuffer::TearDown().
void QueueMemoryChunkForFree | ( | MemoryChunk * | chunk | ) |
Definition at line 7220 of file heap.cc.
References MemoryChunk::set_next_chunk().
Referenced by LargeObjectSpace::FreeUnmarkedObjects(), and PagedSpace::ReleasePage().
|
inline |
Definition at line 1659 of file heap.h.
References ASSERT, v8::internal::CODE_TYPE, Heap::FIRST_CODE_KIND_SUB_TYPE, Heap::FIRST_FIXED_ARRAY_SUB_TYPE, v8::internal::FIXED_ARRAY_TYPE, Code::LAST_CODE_KIND, v8::internal::LAST_FIXED_ARRAY_SUB_TYPE, and v8::internal::LAST_TYPE.
Referenced by MarkCompactMarkingVisitor::ObjectStatsCountFixedArray(), MarkCompactMarkingVisitor::ObjectStatsVisitBase(), MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitMap >::Visit(), MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitCode >::Visit(), MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitSharedFunctionInfo >::Visit(), and MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitFixedArray >::Visit().
Definition at line 5910 of file heap.cc.
References ASSERT, MemoryAllocator::Available(), PagedSpace::Capacity(), NewSpace::Capacity(), HeapStats::cell_space_capacity, HeapStats::cell_space_size, HeapStats::code_space_capacity, HeapStats::code_space_size, HeapStats::end_marker, OS::GetLastError(), Isolate::global_handles(), Map::instance_type(), Heap::isolate(), HeapStats::kEndMarker, HeapStats::kStartMarker, v8::internal::LAST_TYPE, HeapStats::lo_space_size, HeapObject::map(), HeapStats::map_space_capacity, HeapStats::map_space_size, Isolate::memory_allocator(), HeapStats::memory_allocator_capacity, HeapStats::memory_allocator_size, HeapStats::new_space_capacity, HeapStats::new_space_size, v8::internal::NULL, HeapStats::objects_per_type, HeapStats::old_data_space_capacity, HeapStats::old_data_space_size, HeapStats::old_pointer_space_capacity, HeapStats::old_pointer_space_size, HeapStats::os_error, GlobalHandles::RecordStats(), MemoryAllocator::Size(), HeapObject::Size(), LargeObjectSpace::Size(), HeapStats::size_per_type, NewSpace::SizeAsInt(), PagedSpace::SizeOfObjects(), and HeapStats::start_marker.
|
inline |
Definition at line 331 of file heap-inl.h.
References Heap::InNewSpace(), and StoreBuffer::Mark().
Referenced by FixedArray::NoIncrementalWriteBarrierSet().
|
inline |
Definition at line 336 of file heap-inl.h.
References Heap::InNewSpace(), v8::internal::kPointerSize, and StoreBuffer::Mark().
Referenced by Heap::CopyJSObject(), and v8::internal::CopyObjectToObjectElements().
MaybeObject * ReinitializeJSGlobalProxy | ( | JSFunction * | constructor, |
JSGlobalProxy * | global | ||
) |
Definition at line 4386 of file heap.cc.
References Heap::AllocateFixedArray(), ASSERT, FixedArray::cast(), JSFunction::has_initial_map(), JSFunction::initial_map(), and v8::internal::TENURED.
MaybeObject * ReinitializeJSReceiver | ( | JSReceiver * | object, |
InstanceType | type, | ||
int | size | ||
) |
Definition at line 4326 of file heap.cc.
References HeapObject::address(), Heap::AllocateFixedArray(), Heap::AllocateMap(), Heap::AllocateSharedFunctionInfo(), ASSERT, JSObject::cast(), FixedArray::cast(), JSFunction::cast(), Heap::CreateFillerObjectAt(), v8::internal::FIRST_JS_OBJECT_TYPE, Map::inobject_properties(), Map::instance_size(), Heap::isolate(), v8::internal::JS_FUNCTION_TYPE, Heap::LookupAsciiSymbol(), HeapObject::map(), v8::internal::NULL, JSFunction::set_context(), Map::set_function_with_prototype(), v8::internal::TENURED, and Map::unused_property_fields().
void RememberUnmappedPage | ( | Address | page, |
bool | compacted | ||
) |
Definition at line 7274 of file heap.cc.
References Page::kPageSize.
Referenced by MemoryAllocator::Free().
void RemoveGCEpilogueCallback | ( | GCEpilogueCallback | callback | ) |
Definition at line 6384 of file heap.cc.
References ASSERT, v8::internal::NULL, List< T, P >::Remove(), and UNREACHABLE.
Referenced by V8::RemoveGCEpilogueCallback().
void RemoveGCPrologueCallback | ( | GCPrologueCallback | callback | ) |
Definition at line 6364 of file heap.cc.
References ASSERT, v8::internal::NULL, List< T, P >::Remove(), and UNREACHABLE.
Referenced by V8::RemoveGCPrologueCallback().
void RepairFreeListsAfterBoot | ( | ) |
Definition at line 439 of file heap.cc.
References v8::internal::NULL.
Referenced by Deserializer::Deserialize().
void ReserveSpace | ( | int * | sizes, |
Address * | addresses | ||
) |
Definition at line 696 of file heap.cc.
References HeapObject::address(), PagedSpace::AllocateRaw(), ASSERT, Heap::CollectGarbage(), V8::FatalProcessOutOfMemory(), v8::internal::FIRST_PAGED_SPACE, v8::internal::LAST_PAGED_SPACE, v8::internal::NEW_SPACE, Heap::new_space(), Heap::paged_space(), and FreeListNode::set_size().
Referenced by Deserializer::Deserialize(), and Deserializer::DeserializePartial().
Heap::RootListIndex RootIndexForExternalArrayType | ( | ExternalArrayType | array_type | ) |
Definition at line 3053 of file heap.cc.
References v8::kExternalByteArray, v8::kExternalDoubleArray, v8::kExternalFloatArray, v8::kExternalIntArray, v8::kExternalPixelArray, v8::kExternalShortArray, v8::kExternalUnsignedByteArray, v8::kExternalUnsignedIntArray, v8::kExternalUnsignedShortArray, and UNREACHABLE.
Referenced by Heap::MapForExternalArrayType().
|
inline |
Definition at line 1257 of file heap.h.
Referenced by Serializer::RootIndex(), and Serializer::VisitPointers().
|
inlinestatic |
Definition at line 410 of file heap-inl.h.
Referenced by Heap::ScavengePointer(), and NewSpaceScavenger::VisitPointer().
|
inlinestatic |
Definition at line 405 of file heap-inl.h.
References Heap::ScavengeObject().
|
inline |
Definition at line 1186 of file heap.h.
Referenced by Deserializer::Deserialize().
|
inline |
Definition at line 1609 of file heap.h.
References ASSERT, and Smi::FromInt().
|
inline |
Definition at line 1614 of file heap.h.
References ASSERT, and Smi::FromInt().
|
inline |
Definition at line 1619 of file heap.h.
References ASSERT, and Smi::FromInt().
|
inline |
Definition at line 1149 of file heap.h.
References ASSERT, and v8::internal::NULL.
Referenced by V8::SetGlobalGCEpilogueCallback().
|
inline |
Definition at line 1145 of file heap.h.
References ASSERT, and v8::internal::NULL.
Referenced by V8::SetGlobalGCPrologueCallback().
|
inline |
Definition at line 498 of file heap-inl.h.
Referenced by Factory::NewScript().
Definition at line 2989 of file heap.cc.
References Smi::cast(), and Object::Number().
Referenced by Heap::NumberToString().
|
inline |
Definition at line 1624 of file heap.h.
References ASSERT, and Smi::FromInt().
void SetStackLimits | ( | ) |
Definition at line 6253 of file heap.cc.
References ASSERT, Heap::isolate(), StackGuard::jslimit(), v8::internal::kSmiTag, v8::internal::kSmiTagMask, v8::internal::NULL, StackGuard::real_jslimit(), and Isolate::stack_guard().
Referenced by StackGuard::ArchiveStackGuard(), StackGuard::ClearThread(), StackGuard::InitThread(), StackGuard::RequestCodeReadyEvent(), StackGuard::RequestGC(), StackGuard::RequestRuntimeProfilerTick(), and StackGuard::RestoreStackGuard().
bool SetUp | ( | bool | create_heap_objects | ) |
Definition at line 6139 of file heap.cc.
References ASSERT, Heap::Available(), v8::internal::CallOnce(), Heap::Capacity(), v8::internal::CELL_SPACE, Isolate::code_range(), v8::internal::CODE_SPACE, Heap::ConfigureHeapDefault(), Heap::CreateApiObjects(), OS::CreateMutex(), v8::internal::EXECUTABLE, Smi::FromInt(), Heap::isolate(), v8::internal::LO_SPACE, LOG, v8::internal::MAP_SPACE, Heap::MaxExecutableSize(), Heap::MaxReserved(), Isolate::memory_allocator(), v8::internal::NOT_EXECUTABLE, v8::internal::NULL, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, V8::RandomPrivate(), StoreBuffer::SetUp(), CodeRange::SetUp(), MemoryAllocator::SetUp(), PagedSpace::SetUp(), NewSpace::SetUp(), LargeObjectSpace::SetUp(), and Heap::store_buffer().
|
inline |
Definition at line 318 of file heap-inl.h.
References NewSpace::age_mark(), MemoryChunk::ContainsLimit(), NewSpace::EffectiveCapacity(), NewSpacePage::FromAddress(), MemoryChunk::IsFlagSet(), MemoryChunk::NEW_SPACE_BELOW_AGE_MARK, and NewSpace::Size().
|
inlinestatic |
Definition at line 1287 of file heap.h.
Referenced by MemoryAllocator::AllocateChunk(), LargeObjectSpace::AllocateRaw(), Map::ClearTransitions(), MemoryAllocator::CommitBlock(), and Heap::GarbageCollectionEpilogue().
void Shrink | ( | ) |
Definition at line 6345 of file heap.cc.
References v8::internal::NULL.
Referenced by Heap::CollectAllAvailableGarbage(), and Heap::EnsureFromSpaceIsCommitted().
intptr_t SizeOfObjects | ( | ) |
Definition at line 429 of file heap.cc.
References v8::internal::NULL.
Referenced by Heap::GarbageCollectionEpilogue(), V8::GetHeapStatistics(), and Heap::PrintShortHeapStatistics().
STATIC_CHECK | ( | kUndefinedValueRootIndex | = =Internals::kUndefinedValueRootIndex | ) |
STATIC_CHECK | ( | kNullValueRootIndex | = =Internals::kNullValueRootIndex | ) |
STATIC_CHECK | ( | kTrueValueRootIndex | = =Internals::kTrueValueRootIndex | ) |
STATIC_CHECK | ( | kFalseValueRootIndex | = =Internals::kFalseValueRootIndex | ) |
STATIC_CHECK | ( | kempty_symbolRootIndex | = =Internals::kEmptySymbolRootIndex | ) |
|
inline |
Definition at line 1545 of file heap.h.
Referenced by Heap::FreeQueuedChunks(), Heap::GarbageCollectionEpilogue(), Heap::GarbageCollectionPrologue(), MarkCompactCollector::MigrateObject(), Heap::SetUp(), StoreBuffer::StoreBufferOverflow(), Heap::TearDown(), and Serializer::VisitPointers().
|
inline |
Definition at line 1259 of file heap.h.
Referenced by StoreBuffer::TopAddress().
Definition at line 4490 of file heap.cc.
References v8::internal::ASCII_STRING_TYPE, v8::internal::CONS_ASCII_STRING_TYPE, v8::internal::CONS_STRING_TYPE, v8::internal::EXTERNAL_ASCII_STRING_TYPE, v8::internal::EXTERNAL_STRING_TYPE, v8::internal::EXTERNAL_STRING_WITH_ASCII_DATA_TYPE, Heap::InNewSpace(), Map::instance_type(), HeapObject::map(), v8::internal::NULL, v8::internal::SHORT_EXTERNAL_ASCII_STRING_TYPE, v8::internal::SHORT_EXTERNAL_STRING_TYPE, v8::internal::SHORT_EXTERNAL_STRING_WITH_ASCII_DATA_TYPE, and v8::internal::STRING_TYPE.
Referenced by SymbolKey::AsObject().
|
inline |
Definition at line 345 of file heap-inl.h.
References v8::internal::OLD_POINTER_SPACE, and Heap::TargetSpaceId().
Referenced by MarkCompactCollector::TryPromoteObject().
|
inline |
Definition at line 354 of file heap-inl.h.
References ASSERT, v8::internal::CODE_TYPE, v8::internal::FIRST_NONSTRING_TYPE, v8::internal::JS_GLOBAL_PROPERTY_CELL_TYPE, v8::internal::kIsIndirectStringMask, v8::internal::kIsIndirectStringTag, v8::internal::LAST_DATA_TYPE, v8::internal::MAP_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::OLD_DATA_SPACE, and v8::internal::OLD_POINTER_SPACE.
Referenced by Heap::Allocate(), and Heap::TargetSpace().
void TearDown | ( | ) |
Definition at line 6270 of file heap.cc.
References Heap::get_max_alive_after_gc(), Heap::get_max_gc_pause(), Heap::get_min_in_mutator(), Isolate::global_handles(), Heap::incremental_marking(), Isolate::memory_allocator(), v8::internal::NULL, v8::internal::PrintF(), Heap::store_buffer(), IncrementalMarking::TearDown(), StoreBuffer::TearDown(), GlobalHandles::TearDown(), ExternalStringTable::TearDown(), MemoryAllocator::TearDown(), PagedSpace::TearDown(), NewSpace::TearDown(), LargeObjectSpace::TearDown(), and V8_PTR_PREFIX.
|
inline |
Definition at line 652 of file heap-inl.h.
Referenced by v8::internal::RUNTIME_FUNCTION(), and Object::ToBoolean().
|
inline |
Definition at line 1527 of file heap.h.
Referenced by RegExpCompiler::Assemble().
|
inline |
Definition at line 1522 of file heap.h.
Referenced by Heap::CollectGarbage(), and Heap::PerformScavenge().
MaybeObject * Uint32ToString | ( | uint32_t | value, |
bool | check_number_string_cache = true |
||
) |
Definition at line 3039 of file heap.cc.
References Heap::NumberFromUint32(), and Heap::NumberToString().
Referenced by JSProxy::GetElementWithHandler(), JSProxy::HasElementWithHandler(), JSObject::SetElementWithCallbackSetterInPrototypes(), and JSProxy::SetElementWithHandler().
|
inline |
Definition at line 547 of file heap.h.
References NewSpace::UncommitFromSpace().
Referenced by Heap::CollectAllAvailableGarbage().
void UpdateNewSpaceReferencesInExternalStringTable | ( | ExternalStringTableUpdaterCallback | updater_func | ) |
Definition at line 1367 of file heap.cc.
References ASSERT, Heap::InFromSpace(), Heap::InNewSpace(), and v8::internal::NULL.
Referenced by Heap::UpdateReferencesInExternalStringTable().
void UpdateReferencesInExternalStringTable | ( | ExternalStringTableUpdaterCallback | updater_func | ) |
Definition at line 1404 of file heap.cc.
References Heap::UpdateNewSpaceReferencesInExternalStringTable().
void VisitExternalResources | ( | v8::ExternalResourceVisitor * | visitor | ) |
Definition at line 1548 of file heap.cc.
References String::cast(), ExternalStringTable::Iterate(), and Utils::ToLocal().
Referenced by V8::VisitExternalResources().
void ZapFromSpace | ( | ) |
Definition at line 5523 of file heap.cc.
References Memory::Address_at(), MemoryChunk::area_end(), MemoryChunk::area_start(), NewSpace::FromSpaceEnd(), NewSpace::FromSpaceStart(), v8::internal::kFromSpaceZapValue, and v8::internal::kPointerSize.
Referenced by Heap::GarbageCollectionEpilogue().
|
friend |
|
friend |
|
friend |
Definition at line 2158 of file heap.h.
Referenced by Heap::CollectGarbage(), and Heap::PerformScavenge().
|
friend |
|
friend |
|
static |
Definition at line 1084 of file heap.h.
Referenced by DirectApiCallback(), DirectGetterCallback(), MarkCompactCollector::SetFlags(), TEST(), and THREADED_TEST().
|
static |
Definition at line 903 of file heap.h.
Referenced by Heap::AllocateArgumentsObject().
|
static |
Definition at line 901 of file heap.h.
Referenced by Heap::AllocateArgumentsObject(), and v8::internal::BUILTIN().
|
static |
Definition at line 895 of file heap.h.
Referenced by Heap::AllocateArgumentsObject().
|
static |
Definition at line 898 of file heap.h.
Referenced by Heap::AllocateArgumentsObject().
|
static |
Definition at line 1088 of file heap.h.
Referenced by Heap::CollectAllAvailableGarbage(), Heap::EnsureHeapIsIterable(), HeapSnapshotsCollection::FindHeapObjectById(), HeapSnapshotGenerator::GenerateSnapshot(), Logger::LogAccessorCallbacks(), Logger::LogCodeObjects(), Logger::LogCompiledFunctions(), and TEST().
|
static |
Definition at line 1399 of file heap.h.
Referenced by Heap::OldGenAllocationLimit().
|
static |
Definition at line 1398 of file heap.h.
Referenced by Heap::OldGenPromotionLimit().
|
static |
Definition at line 1081 of file heap.h.
Referenced by Heap::AdjustAmountOfExternalAllocatedMemory(), Heap::CollectAllAvailableGarbage(), Heap::CollectAllGarbage(), DisposeAndForceGcCallback(), FailedAccessCheckCallbackGC(), GCExtension::GC(), StatisticsExtension::GetCounters(), Execution::HandleStackGuardInterrupt(), main(), Runtime::PerformGC(), ThreadB::Run(), TEST(), and THREADED_TEST().
|
static |
Definition at line 1083 of file heap.h.
Referenced by Heap::CollectAllAvailableGarbage(), Heap::IdleNotification(), MarkCompactCollector::SetFlags(), and TEST().
|
static |
Definition at line 1082 of file heap.h.
Referenced by MarkCompactCollector::SetFlags().