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

Side by Side Diff: runtime/observatory/lib/src/elements/heap_map.dart

Issue 1090293003: Kill service_test.cc tests in favor of dart tests for the service protocol. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix tests Created 5 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library heap_map_element; 5 library heap_map_element;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'dart:math'; 9 import 'dart:math';
10 import 'observatory_element.dart'; 10 import 'observatory_element.dart';
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 var offset = 0; 139 var offset = 0;
140 var size = 0; 140 var size = 0;
141 for (var i = 0; i < objects.length; i += 2) { 141 for (var i = 0; i < objects.length; i += 2) {
142 size = objects[i]; 142 size = objects[i];
143 offset += size; 143 offset += size;
144 if (offset > pageOffset) { 144 if (offset > pageOffset) {
145 pageOffset = offset - size; 145 pageOffset = offset - size;
146 break; 146 break;
147 } 147 }
148 } 148 }
149 return new ObjectInfo(int.parse(page['object_start']) + 149 return new ObjectInfo(int.parse(page['objectStart']) +
150 pageOffset * fragmentation['unit_size_bytes'], 150 pageOffset * fragmentation['unitSizeBytes'],
151 size * fragmentation['unit_size_bytes']); 151 size * fragmentation['unitSizeBytes']);
152 } 152 }
153 153
154 void _handleMouseMove(MouseEvent event) { 154 void _handleMouseMove(MouseEvent event) {
155 var info = _objectAt(event.offset); 155 var info = _objectAt(event.offset);
156 var addressString = '${info.size}B @ 0x${info.address.toRadixString(16)}'; 156 var addressString = '${info.size}B @ 0x${info.address.toRadixString(16)}';
157 var className = _classNameAt(event.offset); 157 var className = _classNameAt(event.offset);
158 status = (className == '') ? '-' : '$className $addressString'; 158 status = (className == '') ? '-' : '$className $addressString';
159 } 159 }
160 160
161 void _handleClick(MouseEvent event) { 161 void _handleClick(MouseEvent event) {
162 var address = _objectAt(event.offset).address.toRadixString(16); 162 var address = _objectAt(event.offset).address.toRadixString(16);
163 isolate.getObjectByAddress(address).then((result) { 163 isolate.getObjectByAddress(address).then((result) {
164 if (result is DartError) { 164 if (result is DartError) {
165 Logger.root.severe(result.message); 165 Logger.root.severe(result.message);
166 } else { 166 } else if (result.type != 'Sentinel') {
167 app.locationManager.go(gotoLink('/inspect', result)); 167 app.locationManager.go(gotoLink('/inspect', result));
168 } 168 }
169 }); 169 });
170 } 170 }
171 171
172 void _updateFragmentationData() { 172 void _updateFragmentationData() {
173 if (fragmentation == null || _fragmentationCanvas == null) { 173 if (fragmentation == null || _fragmentationCanvas == null) {
174 return; 174 return;
175 } 175 }
176 _updateClassList( 176 _updateClassList(
177 fragmentation['class_list'], fragmentation['free_class_id']); 177 fragmentation['classList'], fragmentation['freeClassId']);
178 var pages = fragmentation['pages']; 178 var pages = fragmentation['pages'];
179 var width = _fragmentationCanvas.parent.client.width; 179 var width = _fragmentationCanvas.parent.client.width;
180 _pageHeight = _PAGE_SEPARATION_HEIGHT + 180 _pageHeight = _PAGE_SEPARATION_HEIGHT +
181 fragmentation['page_size_bytes'] ~/ 181 fragmentation['pageSizeBytes'] ~/
182 fragmentation['unit_size_bytes'] ~/ width; 182 fragmentation['unitSizeBytes'] ~/ width;
183 var height = min(_pageHeight * pages.length, _MAX_CANVAS_HEIGHT); 183 var height = min(_pageHeight * pages.length, _MAX_CANVAS_HEIGHT);
184 _fragmentationData = 184 _fragmentationData =
185 _fragmentationCanvas.context2D.createImageData(width, height); 185 _fragmentationCanvas.context2D.createImageData(width, height);
186 _fragmentationCanvas.width = _fragmentationData.width; 186 _fragmentationCanvas.width = _fragmentationData.width;
187 _fragmentationCanvas.height = _fragmentationData.height; 187 _fragmentationCanvas.height = _fragmentationData.height;
188 _renderPages(0); 188 _renderPages(0);
189 } 189 }
190 190
191 // Renders and draws asynchronously, one page at a time to avoid 191 // Renders and draws asynchronously, one page at a time to avoid
192 // blocking the UI. 192 // blocking the UI.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 }).whenComplete(done); 246 }).whenComplete(done);
247 } 247 }
248 248
249 void fragmentationChanged(oldValue) { 249 void fragmentationChanged(oldValue) {
250 // Async, in case attached has not yet run (observed in JS version). 250 // Async, in case attached has not yet run (observed in JS version).
251 new Future(() { 251 new Future(() {
252 _updateFragmentationData(); 252 _updateFragmentationData();
253 }); 253 });
254 } 254 }
255 } 255 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/class_view.html ('k') | runtime/observatory/lib/src/elements/heap_profile.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698