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

Side by Side Diff: dart/frog/leg/compiler.dart

Issue 9719019: Launch Leg independently of Frog. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address own comment Created 8 years, 9 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
« no previous file with comments | « dart/frog/leg/colors.dart ('k') | dart/frog/leg/leg.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 class WorkItem { 5 class WorkItem {
6 final Element element; 6 final Element element;
7 TreeElements resolutionTree; 7 TreeElements resolutionTree;
8 Function run; 8 Function run;
9 Map<int, BailoutInfo> bailouts = null; 9 Map<int, BailoutInfo> bailouts = null;
10 bool allowSpeculativeOptimization = true; 10 bool allowSpeculativeOptimization = true;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 static final SourceString MAIN = const SourceString('main'); 84 static final SourceString MAIN = const SourceString('main');
85 static final SourceString NO_SUCH_METHOD = const SourceString('noSuchMethod'); 85 static final SourceString NO_SUCH_METHOD = const SourceString('noSuchMethod');
86 static final SourceString NO_SUCH_METHOD_EXCEPTION = 86 static final SourceString NO_SUCH_METHOD_EXCEPTION =
87 const SourceString('NoSuchMethodException'); 87 const SourceString('NoSuchMethodException');
88 static final SourceString OBJECT = const SourceString('Object'); 88 static final SourceString OBJECT = const SourceString('Object');
89 static final SourceString START_ROOT_ISOLATE = 89 static final SourceString START_ROOT_ISOLATE =
90 const SourceString('startRootIsolate'); 90 const SourceString('startRootIsolate');
91 static final SourceString CLOSURE = const SourceString('Closure'); 91 static final SourceString CLOSURE = const SourceString('Closure');
92 bool enabledNoSuchMethod = false; 92 bool enabledNoSuchMethod = false;
93 93
94 static final String GREEN_COLOR = '\u001b[32m';
95 static final String RED_COLOR = '\u001b[31m';
96 static final String MAGENTA_COLOR = '\u001b[35m';
97 static final String NO_COLOR = '\u001b[0m';
98
99 Compiler.withCurrentDirectory(String this.currentDirectory, 94 Compiler.withCurrentDirectory(String this.currentDirectory,
100 [this.tracer = const Tracer()]) 95 [this.tracer = const Tracer()])
101 : types = new Types(), 96 : types = new Types(),
102 universe = new Universe(), 97 universe = new Universe(),
103 worklist = new Queue<WorkItem>() { 98 worklist = new Queue<WorkItem>() {
104 namer = new Namer(this); 99 namer = new Namer(this);
105 constantHandler = new ConstantHandler(this); 100 constantHandler = new ConstantHandler(this);
106 scanner = new ScannerTask(this); 101 scanner = new ScannerTask(this);
107 dietParser = new DietParserTask(this); 102 dietParser = new DietParserTask(this);
108 parser = new ParserTask(this); 103 parser = new ParserTask(this);
109 validator = new TreeValidatorTask(this); 104 validator = new TreeValidatorTask(this);
110 resolver = new ResolverTask(this); 105 resolver = new ResolverTask(this);
111 checker = new TypeCheckerTask(this); 106 checker = new TypeCheckerTask(this);
112 builder = new SsaBuilderTask(this); 107 builder = new SsaBuilderTask(this);
113 optimizer = new SsaOptimizerTask(this); 108 optimizer = new SsaOptimizerTask(this);
114 generator = new SsaCodeGeneratorTask(this); 109 generator = new SsaCodeGeneratorTask(this);
115 emitter = new CodeEmitterTask(this); 110 emitter = new CodeEmitterTask(this);
116 enqueuer = new EnqueueTask(this); 111 enqueuer = new EnqueueTask(this);
117 tasks = [scanner, dietParser, parser, resolver, checker, 112 tasks = [scanner, dietParser, parser, resolver, checker,
118 builder, optimizer, generator, 113 builder, optimizer, generator,
119 emitter, constantHandler, enqueuer]; 114 emitter, constantHandler, enqueuer];
120 } 115 }
121 116
122 green(String string) => "${GREEN_COLOR}$string${NO_COLOR}";
123 red(String string) => "${RED_COLOR}$string${NO_COLOR}";
124 magenta(String string) => "${MAGENTA_COLOR}$string${NO_COLOR}";
125
126 void ensure(bool condition) { 117 void ensure(bool condition) {
127 if (!condition) cancel('failed assertion in leg'); 118 if (!condition) cancel('failed assertion in leg');
128 } 119 }
129 120
130 void unimplemented(String methodName, 121 void unimplemented(String methodName,
131 [Node node, Token token, HInstruction instruction, 122 [Node node, Token token, HInstruction instruction,
132 Element element]) { 123 Element element]) {
133 internalError("$methodName not implemented", 124 internalError("$methodName not implemented",
134 node, token, instruction, element); 125 node, token, instruction, element);
135 } 126 }
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 } 467 }
477 } 468 }
478 469
479 class SourceSpan { 470 class SourceSpan {
480 final Uri uri; 471 final Uri uri;
481 final int begin; 472 final int begin;
482 final int end; 473 final int end;
483 474
484 const SourceSpan(this.uri, this.begin, this.end); 475 const SourceSpan(this.uri, this.begin, this.end);
485 } 476 }
OLDNEW
« no previous file with comments | « dart/frog/leg/colors.dart ('k') | dart/frog/leg/leg.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698