OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 /** | 190 /** |
191 * HeapSnapshotEdge represents a directed connection between heap | 191 * HeapSnapshotEdge represents a directed connection between heap |
192 * graph nodes: from retaners to retained nodes. | 192 * graph nodes: from retaners to retained nodes. |
193 */ | 193 */ |
194 class V8EXPORT HeapGraphEdge { | 194 class V8EXPORT HeapGraphEdge { |
195 public: | 195 public: |
196 enum Type { | 196 enum Type { |
197 kContextVariable = 0, // A variable from a function context. | 197 kContextVariable = 0, // A variable from a function context. |
198 kElement = 1, // An element of an array. | 198 kElement = 1, // An element of an array. |
199 kProperty = 2, // A named object property. | 199 kProperty = 2, // A named object property. |
200 kInternal = 3 // A link that can't be accessed from JS, | 200 kInternal = 3, // A link that can't be accessed from JS, |
201 // thus, its name isn't a real property name. | 201 // thus, its name isn't a real property name |
| 202 // (e.g. parts of a ConsString). |
| 203 kHidden = 4, // A link that is needed for proper sizes |
| 204 // calculation, but may be hidden from user. |
| 205 kShortcut = 5 // A link that must not be followed during |
| 206 // sizes calculation. |
202 }; | 207 }; |
203 | 208 |
204 /** Returns edge type (see HeapGraphEdge::Type). */ | 209 /** Returns edge type (see HeapGraphEdge::Type). */ |
205 Type GetType() const; | 210 Type GetType() const; |
206 | 211 |
207 /** | 212 /** |
208 * Returns edge name. This can be a variable name, an element index, or | 213 * Returns edge name. This can be a variable name, an element index, or |
209 * a property name. | 214 * a property name. |
210 */ | 215 */ |
211 Handle<Value> GetName() const; | 216 Handle<Value> GetName() const; |
(...skipping 21 matching lines...) Expand all Loading... |
233 const HeapGraphNode* GetToNode() const; | 238 const HeapGraphNode* GetToNode() const; |
234 }; | 239 }; |
235 | 240 |
236 | 241 |
237 /** | 242 /** |
238 * HeapGraphNode represents a node in a heap graph. | 243 * HeapGraphNode represents a node in a heap graph. |
239 */ | 244 */ |
240 class V8EXPORT HeapGraphNode { | 245 class V8EXPORT HeapGraphNode { |
241 public: | 246 public: |
242 enum Type { | 247 enum Type { |
243 kInternal = 0, // Internal node, a virtual one, for housekeeping. | 248 kHidden = 0, // Hidden node, may be filtered when shown to user. |
244 kArray = 1, // An array of elements. | 249 kArray = 1, // An array of elements. |
245 kString = 2, // A string. | 250 kString = 2, // A string. |
246 kObject = 3, // A JS object (except for arrays and strings). | 251 kObject = 3, // A JS object (except for arrays and strings). |
247 kCode = 4, // Compiled code. | 252 kCode = 4, // Compiled code. |
248 kClosure = 5, // Function closure. | 253 kClosure = 5, // Function closure. |
249 kRegExp = 6, // RegExp. | 254 kRegExp = 6, // RegExp. |
250 kHeapNumber = 7 // Number stored in the heap. | 255 kHeapNumber = 7 // Number stored in the heap. |
251 }; | 256 }; |
252 | 257 |
253 /** Returns node type (see HeapGraphNode::Type). */ | 258 /** Returns node type (see HeapGraphNode::Type). */ |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 }; | 404 }; |
400 | 405 |
401 | 406 |
402 } // namespace v8 | 407 } // namespace v8 |
403 | 408 |
404 | 409 |
405 #undef V8EXPORT | 410 #undef V8EXPORT |
406 | 411 |
407 | 412 |
408 #endif // V8_V8_PROFILER_H_ | 413 #endif // V8_V8_PROFILER_H_ |
OLD | NEW |