v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HeapProfiler Class Reference

#include <heap-profiler.h>

Public Member Functions

 HeapProfiler (Heap *heap)
 
 ~HeapProfiler ()
 
size_t GetMemorySizeUsedByProfiler ()
 
HeapSnapshotTakeSnapshot (const char *name, v8::ActivityControl *control, v8::HeapProfiler::ObjectNameResolver *resolver)
 
HeapSnapshotTakeSnapshot (String *name, v8::ActivityControl *control, v8::HeapProfiler::ObjectNameResolver *resolver)
 
void StartHeapObjectsTracking (bool track_allocations)
 
void StopHeapObjectsTracking ()
 
AllocationTrackerallocation_tracker () const
 
HeapObjectsMapheap_object_map () const
 
StringsStoragenames () const
 
SnapshotObjectId PushHeapObjectsStats (OutputStream *stream)
 
int GetSnapshotsCount ()
 
HeapSnapshotGetSnapshot (int index)
 
SnapshotObjectId GetSnapshotObjectId (Handle< Object > obj)
 
void DeleteAllSnapshots ()
 
void RemoveSnapshot (HeapSnapshot *snapshot)
 
void ObjectMoveEvent (Address from, Address to, int size)
 
void AllocationEvent (Address addr, int size)
 
void UpdateObjectSizeEvent (Address addr, int size)
 
void DefineWrapperClass (uint16_t class_id, v8::HeapProfiler::WrapperInfoCallback callback)
 
v8::RetainedObjectInfoExecuteWrapperClassCallback (uint16_t class_id, Object **wrapper)
 
void SetRetainedObjectInfo (UniqueId id, RetainedObjectInfo *info)
 
bool is_tracking_object_moves () const
 
bool is_tracking_allocations () const
 
Handle< HeapObjectFindHeapObjectById (SnapshotObjectId id)
 
void ClearHeapObjectMap ()
 

Detailed Description

Definition at line 40 of file heap-profiler.h.

Constructor & Destructor Documentation

HeapProfiler ( Heap heap)
explicit

Definition at line 38 of file heap-profiler.cc.

Definition at line 51 of file heap-profiler.cc.

Member Function Documentation

AllocationTracker* allocation_tracker ( ) const
inline
void AllocationEvent ( Address  addr,
int  size 
)

Definition at line 178 of file heap-profiler.cc.

Referenced by Heap::AllocateRaw().

void ClearHeapObjectMap ( )

Definition at line 218 of file heap-profiler.cc.

References HeapProfiler::is_tracking_allocations().

void DefineWrapperClass ( uint16_t  class_id,
v8::HeapProfiler::WrapperInfoCallback  callback 
)
void DeleteAllSnapshots ( )

Definition at line 57 of file heap-profiler.cc.

Referenced by HeapSnapshot::Delete().

v8::RetainedObjectInfo * ExecuteWrapperClassCallback ( uint16_t  class_id,
Object **  wrapper 
)

Definition at line 80 of file heap-profiler.cc.

References v8::internal::NULL, and Utils::ToLocal().

Handle< HeapObject > FindHeapObjectById ( SnapshotObjectId  id)
size_t GetMemorySizeUsedByProfiler ( )

Definition at line 141 of file heap-profiler.cc.

References v8::internal::GetMemoryUsedByList(), and v8::internal::size.

HeapSnapshot * GetSnapshot ( int  index)

Definition at line 158 of file heap-profiler.cc.

SnapshotObjectId GetSnapshotObjectId ( Handle< Object obj)
int GetSnapshotsCount ( )

Definition at line 153 of file heap-profiler.cc.

Referenced by HeapSnapshot::Delete().

HeapObjectsMap* heap_object_map ( ) const
inline
bool is_tracking_allocations ( ) const
inline
bool is_tracking_object_moves ( ) const
inline

Definition at line 84 of file heap-profiler.h.

Referenced by MarkCompactCollector::MigrateObject().

StringsStorage* names ( ) const
inline

Definition at line 62 of file heap-profiler.h.

void ObjectMoveEvent ( Address  from,
Address  to,
int  size 
)

Definition at line 170 of file heap-profiler.cc.

Referenced by MarkCompactCollector::MigrateObject().

SnapshotObjectId PushHeapObjectsStats ( OutputStream stream)

Definition at line 127 of file heap-profiler.cc.

void RemoveSnapshot ( HeapSnapshot snapshot)

Definition at line 64 of file heap-profiler.cc.

Referenced by HeapSnapshot::Delete().

void SetRetainedObjectInfo ( UniqueId  id,
RetainedObjectInfo info 
)
void StartHeapObjectsTracking ( bool  track_allocations)
void StopHeapObjectsTracking ( )
HeapSnapshot * TakeSnapshot ( const char *  name,
v8::ActivityControl control,
v8::HeapProfiler::ObjectNameResolver resolver 
)
HeapSnapshot * TakeSnapshot ( String name,
v8::ActivityControl control,
v8::HeapProfiler::ObjectNameResolver resolver 
)

Definition at line 108 of file heap-profiler.cc.

References HeapProfiler::TakeSnapshot().

void UpdateObjectSizeEvent ( Address  addr,
int  size 
)

Definition at line 186 of file heap-profiler.cc.


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