Index: src/heap-profiler.h |
diff --git a/src/heap-profiler.h b/src/heap-profiler.h |
index 5ae60fa923449458ab95670c902f3c99c63f251b..96ae273902ed604fb20a217220275148f68f5bbf 100644 |
--- a/src/heap-profiler.h |
+++ b/src/heap-profiler.h |
@@ -63,13 +63,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 +91,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 |