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

Side by Side Diff: include/v8-profiler.h

Issue 5139002: New heap profiler: include all heap objects and refs into snapshot. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 10 years, 1 month 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
« no previous file with comments | « no previous file | src/api.cc » ('j') | src/profile-generator.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | src/profile-generator.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698