Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(880)

Unified Diff: src/heap-snapshot-generator.h

Issue 101393002: Remove HeapSnapshotsCollection class (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: addressed comments Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap-profiler.cc ('k') | src/heap-snapshot-generator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap-snapshot-generator.h
diff --git a/src/heap-snapshot-generator.h b/src/heap-snapshot-generator.h
index e55513f890dad9366f79f7017490eddb9ac5d396..b33b7f001b550ca90092fe0852290fbcf5b9bcbd 100644
--- a/src/heap-snapshot-generator.h
+++ b/src/heap-snapshot-generator.h
@@ -154,21 +154,19 @@ class HeapEntry BASE_EMBEDDED {
};
-class HeapSnapshotsCollection;
-
// HeapSnapshot represents a single heap snapshot. It is stored in
-// HeapSnapshotsCollection, which is also a factory for
+// HeapProfiler, which is also a factory for
// HeapSnapshots. All HeapSnapshots share strings copied from JS heap
// to be able to return them even if they were collected.
// HeapSnapshotGenerator fills in a HeapSnapshot.
class HeapSnapshot {
public:
- HeapSnapshot(HeapSnapshotsCollection* collection,
+ HeapSnapshot(HeapProfiler* profiler,
const char* title,
unsigned uid);
void Delete();
- HeapSnapshotsCollection* collection() { return collection_; }
+ HeapProfiler* profiler() { return profiler_; }
const char* title() { return title_; }
unsigned uid() { return uid_; }
size_t RawSnapshotSize() const;
@@ -202,7 +200,7 @@ class HeapSnapshot {
void PrintEntriesSize();
private:
- HeapSnapshotsCollection* collection_;
+ HeapProfiler* profiler_;
const char* title_;
unsigned uid_;
int root_index_;
@@ -227,7 +225,6 @@ class HeapObjectsMap {
Heap* heap() const { return heap_; }
- void SnapshotGenerationFinished();
SnapshotObjectId FindEntry(Address addr);
SnapshotObjectId FindOrAddEntry(Address addr,
unsigned int size,
@@ -242,7 +239,7 @@ class HeapObjectsMap {
SnapshotObjectId PushHeapObjectsStats(OutputStream* stream);
size_t GetUsedMemorySize() const;
- static SnapshotObjectId GenerateId(Heap* heap, v8::RetainedObjectInfo* info);
+ SnapshotObjectId GenerateId(v8::RetainedObjectInfo* info);
static inline SnapshotObjectId GetNthGcSubrootId(int delta);
static const int kObjectIdStep = 2;
@@ -255,6 +252,7 @@ class HeapObjectsMap {
int FindUntrackedObjects();
void UpdateHeapObjectsMap();
+ void RemoveDeadEntries();
private:
struct EntryInfo {
@@ -274,8 +272,6 @@ class HeapObjectsMap {
uint32_t count;
};
- void RemoveDeadEntries();
-
SnapshotObjectId next_id_;
HashMap entries_map_;
List<EntryInfo> entries_;
@@ -286,59 +282,6 @@ class HeapObjectsMap {
};
-class HeapSnapshotsCollection {
- public:
- explicit HeapSnapshotsCollection(Heap* heap);
- ~HeapSnapshotsCollection();
-
- Heap* heap() const { return ids_.heap(); }
-
- SnapshotObjectId PushHeapObjectsStats(OutputStream* stream) {
- return ids_.PushHeapObjectsStats(stream);
- }
- void StartHeapObjectsTracking(bool track_allocations);
- void StopHeapObjectsTracking();
-
- HeapSnapshot* NewSnapshot(const char* name, unsigned uid);
- void SnapshotGenerationFinished(HeapSnapshot* snapshot);
- List<HeapSnapshot*>* snapshots() { return &snapshots_; }
- void RemoveSnapshot(HeapSnapshot* snapshot);
-
- StringsStorage* names() { return &names_; }
- AllocationTracker* allocation_tracker() { return allocation_tracker_; }
-
- SnapshotObjectId FindObjectId(Address object_addr) {
- return ids_.FindEntry(object_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, int size) {
- ids_.MoveObject(from, to, size);
- }
- void AllocationEvent(Address addr, int size);
- void UpdateObjectSizeEvent(Address addr, int size) {
- ids_.UpdateObjectSize(addr, size);
- }
- SnapshotObjectId last_assigned_id() const {
- return ids_.last_assigned_id();
- }
- size_t GetUsedMemorySize() const;
-
- int FindUntrackedObjects() { return ids_.FindUntrackedObjects(); }
-
- private:
- List<HeapSnapshot*> snapshots_;
- StringsStorage names_;
- // Mapping from HeapObject addresses to objects' uids.
- HeapObjectsMap ids_;
- AllocationTracker* allocation_tracker_;
-
- DISALLOW_COPY_AND_ASSIGN(HeapSnapshotsCollection);
-};
-
-
// A typedef for referencing anything that can be snapshotted living
// in any kind of heap memory.
typedef void* HeapThing;
@@ -531,7 +474,8 @@ class V8HeapExplorer : public HeapEntriesAllocator {
Heap* heap_;
HeapSnapshot* snapshot_;
- HeapSnapshotsCollection* collection_;
+ StringsStorage* names_;
+ HeapObjectsMap* heap_object_map_;
SnapshottingProgressReportingInterface* progress_;
SnapshotFillerInterface* filler_;
HeapObjectsSet objects_tags_;
@@ -592,7 +536,7 @@ class NativeObjectsExplorer {
Isolate* isolate_;
HeapSnapshot* snapshot_;
- HeapSnapshotsCollection* collection_;
+ StringsStorage* names_;
SnapshottingProgressReportingInterface* progress_;
bool embedder_queried_;
HeapObjectsSet in_groups_;
« no previous file with comments | « src/heap-profiler.cc ('k') | src/heap-snapshot-generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698