Chromium Code Reviews| Index: src/profile-generator.h |
| diff --git a/src/profile-generator.h b/src/profile-generator.h |
| index 96640fd086ee1c5e11ee9eb6450ee37e39a70616..b74217a3ce008d7b6d985fae5d04e2394acbd172 100644 |
| --- a/src/profile-generator.h |
| +++ b/src/profile-generator.h |
| @@ -704,7 +704,8 @@ class HeapObjectsMap { |
| ~HeapObjectsMap(); |
| void SnapshotGenerationFinished(); |
| - SnapshotObjectId FindObject(Address addr); |
| + SnapshotObjectId FindEntry(Address addr); |
| + SnapshotObjectId FindOrAddEntry(Address addr, unsigned int size); |
| void MoveObject(Address from, Address to); |
| SnapshotObjectId last_assigned_id() const { |
| return next_id_ - kObjectIdStep; |
| @@ -725,23 +726,22 @@ class HeapObjectsMap { |
| private: |
| struct EntryInfo { |
| - EntryInfo(SnapshotObjectId id, Address addr) |
| - : id(id), addr(addr), accessed(true) { } |
| - EntryInfo(SnapshotObjectId id, Address addr, bool accessed) |
| - : id(id), addr(addr), accessed(accessed) { } |
| + EntryInfo(SnapshotObjectId id, Address addr, unsigned int size) |
|
alexeif
2012/04/13 15:01:27
padding?
|
| + : id(id), addr(addr), size(size), accessed(true) { } |
| + EntryInfo(SnapshotObjectId id, Address addr, unsigned int size, bool accessed) |
|
alexeif
2012/04/13 15:01:27
why not a default value for accessed?
|
| + : id(id), addr(addr), size(size), accessed(accessed) { } |
| SnapshotObjectId id; |
| Address addr; |
| + unsigned int size; |
| bool accessed; |
| }; |
| struct TimeInterval { |
| - explicit TimeInterval(SnapshotObjectId id) : id(id), count(0) { } |
| + explicit TimeInterval(SnapshotObjectId id) : id(id), size(0), count(0) { } |
| SnapshotObjectId id; |
| + unsigned int size; |
| uint32_t count; |
| }; |
| - void AddEntry(Address addr, SnapshotObjectId id); |
| - SnapshotObjectId FindEntry(Address addr); |
| - SnapshotObjectId FindOrAddEntry(Address addr); |
| void UpdateHeapObjectsMap(); |
| void RemoveDeadEntries(); |
| @@ -787,7 +787,9 @@ class HeapSnapshotsCollection { |
| StringsStorage* names() { return &names_; } |
| TokenEnumerator* token_enumerator() { return token_enumerator_; } |
| - SnapshotObjectId GetObjectId(Address addr) { return ids_.FindObject(addr); } |
| + SnapshotObjectId GetObjectId(Address object_addr, int object_size) { |
| + return ids_.FindOrAddEntry(object_addr, object_size); |
| + } |
| Handle<HeapObject> FindHeapObjectById(SnapshotObjectId id); |
| void ObjectMoveEvent(Address from, Address to) { ids_.MoveObject(from, to); } |
| SnapshotObjectId last_assigned_id() const { |