V8 Project
|
#include <heap-snapshot-generator.h>
Public Member Functions | |
V8HeapExplorer (HeapSnapshot *snapshot, SnapshottingProgressReportingInterface *progress, v8::HeapProfiler::ObjectNameResolver *resolver) | |
virtual | ~V8HeapExplorer () |
virtual HeapEntry * | AllocateEntry (HeapThing ptr) |
void | AddRootEntries (SnapshotFiller *filler) |
int | EstimateObjectsCount (HeapIterator *iterator) |
bool | IterateAndExtractReferences (SnapshotFiller *filler) |
void | TagGlobalObjects () |
void | TagCodeObject (Code *code) |
void | TagBuiltinCodeObject (Code *code, const char *name) |
HeapEntry * | AddEntry (Address address, HeapEntry::Type type, const char *name, size_t size) |
![]() | |
virtual | ~HeapEntriesAllocator () |
Static Public Member Functions | |
static String * | GetConstructorName (JSObject *object) |
Private Types | |
typedef bool(V8HeapExplorer::* | ExtractReferencesMethod) (int entry, HeapObject *object) |
Friends | |
class | IndexedReferencesExtractor |
class | RootsReferencesExtractor |
Definition at line 328 of file heap-snapshot-generator.h.
|
private |
Definition at line 349 of file heap-snapshot-generator.h.
v8::internal::V8HeapExplorer::V8HeapExplorer | ( | HeapSnapshot * | snapshot, |
SnapshottingProgressReportingInterface * | progress, | ||
v8::HeapProfiler::ObjectNameResolver * | resolver | ||
) |
Definition at line 781 of file heap-snapshot-generator.cc.
|
virtual |
Definition at line 795 of file heap-snapshot-generator.cc.
HeapEntry * v8::internal::V8HeapExplorer::AddEntry | ( | Address | address, |
HeapEntry::Type | type, | ||
const char * | name, | ||
size_t | size | ||
) |
Definition at line 878 of file heap-snapshot-generator.cc.
References v8::internal::HeapSnapshot::AddEntry(), v8::internal::HeapProfiler::allocation_tracker(), v8::internal::HeapObjectsMap::FindOrAddEntry(), heap_object_map_, name, v8::internal::HeapSnapshot::profiler(), size, and snapshot_.
Referenced by AddEntry(), v8::internal::JSArrayBufferDataEntryAllocator::AllocateEntry(), and AllocateEntry().
|
private |
Definition at line 804 of file heap-snapshot-generator.cc.
References AddEntry(), GetConstructorName(), v8::internal::StringsStorage::GetFormatted(), v8::internal::StringsStorage::GetName(), GetSystemEntryName(), v8::internal::HeapObjectsSet::GetTag(), name, names_, NULL, objects_tags_, and v8::internal::JSRegExp::Pattern().
|
private |
Definition at line 871 of file heap-snapshot-generator.cc.
References AddEntry(), v8::internal::HeapObject::address(), name, and v8::internal::HeapObject::Size().
void v8::internal::V8HeapExplorer::AddRootEntries | ( | SnapshotFiller * | filler | ) |
|
virtual |
Implements v8::internal::HeapEntriesAllocator.
Definition at line 799 of file heap-snapshot-generator.cc.
References AddEntry().
|
private |
int v8::internal::V8HeapExplorer::EstimateObjectsCount | ( | HeapIterator * | iterator | ) |
Definition at line 975 of file heap-snapshot-generator.cc.
References NULL.
Referenced by v8::internal::HeapSnapshotGenerator::SetProgressTotal().
|
private |
Definition at line 1423 of file heap-snapshot-generator.cc.
References v8::internal::ExecutableAccessorInfo::kDataOffset, v8::internal::DeclaredAccessorInfo::kDescriptorOffset, v8::internal::AccessorInfo::kExpectedReceiverTypeOffset, v8::internal::ExecutableAccessorInfo::kGetterOffset, v8::internal::AccessorInfo::kNameOffset, v8::internal::ExecutableAccessorInfo::kSetterOffset, and SetInternalReference().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1708 of file heap-snapshot-generator.cc.
References SetPropertyReference().
Referenced by ExtractPropertyReferences().
|
private |
Definition at line 1452 of file heap-snapshot-generator.cc.
References v8::internal::AccessorPair::kGetterOffset, v8::internal::AccessorPair::kSetterOffset, and SetInternalReference().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1541 of file heap-snapshot-generator.cc.
References v8::internal::AllocationSite::kDependentCodeOffset, v8::internal::FixedBodyDescriptor< start_offset, end_offset, size >::kEndOffset, v8::internal::AllocationSite::kNestedSiteOffset, v8::internal::AllocationSite::kTransitionInfoOffset, v8::internal::AllocationSite::kWeakNextOffset, MarkAsWeakContainer(), SetInternalReference(), and v8::internal::STATIC_ASSERT().
Referenced by ExtractReferencesPass1().
Definition at line 1520 of file heap-snapshot-generator.cc.
References v8::internal::Box::kValueOffset, and SetInternalReference().
Referenced by ExtractReferencesPass1().
Definition at line 1525 of file heap-snapshot-generator.cc.
References v8::internal::Cell::kValueOffset, and SetInternalReference().
Referenced by ExtractPropertyCellReferences(), and ExtractReferencesPass1().
|
private |
Definition at line 1607 of file heap-snapshot-generator.cc.
References v8::internal::JSFunction::function_bindings(), v8::internal::FixedArray::get(), v8::internal::StringsStorage::GetFormatted(), v8::internal::JSFunction::kBoundArgumentsStartIndex, v8::internal::JSFunction::kBoundFunctionIndex, v8::internal::JSFunction::kBoundThisIndex, v8::internal::FixedArrayBase::length(), names_, and SetNativeBindReference().
Referenced by ExtractJSObjectReferences().
|
private |
Definition at line 1461 of file heap-snapshot-generator.cc.
References v8::internal::CodeCache::kDefaultCacheOffset, v8::internal::CodeCache::kNormalTypeCacheOffset, SetInternalReference(), and TagObject().
Referenced by ExtractReferencesPass1().
Definition at line 1488 of file heap-snapshot-generator.cc.
References v8::internal::Code::constant_pool(), v8::internal::Code::kConstantPoolOffset, v8::internal::Code::kDeoptimizationDataOffset, v8::internal::Code::kGCMetadataOffset, v8::internal::Code::kHandlerTableOffset, v8::internal::Code::kind(), v8::internal::Code::kNextCodeLinkOffset, v8::internal::Code::kRelocationInfoOffset, v8::internal::Code::kTypeFeedbackInfoOffset, SetInternalReference(), SetWeakReference(), TagCodeObject(), TagObject(), and v8::internal::Code::type_feedback_info().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1235 of file heap-snapshot-generator.cc.
References v8::internal::Context::closure(), v8::internal::ScopeInfo::ContextLocalName(), v8::internal::Context::declaration_context(), EXTRACT_CONTEXT_FIELD, v8::internal::Context::FIRST_WEAK_SLOT, v8::internal::ScopeInfo::FunctionContextSlotIndex(), v8::internal::ScopeInfo::FunctionName(), v8::internal::FixedArray::get(), v8::internal::ScopeInfo::HasFunctionName(), v8::internal::Context::IsNativeContext(), v8::internal::Context::MIN_CONTEXT_SLOTS, mode(), name, NATIVE_CONTEXT_FIELDS, v8::internal::Context::NATIVE_CONTEXT_SLOTS, v8::internal::Context::NEXT_CONTEXT_LINK, v8::internal::FixedArray::OffsetOfElementAt(), v8::internal::Context::OPTIMIZED_FUNCTIONS_LIST, SetContextReference(), v8::internal::STATIC_ASSERT(), and TagObject().
Referenced by ExtractReferencesPass2().
|
private |
Definition at line 1724 of file heap-snapshot-generator.cc.
References v8::internal::HashTable< Derived, Shape, Key >::Capacity(), DCHECK, v8::internal::JSObject::element_dictionary(), v8::internal::FixedArray::get(), v8::internal::JSObject::HasDictionaryElements(), v8::internal::JSObject::HasFastObjectElements(), v8::internal::HashTable< Derived, Shape, Key >::IsKey(), v8::internal::HashTable< Derived, Shape, Key >::KeyAt(), v8::internal::FixedArrayBase::length(), v8::internal::Object::Number(), SetElementReference(), and v8::internal::Dictionary< Derived, Shape, Key >::ValueAt().
Referenced by ExtractJSObjectReferences().
|
private |
Definition at line 1593 of file heap-snapshot-generator.cc.
References v8::internal::HeapObjectsSet::Contains(), v8::internal::FixedArray::get(), v8::internal::FixedArrayBase::length(), v8::internal::FixedArray::OffsetOfElementAt(), SetInternalReference(), SetWeakReference(), and weak_containers_.
Referenced by ExtractReferencesPass2().
|
private |
Definition at line 1750 of file heap-snapshot-generator.cc.
References v8::internal::JSObject::GetInternalField(), v8::internal::JSObject::GetInternalFieldCount(), v8::internal::JSObject::GetInternalFieldOffset(), and SetInternalReference().
Referenced by ExtractJSObjectReferences().
|
private |
Definition at line 1574 of file heap-snapshot-generator.cc.
References filler_, v8::internal::SnapshotFiller::FindOrAddEntry(), heap_, v8::internal::Heap::isolate(), v8::HeapGraphEdge::kInternal, v8::internal::JSArrayBuffer::kWeakFirstViewOffset, v8::internal::JSArrayBuffer::kWeakNextOffset, v8::internal::NumberToSize(), v8::internal::SnapshotFiller::SetNamedReference(), and SetWeakReference().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1219 of file heap-snapshot-generator.cc.
References v8::internal::JSCollection::kTableOffset, and SetInternalReference().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1103 of file heap-snapshot-generator.cc.
References v8::internal::JSGlobalProxy::kNativeContextOffset, and SetInternalReference().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1111 of file heap-snapshot-generator.cc.
References v8::internal::JSFunction::context(), ExtractClosureReferences(), ExtractElementReferences(), ExtractInternalReferences(), ExtractPropertyReferences(), v8::internal::PrototypeIterator::GetCurrent(), heap_, v8::internal::Heap::isolate(), v8::internal::JSArrayBufferView::kBufferOffset, v8::internal::GlobalObject::kBuiltinsOffset, v8::internal::JSFunction::kContextOffset, v8::internal::JSObject::kElementsOffset, v8::internal::GlobalObject::kGlobalContextOffset, v8::internal::GlobalObject::kGlobalProxyOffset, v8::internal::JSObject::kHeaderSize, v8::internal::GlobalObject::kHeaderSize, v8::internal::JSFunction::kLiteralsOffset, v8::internal::GlobalObject::kNativeContextOffset, v8::internal::JSFunction::kNextFunctionLinkOffset, v8::internal::JSFunction::kNonWeakFieldsEndOffset, v8::internal::kPointerSize, v8::internal::JSObject::kPropertiesOffset, v8::internal::JSFunction::kPrototypeOrInitialMapOffset, v8::internal::JSFunction::kSharedFunctionInfoOffset, v8::internal::JSFunction::kSize, v8::internal::JSArrayBufferView::kWeakNextOffset, NULL, v8::internal::JSFunction::prototype(), SetInternalReference(), SetPropertyReference(), SetWeakReference(), v8::internal::STATIC_ASSERT(), and TagObject().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1226 of file heap-snapshot-generator.cc.
References v8::internal::JSWeakCollection::kTableOffset, MarkAsWeakContainer(), and SetInternalReference().
Referenced by ExtractReferencesPass1().
Definition at line 1293 of file heap-snapshot-generator.cc.
References v8::internal::TransitionArray::back_pointer_storage(), GetEntry(), v8::internal::TransitionArray::GetPrototypeTransitions(), v8::internal::TransitionArray::HasPrototypeTransitions(), v8::internal::TransitionArray::IsSimpleTransition(), v8::internal::Map::kCodeCacheOffset, v8::internal::Map::kConstructorOffset, v8::internal::Map::kDependentCodeOffset, v8::internal::Map::kDescriptorsOffset, v8::internal::Map::kPrototypeOffset, v8::internal::Map::kTransitionsOrBackPointerOffset, map, MarkAsWeakContainer(), SetInternalReference(), and TagObject().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1530 of file heap-snapshot-generator.cc.
References ExtractCellReferences(), v8::internal::PropertyCell::kDependentCodeOffset, v8::internal::PropertyCell::kTypeOffset, MarkAsWeakContainer(), SetInternalReference(), and v8::internal::PropertyCell::type().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1629 of file heap-snapshot-generator.cc.
References v8::internal::CALLBACKS, v8::internal::HashTable< Derived, Shape, Key >::Capacity(), v8::internal::CONSTANT, ExtractAccessorPairProperty(), v8::internal::FIELD, v8::internal::DescriptorArray::GetConstant(), v8::internal::DescriptorArray::GetDetails(), v8::internal::DescriptorArray::GetFieldIndex(), v8::internal::JSObject::GetInObjectPropertyOffset(), v8::internal::DescriptorArray::GetKey(), v8::internal::DescriptorArray::GetType(), v8::internal::DescriptorArray::GetValue(), v8::internal::JSObject::HasFastProperties(), heap_, v8::internal::Heap::hidden_string(), v8::internal::JSObject::InObjectPropertyAt(), v8::internal::Representation::IsDouble(), v8::internal::HashTable< Derived, Shape, Key >::IsKey(), v8::internal::Representation::IsSmi(), v8::internal::HashTable< Derived, Shape, Key >::KeyAt(), map, v8::internal::HeapObject::map(), v8::internal::NORMAL, NULL, v8::internal::Map::NumberOfOwnDescriptors(), v8::internal::JSObject::property_dictionary(), v8::internal::JSObject::RawFastPropertyAt(), SetInternalReference(), SetPropertyReference(), TagObject(), UNREACHABLE, and v8::internal::Dictionary< Derived, Shape, Key >::ValueAt().
Referenced by ExtractJSObjectReferences().
|
private |
Definition at line 1042 of file heap-snapshot-generator.cc.
References ExtractAccessorInfoReferences(), ExtractAccessorPairReferences(), ExtractAllocationSiteReferences(), ExtractBoxReferences(), ExtractCellReferences(), ExtractCodeCacheReferences(), ExtractCodeReferences(), ExtractJSArrayBufferReferences(), ExtractJSCollectionReferences(), ExtractJSGlobalProxyReferences(), ExtractJSObjectReferences(), ExtractJSWeakCollectionReferences(), ExtractMapReferences(), ExtractPropertyCellReferences(), ExtractScriptReferences(), ExtractSharedFunctionInfoReferences(), ExtractStringReferences(), and ExtractSymbolReferences().
|
private |
Definition at line 1091 of file heap-snapshot-generator.cc.
References v8::internal::Context::cast(), ExtractContextReferences(), and ExtractFixedArrayReferences().
Definition at line 1405 of file heap-snapshot-generator.cc.
References v8::internal::Script::kContextOffset, v8::internal::Script::kLineEndsOffset, v8::internal::Script::kNameOffset, v8::internal::Script::kSourceOffset, SetInternalReference(), and TagObject().
Referenced by ExtractReferencesPass1().
|
private |
Definition at line 1351 of file heap-snapshot-generator.cc.
References v8::internal::SharedFunctionInfo::DebugName(), v8::internal::Isolate::factory(), v8::internal::StringsStorage::GetFormatted(), v8::internal::StringsStorage::GetName(), heap_, v8::internal::Heap::isolate(), v8::internal::SharedFunctionInfo::kCodeOffset, v8::internal::SharedFunctionInfo::kConstructStubOffset, v8::internal::SharedFunctionInfo::kDebugInfoOffset, v8::internal::SharedFunctionInfo::kFeedbackVectorOffset, v8::internal::SharedFunctionInfo::kFunctionDataOffset, v8::internal::SharedFunctionInfo::kind(), v8::internal::Code::Kind2String(), v8::internal::SharedFunctionInfo::kInferredNameOffset, v8::internal::SharedFunctionInfo::kInstanceClassNameOffset, v8::internal::SharedFunctionInfo::kNameOffset, v8::internal::SharedFunctionInfo::kOptimizedCodeMapOffset, v8::internal::SharedFunctionInfo::kScopeInfoOffset, v8::internal::SharedFunctionInfo::kScriptOffset, name, names_, NULL, SetInternalReference(), and TagObject().
Referenced by ExtractReferencesPass1().
Definition at line 1197 of file heap-snapshot-generator.cc.
References v8::internal::cs, v8::internal::ConsString::kFirstOffset, v8::internal::SlicedString::kParentOffset, v8::internal::ConsString::kSecondOffset, v8::internal::SlicedString::parent(), and SetInternalReference().
Referenced by ExtractReferencesPass1().
Definition at line 1212 of file heap-snapshot-generator.cc.
References v8::internal::Symbol::kNameOffset, and SetInternalReference().
Referenced by ExtractReferencesPass1().
Definition at line 1760 of file heap-snapshot-generator.cc.
Referenced by AddEntry().
|
private |
Definition at line 1772 of file heap-snapshot-generator.cc.
References filler_, v8::internal::SnapshotFiller::FindOrAddEntry(), and NULL.
Referenced by ExtractMapReferences(), IterateAndExtractSinglePass(), SetContextReference(), SetElementReference(), SetGcSubrootReference(), SetHiddenReference(), SetInternalReference(), SetNativeBindReference(), SetPropertyReference(), SetUserGlobalReference(), SetWeakReference(), and TagObject().
|
private |
Definition at line 2155 of file heap-snapshot-generator.cc.
References CHECK, v8::internal::HeapObjectsSet::GetTag(), INTERNALIZED_STRING_LIST, v8::internal::HeapObjectsSet::is_empty(), ROOT_NAME, STRING_NAME, strong_gc_subroot_names_, STRONG_ROOT_LIST, STRUCT_LIST, and STRUCT_MAP_NAME.
Referenced by SetGcSubrootReference().
|
private |
Definition at line 952 of file heap-snapshot-generator.cc.
References v8::internal::CELL_TYPE, v8::internal::FOREIGN_TYPE, v8::internal::Map::instance_type(), MAKE_STRING_MAP_CASE, MAKE_STRUCT_CASE, v8::internal::HeapObject::map(), v8::internal::MAP_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::PROPERTY_CELL_TYPE, STRING_TYPE_LIST, and STRUCT_LIST.
Referenced by AddEntry().
Definition at line 1909 of file heap-snapshot-generator.cc.
References heap_.
Referenced by MarkAsWeakContainer(), SetHiddenReference(), SetInternalReference(), SetWeakReference(), and TagObject().
bool v8::internal::V8HeapExplorer::IterateAndExtractReferences | ( | SnapshotFiller * | filler | ) |
Definition at line 1845 of file heap-snapshot-generator.cc.
References filler_, v8::internal::RootsReferencesExtractor::FillReferences(), heap_, v8::internal::Heap::IterateRoots(), v8::internal::VisitorSynchronization::kNumberOfSyncTags, NULL, progress_, v8::internal::SnapshottingProgressReportingInterface::ProgressReport(), v8::internal::RootsReferencesExtractor::SetCollectingAllReferences(), SetGcRootsReference(), SetRootGcRootsReference(), v8::internal::VISIT_ALL, and v8::internal::VISIT_ONLY_STRONG.
Referenced by v8::internal::HeapSnapshotGenerator::FillReferences().
|
private |
Definition at line 1882 of file heap-snapshot-generator.cc.
References GetEntry(), heap_, v8::internal::HeapObject::kMapOffset, NULL, progress_, v8::internal::SnapshottingProgressReportingInterface::ProgressReport(), v8::internal::SnapshottingProgressReportingInterface::ProgressStep(), and SetInternalReference().
|
private |
Definition at line 2184 of file heap-snapshot-generator.cc.
References v8::internal::HeapObjectsSet::Insert(), IsEssentialObject(), and weak_containers_.
Referenced by ExtractAllocationSiteReferences(), ExtractJSWeakCollectionReferences(), ExtractMapReferences(), and ExtractPropertyCellReferences().
|
private |
Definition at line 1925 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), v8::internal::StringsStorage::GetName(), v8::HeapGraphEdge::kContextVariable, v8::internal::IndexedReferencesExtractor::MarkVisitedField(), names_, NULL, and v8::internal::SnapshotFiller::SetNamedReference().
Referenced by ExtractContextReferences().
|
private |
Definition at line 1957 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), v8::HeapGraphEdge::kElement, NULL, and v8::internal::SnapshotFiller::SetIndexedReference().
Referenced by ExtractElementReferences().
|
private |
Definition at line 2105 of file heap-snapshot-generator.cc.
References filler_, v8::internal::HeapSnapshot::gc_roots(), v8::internal::HeapSnapshot::gc_subroot(), v8::HeapGraphEdge::kElement, v8::internal::SnapshotFiller::SetIndexedAutoIndexReference(), and snapshot_.
Referenced by IterateAndExtractReferences().
|
private |
Definition at line 2113 of file heap-snapshot-generator.cc.
References v8::internal::Context::cast(), v8::internal::HeapObjectsSet::Contains(), v8::internal::Isolate::debug(), filler_, v8::internal::HeapSnapshot::gc_subroot(), GetEntry(), GetStrongGcSubrootName(), v8::internal::Context::global_object(), heap_, v8::internal::HeapObjectsSet::Insert(), v8::internal::Debug::IsDebugGlobal(), v8::internal::Heap::isolate(), v8::HeapGraphEdge::kElement, v8::HeapGraphEdge::kInternal, v8::HeapGraphEdge::kWeak, name, NULL, v8::internal::SnapshotFiller::SetIndexedAutoIndexReference(), v8::internal::SnapshotFiller::SetNamedAutoIndexReference(), v8::internal::SnapshotFiller::SetNamedReference(), SetUserGlobalReference(), snapshot_, and user_roots_.
Referenced by v8::internal::RootsReferencesExtractor::FillReferences().
|
private |
Definition at line 2008 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), IsEssentialObject(), v8::HeapGraphEdge::kHidden, NULL, and v8::internal::SnapshotFiller::SetIndexedReference().
Referenced by v8::internal::IndexedReferencesExtractor::VisitPointers().
|
private |
Definition at line 1972 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), IsEssentialObject(), v8::HeapGraphEdge::kInternal, v8::internal::IndexedReferencesExtractor::MarkVisitedField(), NULL, and v8::internal::SnapshotFiller::SetNamedReference().
Referenced by ExtractAccessorInfoReferences(), ExtractAccessorPairReferences(), ExtractAllocationSiteReferences(), ExtractBoxReferences(), ExtractCellReferences(), ExtractCodeCacheReferences(), ExtractCodeReferences(), ExtractFixedArrayReferences(), ExtractInternalReferences(), ExtractJSCollectionReferences(), ExtractJSGlobalProxyReferences(), ExtractJSObjectReferences(), ExtractJSWeakCollectionReferences(), ExtractMapReferences(), ExtractPropertyCellReferences(), ExtractPropertyReferences(), ExtractScriptReferences(), ExtractSharedFunctionInfoReferences(), ExtractStringReferences(), ExtractSymbolReferences(), IterateAndExtractSinglePass(), and v8::internal::IndexedReferencesExtractor::VisitCodeEntry().
|
private |
Definition at line 1990 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), v8::internal::StringsStorage::GetName(), IsEssentialObject(), v8::HeapGraphEdge::kInternal, v8::internal::IndexedReferencesExtractor::MarkVisitedField(), names_, NULL, and v8::internal::SnapshotFiller::SetNamedReference().
|
private |
Definition at line 1942 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), v8::HeapGraphEdge::kShortcut, NULL, and v8::internal::SnapshotFiller::SetNamedReference().
Referenced by ExtractClosureReferences().
|
private |
Definition at line 2059 of file heap-snapshot-generator.cc.
References DCHECK, v8::internal::DISALLOW_NULLS, filler_, GetEntry(), v8::internal::StringsStorage::GetFormatted(), v8::internal::StringsStorage::GetName(), v8::HeapGraphEdge::kInternal, v8::HeapGraphEdge::kProperty, v8::internal::IndexedReferencesExtractor::MarkVisitedField(), name, names_, NULL, v8::internal::ROBUST_STRING_TRAVERSAL, and v8::internal::SnapshotFiller::SetNamedReference().
Referenced by ExtractAccessorPairProperty(), ExtractJSObjectReferences(), and ExtractPropertyReferences().
|
private |
Definition at line 2087 of file heap-snapshot-generator.cc.
References filler_, v8::internal::HeapSnapshot::gc_roots(), v8::HeapGraphEdge::kElement, v8::internal::HeapSnapshot::root(), v8::internal::SnapshotFiller::SetIndexedAutoIndexReference(), and snapshot_.
Referenced by IterateAndExtractReferences().
|
private |
Definition at line 2095 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), v8::HeapGraphEdge::kShortcut, NULL, v8::internal::HeapSnapshot::root(), v8::internal::SnapshotFiller::SetNamedAutoIndexReference(), and snapshot_.
Referenced by SetGcSubrootReference().
|
private |
Definition at line 2023 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), IsEssentialObject(), v8::HeapGraphEdge::kWeak, v8::internal::IndexedReferencesExtractor::MarkVisitedField(), NULL, and v8::internal::SnapshotFiller::SetNamedReference().
Referenced by ExtractCodeReferences(), ExtractFixedArrayReferences(), ExtractJSArrayBufferReferences(), and ExtractJSObjectReferences().
|
private |
Definition at line 2041 of file heap-snapshot-generator.cc.
References DCHECK, filler_, GetEntry(), v8::internal::StringsStorage::GetFormatted(), IsEssentialObject(), v8::HeapGraphEdge::kWeak, v8::internal::IndexedReferencesExtractor::MarkVisitedField(), names_, NULL, and v8::internal::SnapshotFiller::SetNamedReference().
void v8::internal::V8HeapExplorer::TagBuiltinCodeObject | ( | Code * | code, |
const char * | name | ||
) |
Definition at line 1474 of file heap-snapshot-generator.cc.
References v8::internal::StringsStorage::GetFormatted(), name, names_, and TagObject().
Referenced by v8::internal::RootsReferencesExtractor::FillReferences().
void v8::internal::V8HeapExplorer::TagCodeObject | ( | Code * | code | ) |
Definition at line 1479 of file heap-snapshot-generator.cc.
References v8::internal::StringsStorage::GetFormatted(), v8::internal::Code::kind(), names_, v8::internal::STUB, and TagObject().
Referenced by ExtractCodeReferences(), and v8::internal::IndexedReferencesExtractor::VisitCodeEntry().
void v8::internal::V8HeapExplorer::TagGlobalObjects | ( | ) |
Definition at line 2216 of file heap-snapshot-generator.cc.
References v8::internal::GlobalObjectsEnumerator::at(), v8::internal::GlobalObjectsEnumerator::count(), v8::internal::DeleteArray(), v8::HeapProfiler::ObjectNameResolver::GetName(), v8::internal::Isolate::global_handles(), global_object_name_resolver_, heap_, v8::internal::Heap::isolate(), v8::internal::GlobalHandles::IterateAllRoots(), NULL, objects_tags_, v8::internal::HeapObjectsSet::SetTag(), and v8::Utils::ToLocal().
Referenced by v8::internal::HeapSnapshotGenerator::GenerateSnapshot().
|
private |
Definition at line 2174 of file heap-snapshot-generator.cc.
References GetEntry(), and IsEssentialObject().
Referenced by ExtractCodeCacheReferences(), ExtractCodeReferences(), ExtractContextReferences(), ExtractJSObjectReferences(), ExtractMapReferences(), ExtractPropertyReferences(), ExtractScriptReferences(), ExtractSharedFunctionInfoReferences(), TagBuiltinCodeObject(), and TagCodeObject().
|
friend |
Definition at line 460 of file heap-snapshot-generator.h.
|
friend |
Definition at line 461 of file heap-snapshot-generator.h.
|
private |
Definition at line 453 of file heap-snapshot-generator.h.
Referenced by ExtractJSArrayBufferReferences(), GetEntry(), IterateAndExtractReferences(), SetContextReference(), SetElementReference(), SetGcRootsReference(), SetGcSubrootReference(), SetHiddenReference(), SetInternalReference(), SetNativeBindReference(), SetPropertyReference(), SetRootGcRootsReference(), SetUserGlobalReference(), and SetWeakReference().
|
private |
Definition at line 458 of file heap-snapshot-generator.h.
Referenced by TagGlobalObjects().
|
private |
Definition at line 448 of file heap-snapshot-generator.h.
Referenced by ExtractJSArrayBufferReferences(), ExtractJSObjectReferences(), ExtractPropertyReferences(), ExtractSharedFunctionInfoReferences(), IsEssentialObject(), IterateAndExtractReferences(), IterateAndExtractSinglePass(), SetGcSubrootReference(), and TagGlobalObjects().
|
private |
Definition at line 451 of file heap-snapshot-generator.h.
Referenced by AddEntry().
|
private |
Definition at line 450 of file heap-snapshot-generator.h.
Referenced by AddEntry(), ExtractClosureReferences(), ExtractSharedFunctionInfoReferences(), SetContextReference(), SetInternalReference(), SetPropertyReference(), SetWeakReference(), TagBuiltinCodeObject(), and TagCodeObject().
|
private |
Definition at line 454 of file heap-snapshot-generator.h.
Referenced by AddEntry(), and TagGlobalObjects().
|
private |
Definition at line 452 of file heap-snapshot-generator.h.
Referenced by IterateAndExtractReferences(), and IterateAndExtractSinglePass().
|
private |
Definition at line 449 of file heap-snapshot-generator.h.
Referenced by AddEntry(), SetGcRootsReference(), SetGcSubrootReference(), SetRootGcRootsReference(), and SetUserGlobalReference().
|
private |
Definition at line 455 of file heap-snapshot-generator.h.
Referenced by GetStrongGcSubrootName().
|
private |
Definition at line 456 of file heap-snapshot-generator.h.
Referenced by SetGcSubrootReference().
|
private |
Definition at line 457 of file heap-snapshot-generator.h.
Referenced by ExtractFixedArrayReferences(), and MarkAsWeakContainer().