| Index: src/heap-profiler.h
|
| diff --git a/src/heap-profiler.h b/src/heap-profiler.h
|
| index 13e605b12d38da21964cd6ff3459178cbf2aabe2..3dd5b4d0e7d031034836f90c163a824236cb7924 100644
|
| --- a/src/heap-profiler.h
|
| +++ b/src/heap-profiler.h
|
| @@ -30,12 +30,12 @@
|
|
|
| #include "heap-snapshot-generator-inl.h"
|
| #include "isolate.h"
|
| +#include "smart-pointers.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
|
|
| class HeapSnapshot;
|
| -class HeapSnapshotsCollection;
|
|
|
| class HeapProfiler {
|
| public:
|
| @@ -55,12 +55,16 @@ class HeapProfiler {
|
|
|
| void StartHeapObjectsTracking(bool track_allocations);
|
| void StopHeapObjectsTracking();
|
| + AllocationTracker* allocation_tracker() { return *allocation_tracker_; }
|
| + HeapObjectsMap* heap_object_map() { return *ids_; }
|
| + StringsStorage* names() { return *names_; }
|
|
|
| SnapshotObjectId PushHeapObjectsStats(OutputStream* stream);
|
| int GetSnapshotsCount();
|
| HeapSnapshot* GetSnapshot(int index);
|
| SnapshotObjectId GetSnapshotObjectId(Handle<Object> obj);
|
| void DeleteAllSnapshots();
|
| + void RemoveSnapshot(HeapSnapshot* snapshot);
|
|
|
| void ObjectMoveEvent(Address from, Address to, int size);
|
|
|
| @@ -76,19 +80,20 @@ class HeapProfiler {
|
| void SetRetainedObjectInfo(UniqueId id, RetainedObjectInfo* info);
|
|
|
| bool is_tracking_object_moves() const { return is_tracking_object_moves_; }
|
| - bool is_tracking_allocations() const { return is_tracking_allocations_; }
|
| + bool is_tracking_allocations() { return !allocation_tracker_.is_empty(); }
|
|
|
| - int FindUntrackedObjects() {
|
| - return snapshots_->FindUntrackedObjects();
|
| - }
|
| + Handle<HeapObject> FindHeapObjectById(SnapshotObjectId id);
|
|
|
| private:
|
| - Heap* heap() const { return snapshots_->heap(); }
|
| + Heap* heap() const { return ids_->heap(); }
|
|
|
| - HeapSnapshotsCollection* snapshots_;
|
| + // Mapping from HeapObject addresses to objects' uids.
|
| + SmartPointer<HeapObjectsMap> ids_;
|
| + List<HeapSnapshot*> snapshots_;
|
| + SmartPointer<StringsStorage> names_;
|
| unsigned next_snapshot_uid_;
|
| List<v8::HeapProfiler::WrapperInfoCallback> wrapper_callbacks_;
|
| - bool is_tracking_allocations_;
|
| + SmartPointer<AllocationTracker> allocation_tracker_;
|
| bool is_tracking_object_moves_;
|
| };
|
|
|
|
|