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

Side by Side Diff: lib/compiler/implementation/compiler.dart

Issue 11265024: Make methods in Stopwatch getters and rename to be more consistent. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update status files with co19 issue number. Created 8 years, 1 month 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
« no previous file with comments | « no previous file | lib/compiler/implementation/tools/mini_parser.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 dart2js; 5 part of dart2js;
6 6
7 /** 7 /**
8 * If true, print a warning for each method that was resolved, but not 8 * If true, print a warning for each method that was resolved, but not
9 * compiled. 9 * compiled.
10 */ 10 */
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 return elements; 595 return elements;
596 } 596 }
597 597
598 TreeElements analyze(WorkItem work, Enqueuer world) { 598 TreeElements analyze(WorkItem work, Enqueuer world) {
599 if (work.isAnalyzed()) { 599 if (work.isAnalyzed()) {
600 // TODO(ahe): Clean this up and find a better way for adding all resolved 600 // TODO(ahe): Clean this up and find a better way for adding all resolved
601 // elements. 601 // elements.
602 enqueuer.resolution.resolvedElements[work.element] = work.resolutionTree; 602 enqueuer.resolution.resolvedElements[work.element] = work.resolutionTree;
603 return work.resolutionTree; 603 return work.resolutionTree;
604 } 604 }
605 if (progress.elapsedInMs() > 500) { 605 if (progress.elapsedMilliseconds > 500) {
606 // TODO(ahe): Add structured diagnostics to the compiler API and 606 // TODO(ahe): Add structured diagnostics to the compiler API and
607 // use it to separate this from the --verbose option. 607 // use it to separate this from the --verbose option.
608 if (phase == PHASE_RESOLVING) { 608 if (phase == PHASE_RESOLVING) {
609 log('Resolved ${enqueuer.resolution.resolvedElements.length} ' 609 log('Resolved ${enqueuer.resolution.resolvedElements.length} '
610 'elements.'); 610 'elements.');
611 progress.reset(); 611 progress.reset();
612 } 612 }
613 } 613 }
614 Element element = work.element; 614 Element element = work.element;
615 TreeElements result = world.getCachedElements(element); 615 TreeElements result = world.getCachedElements(element);
616 if (result != null) return result; 616 if (result != null) return result;
617 if (!identical(world, enqueuer.resolution)) { 617 if (!identical(world, enqueuer.resolution)) {
618 internalErrorOnElement(element, 618 internalErrorOnElement(element,
619 'Internal error: unresolved element: $element.'); 619 'Internal error: unresolved element: $element.');
620 } 620 }
621 result = analyzeElement(element); 621 result = analyzeElement(element);
622 assert(invariant(element, element.isDeclaration)); 622 assert(invariant(element, element.isDeclaration));
623 enqueuer.resolution.resolvedElements[element] = result; 623 enqueuer.resolution.resolvedElements[element] = result;
624 return result; 624 return result;
625 } 625 }
626 626
627 void codegen(WorkItem work, Enqueuer world) { 627 void codegen(WorkItem work, Enqueuer world) {
628 if (!identical(world, enqueuer.codegen)) return null; 628 if (!identical(world, enqueuer.codegen)) return null;
629 if (progress.elapsedInMs() > 500) { 629 if (progress.elapsedMilliseconds > 500) {
630 // TODO(ahe): Add structured diagnostics to the compiler API and 630 // TODO(ahe): Add structured diagnostics to the compiler API and
631 // use it to separate this from the --verbose option. 631 // use it to separate this from the --verbose option.
632 log('Compiled ${codegenWorld.generatedCode.length} methods.'); 632 log('Compiled ${codegenWorld.generatedCode.length} methods.');
633 progress.reset(); 633 progress.reset();
634 } 634 }
635 backend.codegen(work); 635 backend.codegen(work);
636 } 636 }
637 637
638 DartType resolveTypeAnnotation(Element element, 638 DartType resolveTypeAnnotation(Element element,
639 TypeAnnotation annotation) { 639 TypeAnnotation annotation) {
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 bool get isMockCompilation => false; 777 bool get isMockCompilation => false;
778 } 778 }
779 779
780 class CompilerTask { 780 class CompilerTask {
781 final Compiler compiler; 781 final Compiler compiler;
782 final Stopwatch watch; 782 final Stopwatch watch;
783 783
784 CompilerTask(this.compiler) : watch = new Stopwatch(); 784 CompilerTask(this.compiler) : watch = new Stopwatch();
785 785
786 String get name => 'Unknown task'; 786 String get name => 'Unknown task';
787 int get timing => watch.elapsedInMs(); 787 int get timing => watch.elapsedMilliseconds;
788 788
789 measure(Function action) { 789 measure(Function action) {
790 // TODO(kasperl): Do we have to worry about exceptions here? 790 // TODO(kasperl): Do we have to worry about exceptions here?
791 CompilerTask previous = compiler.measuredTask; 791 CompilerTask previous = compiler.measuredTask;
792 compiler.measuredTask = this; 792 compiler.measuredTask = this;
793 if (previous != null) previous.watch.stop(); 793 if (previous != null) previous.watch.stop();
794 watch.start(); 794 watch.start();
795 var result = action(); 795 var result = action();
796 watch.stop(); 796 watch.stop();
797 if (previous != null) previous.watch.start(); 797 if (previous != null) previous.watch.start();
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 // TODO(johnniwinther): Use [spannable] and [message] to provide better 862 // TODO(johnniwinther): Use [spannable] and [message] to provide better
863 // information on assertion errors. 863 // information on assertion errors.
864 if (condition is Function){ 864 if (condition is Function){
865 condition = condition(); 865 condition = condition();
866 } 866 }
867 if (!condition && message != null) { 867 if (!condition && message != null) {
868 print('assertion failed: $message'); 868 print('assertion failed: $message');
869 } 869 }
870 return spannable != null && condition; 870 return spannable != null && condition;
871 } 871 }
OLDNEW
« no previous file with comments | « no previous file | lib/compiler/implementation/tools/mini_parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698