Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- | 2 <!-- |
| 3 Copyright 2015 The Chromium Authors. All rights reserved. | 3 Copyright 2015 The Chromium Authors. All rights reserved. |
| 4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
| 5 found in the LICENSE file. | 5 found in the LICENSE file. |
| 6 --> | 6 --> |
| 7 | 7 |
| 8 <link rel="import" href="/tracing/base/base.html"> | 8 <link rel="import" href="/tracing/base/base.html"> |
| 9 | 9 |
| 10 <script> | 10 <script> |
| 11 'use strict'; | 11 'use strict'; |
| 12 | 12 |
| 13 tr.exportTo('tr.model', function() { | 13 tr.exportTo('tr.model', function() { |
| 14 /** | 14 /** |
| 15 * HeapEntry represents a single value describing the state of the heap of an | 15 * HeapEntry represents a single value describing the state of the heap of an |
| 16 * allocator in a single process. | 16 * allocator in a single process. |
| 17 * | 17 * |
| 18 * An entry specifies how much space (e.g. 19 MiB) was allocated in a | 18 * An entry specifies how much space (e.g. 19 MiB) was allocated in a |
| 19 * particular context, which consists of a codepath (e.g. drawQuad <- draw <- | 19 * particular context, which consists of a codepath (e.g. drawQuad <- draw <- |
| 20 * MessageLoop::RunTask) and an object type (e.g. HTMLImportLoader). | 20 * MessageLoop::RunTask) and an object type (e.g. HTMLImportLoader). |
| 21 * | 21 * |
| 22 * @{constructor} | 22 * @{constructor} |
| 23 */ | 23 */ |
| 24 function HeapEntry(heapDump, leafStackFrame, objectTypeName, size, count) { | 24 function HeapEntry( |
| 25 heapDump, leafStackFrame, objectTypeName, size, count, valuesAreSelf) { | |
|
fmeawad
2017/03/23 20:43:57
nit: valuesAreSelf is not very descriptive, can yo
| |
| 25 this.heapDump = heapDump; | 26 this.heapDump = heapDump; |
| 26 | 27 |
| 27 // The leaf stack frame of the associated backtrace (e.g. drawQuad for the | 28 // The leaf stack frame of the associated backtrace (e.g. drawQuad for the |
| 28 // drawQuad <- draw <- MessageLoop::RunTask backtrace). If undefined, the | 29 // drawQuad <- draw <- MessageLoop::RunTask backtrace). If undefined, the |
| 29 // backtrace is empty. | 30 // backtrace is empty. |
| 30 this.leafStackFrame = leafStackFrame; | 31 this.leafStackFrame = leafStackFrame; |
| 31 | 32 |
| 32 // The name of the allocated object type (e.g. 'HTMLImportLoader'). If | 33 // The name of the allocated object type (e.g. 'HTMLImportLoader'). If |
| 33 // undefined, the entry represents the sum over all object types. | 34 // undefined, the entry represents the sum over all object types. |
| 34 this.objectTypeName = objectTypeName; | 35 this.objectTypeName = objectTypeName; |
| 35 | 36 |
| 36 this.size = size; | 37 this.size = size; |
| 37 this.count = count; | 38 this.count = count; |
| 39 this.valuesAreSelf = valuesAreSelf; | |
| 38 } | 40 } |
| 39 | 41 |
| 40 /** | 42 /** |
| 41 * HeapDump represents a dump of the heap of an allocator in a single process | 43 * HeapDump represents a dump of the heap of an allocator in a single process |
| 42 * at a particular timestamp. | 44 * at a particular timestamp. |
| 43 * | 45 * |
| 44 * @{constructor} | 46 * @{constructor} |
| 45 */ | 47 */ |
| 46 function HeapDump(processMemoryDump, allocatorName) { | 48 function HeapDump(processMemoryDump, allocatorName, isComplete) { |
| 47 this.processMemoryDump = processMemoryDump; | 49 this.processMemoryDump = processMemoryDump; |
| 48 this.allocatorName = allocatorName; | 50 this.allocatorName = allocatorName; |
| 51 this.isComplete = isComplete; | |
| 49 this.entries = []; | 52 this.entries = []; |
| 50 } | 53 } |
| 51 | 54 |
| 52 HeapDump.prototype = { | 55 HeapDump.prototype = { |
| 53 addEntry: function(leafStackFrame, objectTypeName, size, count) { | 56 addEntry: function( |
| 57 leafStackFrame, objectTypeName, size, count, opt_valuesAreSelf) { | |
| 58 var valuesAreSelf = opt_valuesAreSelf || false; | |
| 54 var entry = new HeapEntry( | 59 var entry = new HeapEntry( |
| 55 this, leafStackFrame, objectTypeName, size, count); | 60 this, leafStackFrame, objectTypeName, size, count, valuesAreSelf); |
| 56 this.entries.push(entry); | 61 this.entries.push(entry); |
| 57 return entry; | 62 return entry; |
| 58 } | 63 } |
| 59 }; | 64 }; |
| 60 | 65 |
| 61 return { | 66 return { |
| 62 HeapEntry, | 67 HeapEntry, |
| 63 HeapDump, | 68 HeapDump, |
| 64 }; | 69 }; |
| 65 }); | 70 }); |
| 66 </script> | 71 </script> |
| OLD | NEW |