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

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

Issue 2873013004: Omnibus Observatory UI fixes: (Closed)
Patch Set: Created 3 years, 7 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 code_view_element; 5 library code_view_element;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'package:observatory/cpu_profile.dart'; 9 import 'package:observatory/cpu_profile.dart';
10 import 'package:observatory/service.dart' as S; 10 import 'package:observatory/service.dart' as S;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 M.VM _vm; 58 M.VM _vm;
59 M.IsolateRef _isolate; 59 M.IsolateRef _isolate;
60 M.EventRepository _events; 60 M.EventRepository _events;
61 M.NotificationRepository _notifications; 61 M.NotificationRepository _notifications;
62 M.Code _code; 62 M.Code _code;
63 M.RetainedSizeRepository _retainedSizes; 63 M.RetainedSizeRepository _retainedSizes;
64 M.ReachableSizeRepository _reachableSizes; 64 M.ReachableSizeRepository _reachableSizes;
65 M.InboundReferencesRepository _references; 65 M.InboundReferencesRepository _references;
66 M.RetainingPathRepository _retainingPaths; 66 M.RetainingPathRepository _retainingPaths;
67 M.InstanceRepository _instances; 67 M.ObjectRepository _objects;
68 DisassemblyTable disassemblyTable; 68 DisassemblyTable disassemblyTable;
69 InlineTable inlineTable; 69 InlineTable inlineTable;
70 70
71 static const kDisassemblyColumnIndex = 3; 71 static const kDisassemblyColumnIndex = 3;
72 72
73 M.VMRef get vm => _vm; 73 M.VMRef get vm => _vm;
74 M.IsolateRef get isolate => _isolate; 74 M.IsolateRef get isolate => _isolate;
75 M.NotificationRepository get notifications => _notifications; 75 M.NotificationRepository get notifications => _notifications;
76 M.Code get context => _code; 76 M.Code get context => _code;
77 77
78 factory CodeViewElement( 78 factory CodeViewElement(
79 M.VM vm, 79 M.VM vm,
80 M.IsolateRef isolate, 80 M.IsolateRef isolate,
81 M.Code code, 81 M.Code code,
82 M.EventRepository events, 82 M.EventRepository events,
83 M.NotificationRepository notifications, 83 M.NotificationRepository notifications,
84 M.RetainedSizeRepository retainedSizes, 84 M.RetainedSizeRepository retainedSizes,
85 M.ReachableSizeRepository reachableSizes, 85 M.ReachableSizeRepository reachableSizes,
86 M.InboundReferencesRepository references, 86 M.InboundReferencesRepository references,
87 M.RetainingPathRepository retainingPaths, 87 M.RetainingPathRepository retainingPaths,
88 M.InstanceRepository instances, 88 M.ObjectRepository objects,
89 {RenderingQueue queue}) { 89 {RenderingQueue queue}) {
90 assert(vm != null); 90 assert(vm != null);
91 assert(isolate != null); 91 assert(isolate != null);
92 assert(events != null); 92 assert(events != null);
93 assert(notifications != null); 93 assert(notifications != null);
94 assert(code != null); 94 assert(code != null);
95 assert(instances != null); 95 assert(objects != null);
96 assert(retainedSizes != null); 96 assert(retainedSizes != null);
97 assert(reachableSizes != null); 97 assert(reachableSizes != null);
98 assert(references != null); 98 assert(references != null);
99 assert(retainingPaths != null); 99 assert(retainingPaths != null);
100 CodeViewElement e = document.createElement(tag.name); 100 CodeViewElement e = document.createElement(tag.name);
101 e._r = new RenderingScheduler(e, queue: queue); 101 e._r = new RenderingScheduler(e, queue: queue);
102 e._vm = vm; 102 e._vm = vm;
103 e._isolate = isolate; 103 e._isolate = isolate;
104 e._events = events; 104 e._events = events;
105 e._notifications = notifications; 105 e._notifications = notifications;
106 e._code = code; 106 e._code = code;
107 e._instances = instances; 107 e._objects = objects;
108 e._retainedSizes = retainedSizes; 108 e._retainedSizes = retainedSizes;
109 e._reachableSizes = reachableSizes; 109 e._reachableSizes = reachableSizes;
110 e._references = references; 110 e._references = references;
111 e._retainingPaths = retainingPaths; 111 e._retainingPaths = retainingPaths;
112 return e; 112 return e;
113 } 113 }
114 114
115 CodeViewElement.created() : super.created() { 115 CodeViewElement.created() : super.created() {
116 var columns = [ 116 var columns = [
117 new SortedTableColumn('Address'), 117 new SortedTableColumn('Address'),
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 ]), 218 ]),
219 new DivElement() 219 new DivElement()
220 ..classes = ['content-centered-big'] 220 ..classes = ['content-centered-big']
221 ..children = [ 221 ..children = [
222 new HeadingElement.h1() 222 new HeadingElement.h1()
223 ..text = (M.isDartCode(_code.kind) && _code.isOptimized) 223 ..text = (M.isDartCode(_code.kind) && _code.isOptimized)
224 ? 'Optimized code for ${_code.name}' 224 ? 'Optimized code for ${_code.name}'
225 : 'Code for ${_code.name}', 225 : 'Code for ${_code.name}',
226 new HRElement(), 226 new HRElement(),
227 new ObjectCommonElement(_isolate, _code, _retainedSizes, 227 new ObjectCommonElement(_isolate, _code, _retainedSizes,
228 _reachableSizes, _references, _retainingPaths, _instances, 228 _reachableSizes, _references, _retainingPaths, _objects,
229 queue: _r.queue), 229 queue: _r.queue),
230 new BRElement(), 230 new BRElement(),
231 new DivElement() 231 new DivElement()
232 ..classes = ['memberList'] 232 ..classes = ['memberList']
233 ..children = [ 233 ..children = [
234 new DivElement() 234 new DivElement()
235 ..classes = ['memberItem'] 235 ..classes = ['memberItem']
236 ..children = [ 236 ..children = [
237 new DivElement() 237 new DivElement()
238 ..classes = ['memberName'] 238 ..classes = ['memberName']
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 tableBody.children.add(tr); 469 tableBody.children.add(tr);
470 } 470 }
471 471
472 void _fillDisassemblyDOMRow(TableRowElement tr, int rowIndex) { 472 void _fillDisassemblyDOMRow(TableRowElement tr, int rowIndex) {
473 final row = disassemblyTable.rows[rowIndex]; 473 final row = disassemblyTable.rows[rowIndex];
474 final n = row.values.length; 474 final n = row.values.length;
475 for (var i = 0; i < n; i++) { 475 for (var i = 0; i < n; i++) {
476 final cell = tr.children[i]; 476 final cell = tr.children[i];
477 final content = row.values[i]; 477 final content = row.values[i];
478 if (content is S.HeapObject) { 478 if (content is S.HeapObject) {
479 cell.children = [ 479 cell.children = [anyRef(_isolate, content, _objects, queue: _r.queue)];
480 anyRef(_isolate, content, _instances, queue: _r.queue)
481 ];
482 } else if (content != null) { 480 } else if (content != null) {
483 String text = '$content'; 481 String text = '$content';
484 if (i == kDisassemblyColumnIndex) { 482 if (i == kDisassemblyColumnIndex) {
485 // Disassembly might be a comment. Reduce indentation, change styling, 483 // Disassembly might be a comment. Reduce indentation, change styling,
486 // widen to span next column (which should be empty). 484 // widen to span next column (which should be empty).
487 if (text.startsWith(' ;;')) { 485 if (text.startsWith(' ;;')) {
488 cell.attributes['colspan'] = '2'; 486 cell.attributes['colspan'] = '2';
489 cell.classes.add('code-comment'); 487 cell.classes.add('code-comment');
490 text = text.substring(6); 488 text = text.substring(6);
491 } else { 489 } else {
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 case M.CodeKind.stub: 638 case M.CodeKind.stub:
641 return 'stub'; 639 return 'stub';
642 case M.CodeKind.tag: 640 case M.CodeKind.tag:
643 return 'tag'; 641 return 'tag';
644 case M.CodeKind.collected: 642 case M.CodeKind.collected:
645 return 'collected'; 643 return 'collected';
646 } 644 }
647 throw new Exception('Unknown CodeKind ($kind)'); 645 throw new Exception('Unknown CodeKind ($kind)');
648 } 646 }
649 } 647 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/class_view.dart ('k') | runtime/observatory/lib/src/elements/context_ref.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698