OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HEAP_SNAPSHOT_GENERATOR_H_ | 5 #ifndef V8_HEAP_SNAPSHOT_GENERATOR_H_ |
6 #define V8_HEAP_SNAPSHOT_GENERATOR_H_ | 6 #define V8_HEAP_SNAPSHOT_GENERATOR_H_ |
7 | 7 |
8 #include "profile-generator-inl.h" | 8 #include "profile-generator-inl.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 kArray = v8::HeapGraphNode::kArray, | 76 kArray = v8::HeapGraphNode::kArray, |
77 kString = v8::HeapGraphNode::kString, | 77 kString = v8::HeapGraphNode::kString, |
78 kObject = v8::HeapGraphNode::kObject, | 78 kObject = v8::HeapGraphNode::kObject, |
79 kCode = v8::HeapGraphNode::kCode, | 79 kCode = v8::HeapGraphNode::kCode, |
80 kClosure = v8::HeapGraphNode::kClosure, | 80 kClosure = v8::HeapGraphNode::kClosure, |
81 kRegExp = v8::HeapGraphNode::kRegExp, | 81 kRegExp = v8::HeapGraphNode::kRegExp, |
82 kHeapNumber = v8::HeapGraphNode::kHeapNumber, | 82 kHeapNumber = v8::HeapGraphNode::kHeapNumber, |
83 kNative = v8::HeapGraphNode::kNative, | 83 kNative = v8::HeapGraphNode::kNative, |
84 kSynthetic = v8::HeapGraphNode::kSynthetic, | 84 kSynthetic = v8::HeapGraphNode::kSynthetic, |
85 kConsString = v8::HeapGraphNode::kConsString, | 85 kConsString = v8::HeapGraphNode::kConsString, |
86 kSlicedString = v8::HeapGraphNode::kSlicedString | 86 kSlicedString = v8::HeapGraphNode::kSlicedString, |
| 87 kSymbol = v8::HeapGraphNode::kSymbol |
87 }; | 88 }; |
88 static const int kNoEntry; | 89 static const int kNoEntry; |
89 | 90 |
90 HeapEntry() { } | 91 HeapEntry() { } |
91 HeapEntry(HeapSnapshot* snapshot, | 92 HeapEntry(HeapSnapshot* snapshot, |
92 Type type, | 93 Type type, |
93 const char* name, | 94 const char* name, |
94 SnapshotObjectId id, | 95 SnapshotObjectId id, |
95 size_t self_size, | 96 size_t self_size, |
96 unsigned trace_node_id); | 97 unsigned trace_node_id); |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 const char* GetSystemEntryName(HeapObject* object); | 362 const char* GetSystemEntryName(HeapObject* object); |
362 | 363 |
363 template<V8HeapExplorer::ExtractReferencesMethod extractor> | 364 template<V8HeapExplorer::ExtractReferencesMethod extractor> |
364 bool IterateAndExtractSinglePass(); | 365 bool IterateAndExtractSinglePass(); |
365 | 366 |
366 bool ExtractReferencesPass1(int entry, HeapObject* obj); | 367 bool ExtractReferencesPass1(int entry, HeapObject* obj); |
367 bool ExtractReferencesPass2(int entry, HeapObject* obj); | 368 bool ExtractReferencesPass2(int entry, HeapObject* obj); |
368 void ExtractJSGlobalProxyReferences(int entry, JSGlobalProxy* proxy); | 369 void ExtractJSGlobalProxyReferences(int entry, JSGlobalProxy* proxy); |
369 void ExtractJSObjectReferences(int entry, JSObject* js_obj); | 370 void ExtractJSObjectReferences(int entry, JSObject* js_obj); |
370 void ExtractStringReferences(int entry, String* obj); | 371 void ExtractStringReferences(int entry, String* obj); |
| 372 void ExtractSymbolReferences(int entry, Symbol* symbol); |
371 void ExtractContextReferences(int entry, Context* context); | 373 void ExtractContextReferences(int entry, Context* context); |
372 void ExtractMapReferences(int entry, Map* map); | 374 void ExtractMapReferences(int entry, Map* map); |
373 void ExtractSharedFunctionInfoReferences(int entry, | 375 void ExtractSharedFunctionInfoReferences(int entry, |
374 SharedFunctionInfo* shared); | 376 SharedFunctionInfo* shared); |
375 void ExtractScriptReferences(int entry, Script* script); | 377 void ExtractScriptReferences(int entry, Script* script); |
376 void ExtractAccessorPairReferences(int entry, AccessorPair* accessors); | 378 void ExtractAccessorPairReferences(int entry, AccessorPair* accessors); |
377 void ExtractCodeCacheReferences(int entry, CodeCache* code_cache); | 379 void ExtractCodeCacheReferences(int entry, CodeCache* code_cache); |
378 void ExtractCodeReferences(int entry, Code* code); | 380 void ExtractCodeReferences(int entry, Code* code); |
379 void ExtractBoxReferences(int entry, Box* box); | 381 void ExtractBoxReferences(int entry, Box* box); |
380 void ExtractCellReferences(int entry, Cell* cell); | 382 void ExtractCellReferences(int entry, Cell* cell); |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 friend class HeapSnapshotJSONSerializerEnumerator; | 614 friend class HeapSnapshotJSONSerializerEnumerator; |
613 friend class HeapSnapshotJSONSerializerIterator; | 615 friend class HeapSnapshotJSONSerializerIterator; |
614 | 616 |
615 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); | 617 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); |
616 }; | 618 }; |
617 | 619 |
618 | 620 |
619 } } // namespace v8::internal | 621 } } // namespace v8::internal |
620 | 622 |
621 #endif // V8_HEAP_SNAPSHOT_GENERATOR_H_ | 623 #endif // V8_HEAP_SNAPSHOT_GENERATOR_H_ |
OLD | NEW |