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/cpu_profile/cpu_profile.dart

Issue 2194383002: Converted Observatory code-ref function-ref element (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fixed CSS problem Created 4 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 cpu_profiler; 5 part of cpu_profiler;
6 6
7 abstract class CallTreeNode { 7 abstract class CallTreeNode {
8 final List<CallTreeNode> children; 8 final List<CallTreeNode> children;
9 final int count; 9 final int count;
10 double get percentage => _percentage; 10 double get percentage => _percentage;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 return false; 126 return false;
127 } 127 }
128 128
129 // Does this function have an unoptimized version of itself? 129 // Does this function have an unoptimized version of itself?
130 bool hasUnoptimizedCode() { 130 bool hasUnoptimizedCode() {
131 for (var nodeCode in codes) { 131 for (var nodeCode in codes) {
132 var profileCode = nodeCode.code; 132 var profileCode = nodeCode.code;
133 if (!profileCode.code.isDartCode) { 133 if (!profileCode.code.isDartCode) {
134 continue; 134 continue;
135 } 135 }
136 if (profileCode.code.kind == CodeKind.Stub) { 136 if (profileCode.code.kind == M.CodeKind.stub) {
137 continue; 137 continue;
138 } 138 }
139 if (!profileCode.code.isOptimized) { 139 if (!profileCode.code.isOptimized) {
140 return true; 140 return true;
141 } 141 }
142 } 142 }
143 return false; 143 return false;
144 } 144 }
145 145
146 // Has this function been inlined in another function? 146 // Has this function been inlined in another function?
147 bool isInlined() { 147 bool isInlined() {
148 for (var nodeCode in codes) { 148 for (var nodeCode in codes) {
149 var profileCode = nodeCode.code; 149 var profileCode = nodeCode.code;
150 if (!profileCode.code.isDartCode) { 150 if (!profileCode.code.isDartCode) {
151 continue; 151 continue;
152 } 152 }
153 if (profileCode.code.kind == CodeKind.Stub) { 153 if (profileCode.code.kind == M.CodeKind.stub) {
154 continue; 154 continue;
155 } 155 }
156 // If the code's function isn't this function. 156 // If the code's function isn't this function.
157 if (profileCode.code.function != profileFunction.function) { 157 if (profileCode.code.function != profileFunction.function) {
158 return true; 158 return true;
159 } 159 }
160 } 160 }
161 return false; 161 return false;
162 } 162 }
163 163
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 } 411 }
412 } 412 }
413 } 413 }
414 414
415 ProfileCode.fromMap(this.profile, this.code, Map data) { 415 ProfileCode.fromMap(this.profile, this.code, Map data) {
416 assert(profile != null); 416 assert(profile != null);
417 assert(code != null); 417 assert(code != null);
418 418
419 code.profile = this; 419 code.profile = this;
420 420
421 if (code.kind == CodeKind.Stub) { 421 if (code.kind == M.CodeKind.stub) {
422 attributes.add('stub'); 422 attributes.add('stub');
423 } else if (code.kind == CodeKind.Dart) { 423 } else if (code.kind == M.CodeKind.dart) {
424 if (code.isNative) { 424 if (code.isNative) {
425 attributes.add('ffi'); // Not to be confused with a C function. 425 attributes.add('ffi'); // Not to be confused with a C function.
426 } else { 426 } else {
427 attributes.add('dart'); 427 attributes.add('dart');
428 } 428 }
429 if (code.hasIntrinsic) { 429 if (code.hasIntrinsic) {
430 attributes.add('intrinsic'); 430 attributes.add('intrinsic');
431 } 431 }
432 if (code.isOptimized) { 432 if (code.isOptimized) {
433 attributes.add('optimized'); 433 attributes.add('optimized');
434 } else { 434 } else {
435 attributes.add('unoptimized'); 435 attributes.add('unoptimized');
436 } 436 }
437 } else if (code.kind == CodeKind.Tag) { 437 } else if (code.kind == M.CodeKind.tag) {
438 attributes.add('tag'); 438 attributes.add('tag');
439 } else if (code.kind == CodeKind.Native) { 439 } else if (code.kind == M.CodeKind.native) {
440 attributes.add('native'); 440 attributes.add('native');
441 } 441 }
442 inclusiveTicks = int.parse(data['inclusiveTicks']); 442 inclusiveTicks = int.parse(data['inclusiveTicks']);
443 exclusiveTicks = int.parse(data['exclusiveTicks']); 443 exclusiveTicks = int.parse(data['exclusiveTicks']);
444 444
445 normalizedExclusiveTicks = exclusiveTicks / profile.sampleCount; 445 normalizedExclusiveTicks = exclusiveTicks / profile.sampleCount;
446 446
447 normalizedInclusiveTicks = inclusiveTicks / profile.sampleCount; 447 normalizedInclusiveTicks = inclusiveTicks / profile.sampleCount;
448 448
449 var ticks = data['ticks']; 449 var ticks = data['ticks'];
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 if (profileCode.code.isOptimized) { 530 if (profileCode.code.isOptimized) {
531 return true; 531 return true;
532 } 532 }
533 } 533 }
534 return false; 534 return false;
535 } 535 }
536 536
537 // Does this function have an unoptimized version of itself? 537 // Does this function have an unoptimized version of itself?
538 bool hasUnoptimizedCode() { 538 bool hasUnoptimizedCode() {
539 for (var profileCode in profileCodes) { 539 for (var profileCode in profileCodes) {
540 if (profileCode.code.kind == CodeKind.Stub) { 540 if (profileCode.code.kind == M.CodeKind.stub) {
541 continue; 541 continue;
542 } 542 }
543 if (!profileCode.code.isDartCode) { 543 if (!profileCode.code.isDartCode) {
544 continue; 544 continue;
545 } 545 }
546 if (!profileCode.code.isOptimized) { 546 if (!profileCode.code.isOptimized) {
547 return true; 547 return true;
548 } 548 }
549 } 549 }
550 return false; 550 return false;
551 } 551 }
552 552
553 // Has this function been inlined in another function? 553 // Has this function been inlined in another function?
554 bool isInlined() { 554 bool isInlined() {
555 for (var profileCode in profileCodes) { 555 for (var profileCode in profileCodes) {
556 if (profileCode.code.kind == CodeKind.Stub) { 556 if (profileCode.code.kind == M.CodeKind.stub) {
557 continue; 557 continue;
558 } 558 }
559 if (!profileCode.code.isDartCode) { 559 if (!profileCode.code.isDartCode) {
560 continue; 560 continue;
561 } 561 }
562 // If the code's function isn't this function. 562 // If the code's function isn't this function.
563 if (profileCode.code.function != function) { 563 if (profileCode.code.function != function) {
564 return true; 564 return true;
565 } 565 }
566 } 566 }
567 return false; 567 return false;
568 } 568 }
569 569
570 void _addKindBasedAttributes(Set<String> attribs) { 570 void _addKindBasedAttributes(Set<String> attribs) {
571 if (function.kind == FunctionKind.kTag) { 571 if (function.kind == M.FunctionKind.tag) {
572 attribs.add('tag'); 572 attribs.add('tag');
573 } else if (function.kind == FunctionKind.kStub) { 573 } else if (function.kind == M.FunctionKind.stub) {
574 attribs.add('stub'); 574 attribs.add('stub');
575 } else if (function.kind == FunctionKind.kNative) { 575 } else if (function.kind == M.FunctionKind.native) {
576 attribs.add('native'); 576 attribs.add('native');
577 } else if (function.kind.isSynthetic()) { 577 } else if (M.isSyntheticFunction(function.kind)) {
578 attribs.add('synthetic'); 578 attribs.add('synthetic');
579 } else if (function.isNative) { 579 } else if (function.isNative) {
580 attribs.add('ffi'); // Not to be confused with a C function. 580 attribs.add('ffi'); // Not to be confused with a C function.
581 } else { 581 } else {
582 attribs.add('dart'); 582 attribs.add('dart');
583 } 583 }
584 if (function.hasIntrinsic == true) { 584 if (function.hasIntrinsic == true) {
585 attribs.add('intrinsic'); 585 attribs.add('intrinsic');
586 } 586 }
587 } 587 }
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 int approximateMillisecondsForCount(count) { 920 int approximateMillisecondsForCount(count) {
921 var MICROSECONDS_PER_MILLISECOND = 1000.0; 921 var MICROSECONDS_PER_MILLISECOND = 1000.0;
922 return (count * samplePeriod) ~/ MICROSECONDS_PER_MILLISECOND; 922 return (count * samplePeriod) ~/ MICROSECONDS_PER_MILLISECOND;
923 } 923 }
924 924
925 double approximateSecondsForCount(count) { 925 double approximateSecondsForCount(count) {
926 var MICROSECONDS_PER_SECOND = 1000000.0; 926 var MICROSECONDS_PER_SECOND = 1000000.0;
927 return (count * samplePeriod) / MICROSECONDS_PER_SECOND; 927 return (count * samplePeriod) / MICROSECONDS_PER_SECOND;
928 } 928 }
929 } 929 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/models.dart ('k') | runtime/observatory/lib/src/debugger/debugger_location.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698