| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of heap_snapshot; | 5 part of heap_snapshot; |
| 6 | 6 |
| 7 class HeapSnapshot implements M.HeapSnapshot { | 7 class HeapSnapshot implements M.HeapSnapshot { |
| 8 ObjectGraph graph; | 8 ObjectGraph graph; |
| 9 DateTime timestamp; | 9 DateTime timestamp; |
| 10 int get objects => graph.vertexCount; | 10 int get objects => graph.vertexCount; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 } | 117 } |
| 118 return result; | 118 return result; |
| 119 } | 119 } |
| 120 } | 120 } |
| 121 | 121 |
| 122 class HeapSnapshotDominatorNode implements M.HeapSnapshotDominatorNode { | 122 class HeapSnapshotDominatorNode implements M.HeapSnapshotDominatorNode { |
| 123 final ObjectVertex v; | 123 final ObjectVertex v; |
| 124 final S.Isolate isolate; | 124 final S.Isolate isolate; |
| 125 S.HeapObject _preloaded; | 125 S.HeapObject _preloaded; |
| 126 | 126 |
| 127 bool get isStack => v.isStack; |
| 128 |
| 127 Future<S.HeapObject> get object { | 129 Future<S.HeapObject> get object { |
| 128 if (_preloaded != null) { | 130 if (_preloaded != null) { |
| 129 return new Future.value(_preloaded); | 131 return new Future.value(_preloaded); |
| 130 } else { | 132 } else { |
| 131 return isolate.getObjectByAddress(v.address).then((S.HeapObject obj) { | 133 return isolate.getObjectByAddress(v.address).then((S.HeapObject obj) { |
| 132 return _preloaded = obj; | 134 return _preloaded = obj; |
| 133 }); | 135 }); |
| 134 } | 136 } |
| 135 } | 137 } |
| 136 | 138 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 152 HeapSnapshotDominatorNode(S.Isolate isolate, ObjectVertex vertex) | 154 HeapSnapshotDominatorNode(S.Isolate isolate, ObjectVertex vertex) |
| 153 : isolate = isolate, | 155 : isolate = isolate, |
| 154 v = vertex; | 156 v = vertex; |
| 155 } | 157 } |
| 156 | 158 |
| 157 class HeapSnapshotMergedDominatorNode | 159 class HeapSnapshotMergedDominatorNode |
| 158 implements M.HeapSnapshotMergedDominatorNode { | 160 implements M.HeapSnapshotMergedDominatorNode { |
| 159 final MergedObjectVertex v; | 161 final MergedObjectVertex v; |
| 160 final S.Isolate isolate; | 162 final S.Isolate isolate; |
| 161 | 163 |
| 164 bool get isStack => v.isStack; |
| 165 |
| 162 Future<S.HeapObject> get klass { | 166 Future<S.HeapObject> get klass { |
| 163 return new Future.value(isolate.getClassByCid(v.vmCid)); | 167 return new Future.value(isolate.getClassByCid(v.vmCid)); |
| 164 } | 168 } |
| 165 | 169 |
| 166 Iterable<HeapSnapshotMergedDominatorNode> _children; | 170 Iterable<HeapSnapshotMergedDominatorNode> _children; |
| 167 Iterable<HeapSnapshotMergedDominatorNode> get children { | 171 Iterable<HeapSnapshotMergedDominatorNode> get children { |
| 168 if (_children != null) { | 172 if (_children != null) { |
| 169 return _children; | 173 return _children; |
| 170 } else { | 174 } else { |
| 171 return _children = | 175 return _children = |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 final MergedEdge edge; | 258 final MergedEdge edge; |
| 255 S.Class get target => edge.sourceVertex != vertex | 259 S.Class get target => edge.sourceVertex != vertex |
| 256 ? edge.sourceVertex.clazz | 260 ? edge.sourceVertex.clazz |
| 257 : edge.targetVertex.clazz; | 261 : edge.targetVertex.clazz; |
| 258 int get count => edge.count; | 262 int get count => edge.count; |
| 259 int get shallowSize => edge.shallowSize; | 263 int get shallowSize => edge.shallowSize; |
| 260 int get retainedSize => edge.retainedSize; | 264 int get retainedSize => edge.retainedSize; |
| 261 | 265 |
| 262 HeapSnapshotClassOutbound(this.vertex, this.edge); | 266 HeapSnapshotClassOutbound(this.vertex, this.edge); |
| 263 } | 267 } |
| OLD | NEW |