28 #ifndef V8_HEAP_PROFILER_H_
29 #define V8_HEAP_PROFILER_H_
37 class HeapSnapshotsCollection;
39 #define HEAP_PROFILE(heap, call) \
41 v8::internal::HeapProfiler* profiler = heap->isolate()->heap_profiler(); \
42 if (profiler != NULL && profiler->is_profiling()) { \
90 void ResetSnapshots();
92 void StartHeapObjectsTrackingImpl();
93 void StopHeapObjectsTrackingImpl();
97 unsigned next_snapshot_uid_;
103 #endif // V8_HEAP_PROFILER_H_
static HeapSnapshot * GetSnapshot(int index)
static SnapshotObjectId PushHeapObjectsStats(OutputStream *stream)
static int GetSnapshotsCount()
INLINE(bool is_profiling())
static size_t GetMemorySizeUsedByProfiler()
static void DeleteAllSnapshots()
static SnapshotObjectId GetSnapshotObjectId(Handle< Object > obj)
static void StopHeapObjectsTracking()
uint32_t SnapshotObjectId
void ObjectMoveEvent(Address from, Address to)
bool is_tracking_objects()
static HeapSnapshot * FindSnapshot(unsigned uid)
RetainedObjectInfo *(* WrapperInfoCallback)(uint16_t class_id, Handle< Value > wrapper)
static void StartHeapObjectsTracking()
v8::RetainedObjectInfo * ExecuteWrapperClassCallback(uint16_t class_id, Object **wrapper)
static HeapSnapshot * TakeSnapshot(const char *name, int type, v8::ActivityControl *control)
void DefineWrapperClass(uint16_t class_id, v8::HeapProfiler::WrapperInfoCallback callback)