Lines Matching refs:HeapEntry
192 HeapGraphEdge::HeapGraphEdge(Type type, const char* name, HeapEntry* from,
193 HeapEntry* to)
205 HeapGraphEdge::HeapGraphEdge(Type type, int index, HeapEntry* from,
206 HeapEntry* to)
214 HeapEntry::HeapEntry(HeapSnapshot* snapshot, int index, Type type,
228 void HeapEntry::VerifyReference(HeapGraphEdge::Type type, HeapEntry* entry,
277 void HeapEntry::SetNamedReference(HeapGraphEdge::Type type, const char* name,
278 HeapEntry* entry,
286 void HeapEntry::SetIndexedReference(HeapGraphEdge::Type type, int index,
287 HeapEntry* entry,
295 void HeapEntry::SetNamedAutoIndexReference(HeapGraphEdge::Type type,
297 HeapEntry* child,
308 void HeapEntry::Print(const char* prefix, const char* edge_name, int max_depth,
367 const char* HeapEntry::TypeAsString() const {
397 STATIC_ASSERT(kSystemPointerSize != 4 || sizeof(HeapEntry) == 32);
399 STATIC_ASSERT(kSystemPointerSize != 8 || sizeof(HeapEntry) == 48);
401 STATIC_ASSERT(kSystemPointerSize != 8 || sizeof(HeapEntry) == 40);
428 root_entry_ = AddEntry(HeapEntry::kSynthetic, "",
436 gc_roots_entry_ = AddEntry(HeapEntry::kSynthetic, "(GC roots)",
443 AddEntry(HeapEntry::kSynthetic, RootVisitor::RootName(root), id, 0, 0);
446 void HeapSnapshot::AddLocation(HeapEntry* entry, int scriptId, int line,
451 HeapEntry* HeapSnapshot::AddEntry(HeapEntry::Type type,
465 for (HeapEntry& entry : entries()) {
475 HeapEntry* HeapSnapshot::GetEntryById(SnapshotObjectId id) {
479 for (HeapEntry& entry : entries_) {
757 HeapEntry* V8HeapExplorer::AllocateEntry(HeapThing ptr) {
761 HeapEntry* V8HeapExplorer::AllocateEntry(Smi smi) {
763 HeapEntry* entry =
764 snapshot_->AddEntry(HeapEntry::kHeapNumber, "smi number", id, 0, 0);
771 void V8HeapExplorer::ExtractLocation(HeapEntry* entry, HeapObject object) {
790 void V8HeapExplorer::ExtractLocationForJSFunction(HeapEntry* entry,
801 HeapEntry* V8HeapExplorer::AddEntry(HeapObject object) {
806 return AddEntry(object, HeapEntry::kClosure, name);
808 return AddEntry(object, HeapEntry::kClosure, "native_bind");
811 return AddEntry(object, HeapEntry::kRegExp, names_->GetName(re.source()));
823 return AddEntry(object, HeapEntry::kObject, name);
827 return AddEntry(object, HeapEntry::kConsString, "(concatenated string)");
829 return AddEntry(object, HeapEntry::kSlicedString, "(sliced string)");
831 return AddEntry(object, HeapEntry::kString,
836 return AddEntry(object, HeapEntry::kHidden, "private symbol");
838 return AddEntry(object, HeapEntry::kSymbol, "symbol");
840 return AddEntry(object, HeapEntry::kBigInt, "bigint");
842 return AddEntry(object, HeapEntry::kCode, "");
845 return AddEntry(object, HeapEntry::kCode, names_->GetName(name));
848 return AddEntry(object, HeapEntry::kCode,
851 return AddEntry(object, HeapEntry::kHidden, "system / NativeContext");
853 return AddEntry(object, HeapEntry::kObject, "system / Context");
855 return AddEntry(object, HeapEntry::kHeapNumber, "heap number");
861 HeapEntry* V8HeapExplorer::AddEntry(HeapObject object, HeapEntry::Type type,
863 if (FLAG_heap_profiler_show_hidden_objects && type == HeapEntry::kHidden) {
864 type = HeapEntry::kNative;
870 HeapEntry* V8HeapExplorer::AddEntry(Address address,
871 HeapEntry::Type type,
928 HeapEntry::Type V8HeapExplorer::GetSystemEntryType(HeapObject object) {
948 return HeapEntry::kCode;
956 return HeapEntry::kArray;
959 return HeapEntry::kHidden;
977 HeapEntry* parent)
1054 HeapEntry* parent_;
1058 void V8HeapExplorer::ExtractReferences(HeapEntry* entry, HeapObject obj) {
1139 void V8HeapExplorer::ExtractJSGlobalProxyReferences(HeapEntry* entry,
1145 void V8HeapExplorer::ExtractJSObjectReferences(HeapEntry* entry,
1221 void V8HeapExplorer::ExtractStringReferences(HeapEntry* entry, String string) {
1238 void V8HeapExplorer::ExtractSymbolReferences(HeapEntry* entry, Symbol symbol) {
1243 void V8HeapExplorer::ExtractJSCollectionReferences(HeapEntry* entry,
1249 void V8HeapExplorer::ExtractJSWeakCollectionReferences(HeapEntry* entry,
1256 HeapEntry* entry, EphemeronHashTable table) {
1266 HeapEntry* key_entry = GetEntry(key);
1267 HeapEntry* value_entry = GetEntry(value);
1268 HeapEntry* table_entry = GetEntry(table);
1276 HeapEntry::kEphemeron);
1279 HeapEntry::kEphemeron);
1296 void V8HeapExplorer::ExtractContextReferences(HeapEntry* entry,
1341 HeapEntry::kCustomWeakPointer);
1345 HeapEntry::kCustomWeakPointer);
1354 void V8HeapExplorer::ExtractMapReferences(HeapEntry* entry, Map map) {
1419 HeapEntry* entry, SharedFunctionInfo shared) {
1448 void V8HeapExplorer::ExtractScriptReferences(HeapEntry* entry, Script script) {
1453 TagObject(script.line_ends(), "(script line ends)", HeapEntry::kCode);
1457 HeapEntry::kCode);
1459 HeapEntry::kCode);
1462 void V8HeapExplorer::ExtractAccessorInfoReferences(HeapEntry* entry,
1477 void V8HeapExplorer::ExtractAccessorPairReferences(HeapEntry* entry,
1485 void V8HeapExplorer::ExtractJSWeakRefReferences(HeapEntry* entry,
1491 void V8HeapExplorer::ExtractWeakCellReferences(HeapEntry* entry,
1503 void V8HeapExplorer::ExtractCodeReferences(HeapEntry* entry, Code code) {
1504 TagObject(code.relocation_info(), "(code relocation info)", HeapEntry::kCode);
1514 HeapEntry::kCode);
1521 TagObject(deoptimization_data, "(code deopt data)", HeapEntry::kCode);
1526 HeapEntry::kCode);
1528 HeapEntry::kCode);
1530 HeapEntry::kCode);
1533 HeapEntry::kCode);
1540 void V8HeapExplorer::ExtractCellReferences(HeapEntry* entry, Cell cell) {
1544 void V8HeapExplorer::ExtractFeedbackCellReferences(HeapEntry* entry,
1551 void V8HeapExplorer::ExtractPropertyCellReferences(HeapEntry* entry,
1560 void V8HeapExplorer::ExtractAllocationSiteReferences(HeapEntry* entry,
1567 TagObject(site.dependent_code(), "(dependent code)", HeapEntry::kCode);
1573 HeapEntry* entry, ArrayBoilerplateDescription value) {
1577 TagObject(constant_elements, "(constant elements)", HeapEntry::kCode);
1581 HeapEntry* entry, RegExpBoilerplateDescription value) {
1582 TagObject(value.data(), "(RegExp data)", HeapEntry::kCode);
1591 HeapEntry* AllocateEntry(HeapThing ptr) override {
1593 HeapEntry::kNative, "system / JSArrayBufferData",
1596 HeapEntry* AllocateEntry(Smi smi) override {
1606 void V8HeapExplorer::ExtractJSArrayBufferReferences(HeapEntry* entry,
1612 HeapEntry* data_entry =
1615 data_entry, generator_, HeapEntry::kOffHeapPointer);
1618 void V8HeapExplorer::ExtractJSPromiseReferences(HeapEntry* entry,
1626 HeapEntry* entry, JSGeneratorObject generator) {
1638 void V8HeapExplorer::ExtractFixedArrayReferences(HeapEntry* entry,
1646 void V8HeapExplorer::ExtractNumberReference(HeapEntry* entry, Object number) {
1665 HeapEntry* child_entry =
1666 snapshot_->AddEntry(HeapEntry::kString, name, id, 0, 0);
1671 void V8HeapExplorer::ExtractBytecodeArrayReferences(HeapEntry* entry,
1674 HeapEntry::kCode, 3);
1675 TagObject(bytecode.handler_table(), "(handler table)", HeapEntry::kCode);
1677 "(source position table)", HeapEntry::kCode);
1680 void V8HeapExplorer::ExtractScopeInfoReferences(HeapEntry* entry,
1684 HeapEntry::kCode);
1689 HeapEntry* entry, FeedbackVector feedback_vector) {
1702 TagObject(entry, "(feedback)", HeapEntry::kCode);
1707 void V8HeapExplorer::ExtractDescriptorArrayReferences(HeapEntry* entry,
1729 HeapEntry* entry, T array) {
1743 HeapEntry* entry) {
1814 void V8HeapExplorer::ExtractAccessorPairProperty(HeapEntry* entry, Name key,
1831 HeapEntry* entry) {
1855 HeapEntry* entry) {
1882 HeapEntry* V8HeapExplorer::GetEntry(Object obj) {
2013 HeapEntry* entry = GetEntry(obj);
2070 void V8HeapExplorer::SetContextReference(HeapEntry* parent_entry,
2073 HeapEntry* child_entry = GetEntry(child_obj);
2088 void V8HeapExplorer::SetNativeBindReference(HeapEntry* parent_entry,
2091 HeapEntry* child_entry = GetEntry(child_obj);
2097 void V8HeapExplorer::SetElementReference(HeapEntry* parent_entry, int index,
2099 HeapEntry* child_entry = GetEntry(child_obj);
2105 void V8HeapExplorer::SetInternalReference(HeapEntry* parent_entry,
2111 HeapEntry* child_entry = GetEntry(child_obj);
2118 void V8HeapExplorer::SetInternalReference(HeapEntry* parent_entry, int index,
2123 HeapEntry* child_entry = GetEntry(child_obj);
2132 HeapEntry* parent_entry, int index,
2139 HeapEntry* child_entry = GetEntry(child_obj);
2148 HeapEntry* parent_entry, const char* reference_name, Object child_obj,
2149 int field_offset, HeapEntry::ReferenceVerification verification) {
2153 HeapEntry* child_entry = GetEntry(child_obj);
2160 void V8HeapExplorer::SetWeakReference(HeapEntry* parent_entry, int index,
2166 HeapEntry* child_entry = GetEntry(child_obj);
2177 PropertyKind kind, HeapEntry* parent_entry, Name reference_name,
2188 void V8HeapExplorer::SetPropertyReference(HeapEntry* parent_entry,
2192 HeapEntry* child_entry = GetEntry(child_obj);
2217 HeapEntry* child_entry = GetEntry(child_obj);
2237 HeapEntry* child_entry = GetEntry(child_obj);
2282 base::Optional<HeapEntry::Type> type) {
2284 HeapEntry* entry = GetEntry(obj);
2295 HeapEntry::Type type,
2432 HeapEntry* AllocateEntry(HeapThing ptr) override;
2433 HeapEntry* AllocateEntry(Smi smi) override;
2450 HeapEntry::Type EmbedderGraphNodeType(EmbedderGraphImpl::Node* node) {
2451 return node->IsRootNode() ? HeapEntry::kSynthetic : HeapEntry::kNative;
2467 HeapEntry* EmbedderGraphEntriesAllocator::AllocateEntry(HeapThing ptr) {
2484 HeapEntry* EmbedderGraphEntriesAllocator::AllocateEntry(Smi smi) {
2500 HeapEntry* entry, EmbedderGraph::Node* original_node,
2527 HeapEntry* NativeObjectsExplorer::EntryForEmbedderGraphNode(
2566 HeapEntry::kOffHeapPointer);
2577 HeapEntry* from = EntryForEmbedderGraphNode(edge.from);
2579 HeapEntry* to = EntryForEmbedderGraphNode(edge.to);
2584 HeapEntry::kOffHeapPointer);
2588 HeapEntry::kOffHeapPointer);
2845 void HeapSnapshotJSONSerializer::SerializeNode(const HeapEntry* entry) {
2876 const std::deque<HeapEntry>& entries = snapshot_->entries();
2877 for (const HeapEntry& entry : entries) {