diff options
Diffstat (limited to 'deps/v8/src/heap-profiler.h')
-rw-r--r-- | deps/v8/src/heap-profiler.h | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/deps/v8/src/heap-profiler.h b/deps/v8/src/heap-profiler.h index 5ae60fa92..74002278d 100644 --- a/deps/v8/src/heap-profiler.h +++ b/deps/v8/src/heap-profiler.h @@ -37,14 +37,6 @@ namespace internal { class HeapSnapshot; class HeapSnapshotsCollection; -#define HEAP_PROFILE(heap, call) \ - do { \ - v8::internal::HeapProfiler* profiler = heap->isolate()->heap_profiler(); \ - if (profiler != NULL && profiler->is_profiling()) { \ - profiler->call; \ - } \ - } while (false) - class HeapProfiler { public: explicit HeapProfiler(Heap* heap); @@ -63,13 +55,22 @@ class HeapProfiler { void StartHeapObjectsTracking(); void StopHeapObjectsTracking(); + + static void RecordObjectAllocationFromMasm(Isolate* isolate, + Address obj, + int size); + SnapshotObjectId PushHeapObjectsStats(OutputStream* stream); int GetSnapshotsCount(); HeapSnapshot* GetSnapshot(int index); SnapshotObjectId GetSnapshotObjectId(Handle<Object> obj); void DeleteAllSnapshots(); - void ObjectMoveEvent(Address from, Address to); + void ObjectMoveEvent(Address from, Address to, int size); + + void NewObjectEvent(Address addr, int size); + + void UpdateObjectSizeEvent(Address addr, int size); void DefineWrapperClass( uint16_t class_id, v8::HeapProfiler::WrapperInfoCallback callback); @@ -82,12 +83,26 @@ class HeapProfiler { void SetRetainedObjectInfo(UniqueId id, RetainedObjectInfo* info); + bool is_tracking_allocations() { + return is_tracking_allocations_; + } + + void StartHeapAllocationsRecording(); + void StopHeapAllocationsRecording(); + + int FindUntrackedObjects() { + return snapshots_->FindUntrackedObjects(); + } + + void DropCompiledCode(); + private: Heap* heap() const { return snapshots_->heap(); } HeapSnapshotsCollection* snapshots_; unsigned next_snapshot_uid_; List<v8::HeapProfiler::WrapperInfoCallback> wrapper_callbacks_; + bool is_tracking_allocations_; }; } } // namespace v8::internal |