| Index: src/heap-snapshot-generator.h
|
| diff --git a/src/heap-snapshot-generator.h b/src/heap-snapshot-generator.h
|
| index cea995820f70f5194460b4a813b2082fad7d06b1..7adf925d3c8fcc29ec063a95100c8b9ed34575e8 100644
|
| --- a/src/heap-snapshot-generator.h
|
| +++ b/src/heap-snapshot-generator.h
|
| @@ -225,8 +225,11 @@ class HeapObjectsMap {
|
|
|
| void SnapshotGenerationFinished();
|
| SnapshotObjectId FindEntry(Address addr);
|
| - SnapshotObjectId FindOrAddEntry(Address addr, unsigned int size);
|
| - void MoveObject(Address from, Address to);
|
| + SnapshotObjectId FindOrAddEntry(Address addr,
|
| + unsigned int size,
|
| + bool accessed = true);
|
| + void MoveObject(Address from, Address to, int size);
|
| + void NewObject(Address addr, int size);
|
| SnapshotObjectId last_assigned_id() const {
|
| return next_id_ - kObjectIdStep;
|
| }
|
| @@ -245,6 +248,8 @@ class HeapObjectsMap {
|
| static const SnapshotObjectId kGcRootsFirstSubrootId;
|
| static const SnapshotObjectId kFirstAvailableObjectId;
|
|
|
| + int FindUntrackedObjects();
|
| +
|
| private:
|
| struct EntryInfo {
|
| EntryInfo(SnapshotObjectId id, Address addr, unsigned int size)
|
| @@ -304,12 +309,17 @@ class HeapSnapshotsCollection {
|
| return ids_.FindOrAddEntry(object_addr, object_size);
|
| }
|
| Handle<HeapObject> FindHeapObjectById(SnapshotObjectId id);
|
| - void ObjectMoveEvent(Address from, Address to) { ids_.MoveObject(from, to); }
|
| + void ObjectMoveEvent(Address from, Address to, int size) {
|
| + ids_.MoveObject(from, to, size);
|
| + }
|
| + void NewObjectEvent(Address addr, int size) { ids_.NewObject(addr, size); }
|
| SnapshotObjectId last_assigned_id() const {
|
| return ids_.last_assigned_id();
|
| }
|
| size_t GetUsedMemorySize() const;
|
|
|
| + int FindUntrackedObjects() { return ids_.FindUntrackedObjects(); }
|
| +
|
| private:
|
| bool is_tracking_objects_; // Whether tracking object moves is needed.
|
| List<HeapSnapshot*> snapshots_;
|
|
|