v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::HeapEntry Class Reference

#include <heap-snapshot-generator.h>

Collaboration diagram for v8::internal::HeapEntry:

Public Types

enum  Type {
  kHidden = v8::HeapGraphNode::kHidden , kArray = v8::HeapGraphNode::kArray , kString = v8::HeapGraphNode::kString , kObject = v8::HeapGraphNode::kObject ,
  kCode = v8::HeapGraphNode::kCode , kClosure = v8::HeapGraphNode::kClosure , kRegExp = v8::HeapGraphNode::kRegExp , kHeapNumber = v8::HeapGraphNode::kHeapNumber ,
  kNative = v8::HeapGraphNode::kNative , kSynthetic = v8::HeapGraphNode::kSynthetic , kConsString = v8::HeapGraphNode::kConsString , kSlicedString = v8::HeapGraphNode::kSlicedString ,
  kSymbol = v8::HeapGraphNode::kSymbol , kBigInt = v8::HeapGraphNode::kBigInt , kObjectShape = v8::HeapGraphNode::kObjectShape , kNumTypes
}
 
enum  ReferenceVerification { kVerify , kEphemeron , kOffHeapPointer , kCustomWeakPointer }
 

Public Member Functions

 HeapEntry (HeapSnapshot *snapshot, int index, Type type, const char *name, SnapshotObjectId id, size_t self_size, unsigned trace_node_id)
 
HeapSnapshotsnapshot ()
 
Type type () const
 
void set_type (Type type)
 
const char * name () const
 
void set_name (const char *name)
 
SnapshotObjectId id () const
 
size_t self_size () const
 
void add_self_size (size_t size)
 
unsigned trace_node_id () const
 
int index () const
 
V8_INLINE int children_count () const
 
V8_INLINE int set_children_index (int index)
 
V8_INLINE void add_child (HeapGraphEdge *edge)
 
V8_INLINE HeapGraphEdgechild (int i)
 
V8_INLINE Isolateisolate () const
 
void set_detachedness (v8::EmbedderGraph::Node::Detachedness value)
 
uint8_t detachedness () const
 
void VerifyReference (HeapGraphEdge::Type type, HeapEntry *entry, HeapSnapshotGenerator *generator, ReferenceVerification verification)
 
void SetIndexedReference (HeapGraphEdge::Type type, int index, HeapEntry *entry, HeapSnapshotGenerator *generator, ReferenceVerification verification=kVerify)
 
void SetNamedReference (HeapGraphEdge::Type type, const char *name, HeapEntry *entry, HeapSnapshotGenerator *generator, ReferenceVerification verification=kVerify)
 
void SetIndexedAutoIndexReference (HeapGraphEdge::Type type, HeapEntry *child, HeapSnapshotGenerator *generator, ReferenceVerification verification=kVerify)
 
void SetNamedAutoIndexReference (HeapGraphEdge::Type type, const char *description, HeapEntry *child, StringsStorage *strings, HeapSnapshotGenerator *generator, ReferenceVerification verification=kVerify)
 
V8_EXPORT_PRIVATE void Print (const char *prefix, const char *edge_name, int max_depth, int indent) const
 

Private Member Functions

V8_INLINE std::vector< HeapGraphEdge * >::iterator children_begin () const
 
V8_INLINE std::vector< HeapGraphEdge * >::iterator children_end () const
 
const char * TypeAsString () const
 

Private Attributes

unsigned type_: 4
 
unsigned index_: 28
 
union { 
 
   unsigned   children_count_ 
 
   unsigned   children_end_index_ 
 
};  
 
size_t self_size_
 
uint8_t detachedness_ = 0
 
HeapSnapshotsnapshot_
 
const char * name_
 
SnapshotObjectId id_
 
unsigned trace_node_id_
 

Detailed Description

Definition at line 106 of file heap-snapshot-generator.h.

Member Enumeration Documentation

◆ ReferenceVerification

Enumerator
kVerify 
kEphemeron 
kOffHeapPointer 
kCustomWeakPointer 

Definition at line 151 of file heap-snapshot-generator.h.

◆ Type

Enumerator
kHidden 
kArray 
kString 
kObject 
kCode 
kClosure 
kRegExp 
kHeapNumber 
kNative 
kSynthetic 
kConsString 
kSlicedString 
kSymbol 
kBigInt 
kObjectShape 
kNumTypes 

Definition at line 108 of file heap-snapshot-generator.h.

Constructor & Destructor Documentation

◆ HeapEntry()

v8::internal::HeapEntry::HeapEntry ( HeapSnapshot * snapshot,
int index,
Type type,
const char * name,
SnapshotObjectId id,
size_t self_size,
unsigned trace_node_id )

Definition at line 228 of file heap-snapshot-generator.cc.

Member Function Documentation

◆ add_child()

void v8::internal::HeapEntry::add_child ( HeapGraphEdge * edge)

Definition at line 34 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:

◆ add_self_size()

void v8::internal::HeapEntry::add_self_size ( size_t size)
inline

Definition at line 137 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ child()

HeapGraphEdge * v8::internal::HeapEntry::child ( int i)

Definition at line 38 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ children_begin()

std::vector< HeapGraphEdge * >::iterator v8::internal::HeapEntry::children_begin ( ) const
private

Definition at line 40 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ children_count()

int v8::internal::HeapEntry::children_count ( ) const

Definition at line 50 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ children_end()

std::vector< HeapGraphEdge * >::iterator v8::internal::HeapEntry::children_end ( ) const
private

Definition at line 45 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ detachedness()

uint8_t v8::internal::HeapEntry::detachedness ( ) const
inline

Definition at line 149 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ id()

SnapshotObjectId v8::internal::HeapEntry::id ( ) const
inline

Definition at line 135 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ index()

int v8::internal::HeapEntry::index ( ) const
inline

Definition at line 139 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::HeapEntry::isolate ( ) const

Definition at line 54 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ name()

const char * v8::internal::HeapEntry::name ( ) const
inline

Definition at line 133 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ Print()

void v8::internal::HeapEntry::Print ( const char * prefix,
const char * edge_name,
int max_depth,
int indent ) const

Definition at line 322 of file heap-snapshot-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ self_size()

size_t v8::internal::HeapEntry::self_size ( ) const
inline

Definition at line 136 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ set_children_index()

int v8::internal::HeapEntry::set_children_index ( int index)

Definition at line 27 of file heap-snapshot-generator-inl.h.

Here is the call graph for this function:

◆ set_detachedness()

void v8::internal::HeapEntry::set_detachedness ( v8::EmbedderGraph::Node::Detachedness value)
inline

Definition at line 146 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ set_name()

void v8::internal::HeapEntry::set_name ( const char * name)
inline

Definition at line 134 of file heap-snapshot-generator.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_type()

void v8::internal::HeapEntry::set_type ( Type type)
inline

Definition at line 132 of file heap-snapshot-generator.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetIndexedAutoIndexReference()

void v8::internal::HeapEntry::SetIndexedAutoIndexReference ( HeapGraphEdge::Type type,
HeapEntry * child,
HeapSnapshotGenerator * generator,
ReferenceVerification verification = kVerify )
inline

Definition at line 173 of file heap-snapshot-generator.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetIndexedReference()

void v8::internal::HeapEntry::SetIndexedReference ( HeapGraphEdge::Type type,
int index,
HeapEntry * entry,
HeapSnapshotGenerator * generator,
ReferenceVerification verification = kVerify )

Definition at line 300 of file heap-snapshot-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetNamedAutoIndexReference()

void v8::internal::HeapEntry::SetNamedAutoIndexReference ( HeapGraphEdge::Type type,
const char * description,
HeapEntry * child,
StringsStorage * strings,
HeapSnapshotGenerator * generator,
ReferenceVerification verification = kVerify )

Definition at line 309 of file heap-snapshot-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetNamedReference()

void v8::internal::HeapEntry::SetNamedReference ( HeapGraphEdge::Type type,
const char * name,
HeapEntry * entry,
HeapSnapshotGenerator * generator,
ReferenceVerification verification = kVerify )

Definition at line 291 of file heap-snapshot-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snapshot()

HeapSnapshot * v8::internal::HeapEntry::snapshot ( )
inline

Definition at line 130 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ trace_node_id()

unsigned v8::internal::HeapEntry::trace_node_id ( ) const
inline

Definition at line 138 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ type()

Type v8::internal::HeapEntry::type ( ) const
inline

Definition at line 131 of file heap-snapshot-generator.h.

Here is the caller graph for this function:

◆ TypeAsString()

const char * v8::internal::HeapEntry::TypeAsString ( ) const
private

Definition at line 381 of file heap-snapshot-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VerifyReference()

void v8::internal::HeapEntry::VerifyReference ( HeapGraphEdge::Type type,
HeapEntry * entry,
HeapSnapshotGenerator * generator,
ReferenceVerification verification )

Definition at line 242 of file heap-snapshot-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ [union]

union { ... } v8::internal::HeapEntry

◆ children_count_

unsigned v8::internal::HeapEntry::children_count_

Definition at line 200 of file heap-snapshot-generator.h.

◆ children_end_index_

unsigned v8::internal::HeapEntry::children_end_index_

Definition at line 201 of file heap-snapshot-generator.h.

◆ detachedness_

uint8_t v8::internal::HeapEntry::detachedness_ = 0
private

Definition at line 208 of file heap-snapshot-generator.h.

◆ id_

SnapshotObjectId v8::internal::HeapEntry::id_
private

Definition at line 211 of file heap-snapshot-generator.h.

◆ index_

unsigned v8::internal::HeapEntry::index_
private

Definition at line 196 of file heap-snapshot-generator.h.

◆ name_

const char* v8::internal::HeapEntry::name_
private

Definition at line 210 of file heap-snapshot-generator.h.

◆ self_size_

size_t v8::internal::HeapEntry::self_size_
private

Definition at line 206 of file heap-snapshot-generator.h.

◆ snapshot_

HeapSnapshot* v8::internal::HeapEntry::snapshot_
private

Definition at line 209 of file heap-snapshot-generator.h.

◆ trace_node_id_

unsigned v8::internal::HeapEntry::trace_node_id_
private

Definition at line 213 of file heap-snapshot-generator.h.

◆ type_

unsigned v8::internal::HeapEntry::type_
private

Definition at line 195 of file heap-snapshot-generator.h.


The documentation for this class was generated from the following files: