| Index: src/profile-generator.h
|
| diff --git a/src/profile-generator.h b/src/profile-generator.h
|
| index bebf40a37641048ecb33f0f5c5c41751991c9984..5611b6fa4ed3bf05f6937e3012a2f6781dab7796 100644
|
| --- a/src/profile-generator.h
|
| +++ b/src/profile-generator.h
|
| @@ -67,6 +67,8 @@ class StringsStorage {
|
| ~StringsStorage();
|
|
|
| const char* GetName(String* name);
|
| + inline const char* GetFunctionName(String* name);
|
| + inline const char* GetFunctionName(const char* name);
|
|
|
| private:
|
| INLINE(static bool StringsMatch(void* key1, void* key2)) {
|
| @@ -298,9 +300,13 @@ class CpuProfilesCollection {
|
| void AddPathToCurrentProfiles(const Vector<CodeEntry*>& path);
|
|
|
| private:
|
| - INLINE(const char* GetFunctionName(String* name));
|
| - INLINE(const char* GetFunctionName(const char* name));
|
| const char* GetName(int args_count);
|
| + const char* GetFunctionName(String* name) {
|
| + return function_and_resource_names_.GetFunctionName(name);
|
| + }
|
| + const char* GetFunctionName(const char* name) {
|
| + return function_and_resource_names_.GetFunctionName(name);
|
| + }
|
| List<CpuProfile*>* GetProfilesList(int security_token_id);
|
| int TokenToIndex(int security_token_id);
|
|
|
| @@ -498,7 +504,6 @@ class HeapEntry BASE_EMBEDDED {
|
| };
|
|
|
| HeapEntry() { }
|
| - void Init(HeapSnapshot* snapshot, int children_count, int retainers_count);
|
| void Init(HeapSnapshot* snapshot,
|
| Type type,
|
| const char* name,
|
| @@ -640,12 +645,19 @@ class HeapSnapshotsDiff;
|
| // HeapSnapshotGenerator fills in a HeapSnapshot.
|
| class HeapSnapshot {
|
| public:
|
| + enum Type {
|
| + kFull = v8::HeapSnapshot::kFull,
|
| + kAggregated = v8::HeapSnapshot::kAggregated
|
| + };
|
| +
|
| HeapSnapshot(HeapSnapshotsCollection* collection,
|
| + Type type,
|
| const char* title,
|
| unsigned uid);
|
| ~HeapSnapshot();
|
|
|
| HeapSnapshotsCollection* collection() { return collection_; }
|
| + Type type() { return type_; }
|
| const char* title() { return title_; }
|
| unsigned uid() { return uid_; }
|
| HeapEntry* root() { return entries_[root_entry_index_]; }
|
| @@ -655,6 +667,12 @@ class HeapSnapshot {
|
| HeapEntry* AddEntry(
|
| HeapObject* object, int children_count, int retainers_count);
|
| bool WillAddEntry(HeapObject* object);
|
| + HeapEntry* AddEntry(HeapEntry::Type type,
|
| + const char* name,
|
| + uint64_t id,
|
| + int size,
|
| + int children_count,
|
| + int retainers_count);
|
| int AddCalculatedData();
|
| HeapEntryCalculatedData& GetCalculatedData(int index) {
|
| return calculated_data_[index];
|
| @@ -681,6 +699,7 @@ class HeapSnapshot {
|
| static int CalculateNetworkSize(JSObject* obj);
|
|
|
| HeapSnapshotsCollection* collection_;
|
| + Type type_;
|
| const char* title_;
|
| unsigned uid_;
|
| int root_entry_index_;
|
| @@ -688,6 +707,9 @@ class HeapSnapshot {
|
| List<HeapEntry*> entries_;
|
| bool entries_sorted_;
|
| List<HeapEntryCalculatedData> calculated_data_;
|
| +#ifdef DEBUG
|
| + int raw_entries_size_;
|
| +#endif
|
|
|
| friend class HeapSnapshotTester;
|
|
|
| @@ -792,12 +814,16 @@ class HeapSnapshotsCollection {
|
|
|
| bool is_tracking_objects() { return is_tracking_objects_; }
|
|
|
| - HeapSnapshot* NewSnapshot(const char* name, unsigned uid);
|
| + HeapSnapshot* NewSnapshot(
|
| + HeapSnapshot::Type type, const char* name, unsigned uid);
|
| void SnapshotGenerationFinished() { ids_.SnapshotGenerationFinished(); }
|
| List<HeapSnapshot*>* snapshots() { return &snapshots_; }
|
| HeapSnapshot* GetSnapshot(unsigned uid);
|
|
|
| const char* GetName(String* name) { return names_.GetName(name); }
|
| + const char* GetFunctionName(String* name) {
|
| + return names_.GetFunctionName(name);
|
| + }
|
|
|
| TokenEnumerator* token_enumerator() { return token_enumerator_; }
|
|
|
| @@ -848,6 +874,8 @@ class HeapEntriesMap {
|
| int total_children_count() { return total_children_count_; }
|
| int total_retainers_count() { return total_retainers_count_; }
|
|
|
| + static HeapEntry *const kHeapEntryPlaceholder;
|
| +
|
| private:
|
| struct EntryInfo {
|
| explicit EntryInfo(HeapEntry* entry)
|
| @@ -903,8 +931,6 @@ class HeapSnapshotGenerator {
|
| HeapEntry* child_entry) = 0;
|
| virtual void SetRootReference(Object* child_obj,
|
| HeapEntry* child_entry) = 0;
|
| -
|
| - static HeapEntry *const kHeapEntryPlaceholder;
|
| };
|
|
|
| explicit HeapSnapshotGenerator(HeapSnapshot* snapshot);
|
|
|