| Index: src/heap-profiler.h
|
| diff --git a/src/heap-profiler.h b/src/heap-profiler.h
|
| index 5ae60fa923449458ab95670c902f3c99c63f251b..990c9388d3031188dfa0af503a87241d5e75fe72 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,27 @@ 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(); }
|
|
|
| + void UpdateMap() { snapshots_->UpdateMap(); }
|
| +
|
| HeapSnapshotsCollection* snapshots_;
|
| unsigned next_snapshot_uid_;
|
| List<v8::HeapProfiler::WrapperInfoCallback> wrapper_callbacks_;
|
| + bool is_tracking_allocations_;
|
| };
|
|
|
| } } // namespace v8::internal
|
|
|