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

Side by Side Diff: src/heap-snapshot-generator.h

Issue 145353003: Allow arbitrary names for weak references in heap snapshots. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Reupload Created 6 years, 11 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 kWeak = v8::HeapGraphEdge::kWeak 50 kWeak = v8::HeapGraphEdge::kWeak
51 }; 51 };
52 52
53 HeapGraphEdge() { } 53 HeapGraphEdge() { }
54 HeapGraphEdge(Type type, const char* name, int from, int to); 54 HeapGraphEdge(Type type, const char* name, int from, int to);
55 HeapGraphEdge(Type type, int index, int from, int to); 55 HeapGraphEdge(Type type, int index, int from, int to);
56 void ReplaceToIndexWithEntry(HeapSnapshot* snapshot); 56 void ReplaceToIndexWithEntry(HeapSnapshot* snapshot);
57 57
58 Type type() const { return static_cast<Type>(type_); } 58 Type type() const { return static_cast<Type>(type_); }
59 int index() const { 59 int index() const {
60 ASSERT(type_ == kElement || type_ == kHidden || type_ == kWeak); 60 ASSERT(type_ == kElement || type_ == kHidden);
61 return index_; 61 return index_;
62 } 62 }
63 const char* name() const { 63 const char* name() const {
64 ASSERT(type_ == kContextVariable 64 ASSERT(type_ == kContextVariable
65 || type_ == kProperty 65 || type_ == kProperty
66 || type_ == kInternal 66 || type_ == kInternal
67 || type_ == kShortcut); 67 || type_ == kShortcut
68 || type_ == kWeak);
68 return name_; 69 return name_;
69 } 70 }
70 INLINE(HeapEntry* from() const); 71 INLINE(HeapEntry* from() const);
71 HeapEntry* to() const { return to_entry_; } 72 HeapEntry* to() const { return to_entry_; }
72 73
73 private: 74 private:
74 INLINE(HeapSnapshot* snapshot() const); 75 INLINE(HeapSnapshot* snapshot() const);
75 76
76 unsigned type_ : 3; 77 unsigned type_ : 3;
77 int from_index_ : 29; 78 int from_index_ : 29;
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 int parent, 442 int parent,
442 int index, 443 int index,
443 Object* child, 444 Object* child,
444 int field_offset = -1); 445 int field_offset = -1);
445 void SetHiddenReference(HeapObject* parent_obj, 446 void SetHiddenReference(HeapObject* parent_obj,
446 int parent, 447 int parent,
447 int index, 448 int index,
448 Object* child); 449 Object* child);
449 void SetWeakReference(HeapObject* parent_obj, 450 void SetWeakReference(HeapObject* parent_obj,
450 int parent, 451 int parent,
451 int index, 452 const char* reference_name,
452 Object* child_obj, 453 Object* child_obj,
453 int field_offset); 454 int field_offset);
454 void SetPropertyReference(HeapObject* parent_obj, 455 void SetPropertyReference(HeapObject* parent_obj,
455 int parent, 456 int parent,
456 Name* reference_name, 457 Name* reference_name,
457 Object* child, 458 Object* child,
458 const char* name_format_string = NULL, 459 const char* name_format_string = NULL,
459 int field_offset = -1); 460 int field_offset = -1);
460 void SetUserGlobalReference(Object* user_global); 461 void SetUserGlobalReference(Object* user_global);
461 void SetRootGcRootsReference(); 462 void SetRootGcRootsReference();
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 friend class HeapSnapshotJSONSerializerEnumerator; 635 friend class HeapSnapshotJSONSerializerEnumerator;
635 friend class HeapSnapshotJSONSerializerIterator; 636 friend class HeapSnapshotJSONSerializerIterator;
636 637
637 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); 638 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer);
638 }; 639 };
639 640
640 641
641 } } // namespace v8::internal 642 } } // namespace v8::internal
642 643
643 #endif // V8_HEAP_SNAPSHOT_GENERATOR_H_ 644 #endif // V8_HEAP_SNAPSHOT_GENERATOR_H_
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/heap-snapshot-generator.cc » ('j') | src/heap-snapshot-generator.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698