| Index: src/heap-profiler.h
|
| diff --git a/src/heap-profiler.h b/src/heap-profiler.h
|
| index 5ae60fa923449458ab95670c902f3c99c63f251b..dafd176f4a6f45556b727ec2996ab1e3b8a6e4a6 100644
|
| --- a/src/heap-profiler.h
|
| +++ b/src/heap-profiler.h
|
| @@ -63,13 +63,20 @@ 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 DefineWrapperClass(
|
| uint16_t class_id, v8::HeapProfiler::WrapperInfoCallback callback);
|
| @@ -82,12 +89,24 @@ class HeapProfiler {
|
|
|
| void SetRetainedObjectInfo(UniqueId id, RetainedObjectInfo* info);
|
|
|
| + bool is_tracking_allocations() {
|
| + return is_tracking_allocations_;
|
| + }
|
| +
|
| + bool* is_tracking_allocations_address();
|
| +
|
| + void StartHeapAllocationsRecording();
|
| + void StopHeapAllocationsRecording();
|
| +
|
| + int FindUntrackedObjects();
|
| +
|
| 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
|
|
|