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

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

Issue 3060008: Heap profiler: reduce heap snapshots size. (Closed)
Patch Set: Comments addressed Created 10 years, 4 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
« no previous file with comments | « ChangeLog ('k') | src/api.cc » ('j') | no next file with comments »
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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 class HeapGraphNode; 187 class HeapGraphNode;
188 188
189 189
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 CONTEXT_VARIABLE = 0, // A variable from a function context. 197 kContextVariable = 0, // A variable from a function context.
198 ELEMENT = 1, // An element of an array. 198 kElement = 1, // An element of an array.
199 PROPERTY = 2, // A named object property. 199 kProperty = 2, // A named object property.
200 INTERNAL = 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 }; 202 };
203 203
204 /** Returns edge type (see HeapGraphEdge::Type). */ 204 /** Returns edge type (see HeapGraphEdge::Type). */
205 Type GetType() const; 205 Type GetType() const;
206 206
207 /** 207 /**
208 * Returns edge name. This can be a variable name, an element index, or 208 * Returns edge name. This can be a variable name, an element index, or
209 * a property name. 209 * a property name.
210 */ 210 */
(...skipping 22 matching lines...) Expand all
233 const HeapGraphNode* GetToNode() const; 233 const HeapGraphNode* GetToNode() const;
234 }; 234 };
235 235
236 236
237 /** 237 /**
238 * HeapGraphNode represents a node in a heap graph. 238 * HeapGraphNode represents a node in a heap graph.
239 */ 239 */
240 class V8EXPORT HeapGraphNode { 240 class V8EXPORT HeapGraphNode {
241 public: 241 public:
242 enum Type { 242 enum Type {
243 INTERNAL = 0, // Internal node, a virtual one, for housekeeping. 243 kInternal = 0, // Internal node, a virtual one, for housekeeping.
244 ARRAY = 1, // An array of elements. 244 kArray = 1, // An array of elements.
245 STRING = 2, // A string. 245 kString = 2, // A string.
246 OBJECT = 3, // A JS object (except for arrays and strings). 246 kObject = 3, // A JS object (except for arrays and strings).
247 CODE = 4, // Compiled code. 247 kCode = 4, // Compiled code.
248 CLOSURE = 5 // Function closure. 248 kClosure = 5 // Function closure.
249 }; 249 };
250 250
251 /** Returns node type (see HeapGraphNode::Type). */ 251 /** Returns node type (see HeapGraphNode::Type). */
252 Type GetType() const; 252 Type GetType() const;
253 253
254 /** 254 /**
255 * Returns node name. Depending on node's type this can be the name 255 * Returns node name. Depending on node's type this can be the name
256 * of the constructor (for objects), the name of the function (for 256 * of the constructor (for objects), the name of the function (for
257 * closures), string value, or an empty string (for compiled code). 257 * closures), string value, or an empty string (for compiled code).
258 */ 258 */
259 Handle<String> GetName() const; 259 Handle<String> GetName() const;
260 260
261 /** 261 /**
262 * Returns node id. For the same heap object, the id remains the same 262 * Returns node id. For the same heap object, the id remains the same
263 * across all snapshots. 263 * across all snapshots.
264 */ 264 */
265 uint64_t GetId() const; 265 uint64_t GetId() const;
266 266
267 /** Returns node's own size, in bytes. */ 267 /** Returns node's own size, in bytes. */
268 int GetSelfSize() const; 268 int GetSelfSize() const;
269 269
270 /** Returns node's network (self + reachable nodes) size, in bytes. */ 270 /** Returns node's network (self + reachable nodes) size, in bytes. */
271 int GetTotalSize() const; 271 int GetReachableSize() const;
272 272
273 /** 273 /**
274 * Returns node's private size, in bytes. That is, the size of memory 274 * Returns node's retained size, in bytes. That is, self + sizes of
275 * that will be reclaimed having this node collected. 275 * the objects that are reachable only from this object. In other
276 * words, the size of memory that will be reclaimed having this node
277 * collected.
276 */ 278 */
277 int GetPrivateSize() const; 279 int GetRetainedSize() const;
278 280
279 /** Returns child nodes count of the node. */ 281 /** Returns child nodes count of the node. */
280 int GetChildrenCount() const; 282 int GetChildrenCount() const;
281 283
282 /** Retrieves a child by index. */ 284 /** Retrieves a child by index. */
283 const HeapGraphEdge* GetChild(int index) const; 285 const HeapGraphEdge* GetChild(int index) const;
284 286
285 /** Returns retainer nodes count of the node. */ 287 /** Returns retainer nodes count of the node. */
286 int GetRetainersCount() const; 288 int GetRetainersCount() const;
287 289
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 }; 346 };
345 347
346 348
347 } // namespace v8 349 } // namespace v8
348 350
349 351
350 #undef V8EXPORT 352 #undef V8EXPORT
351 353
352 354
353 #endif // V8_V8_PROFILER_H_ 355 #endif // V8_V8_PROFILER_H_
OLDNEW
« no previous file with comments | « ChangeLog ('k') | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698