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

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

Issue 9667027: Collect is checks to only emit the ones that are needed. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: 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 | « no previous file | frog/leg/emitter.dart » ('j') | frog/leg/universe.dart » ('J')
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 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 } 354 }
355 355
356 void registerDynamicSetter(SourceString methodName) { 356 void registerDynamicSetter(SourceString methodName) {
357 universe.invokedSetters.add(methodName); 357 universe.invokedSetters.add(methodName);
358 } 358 }
359 359
360 void registerInstantiatedClass(ClassElement element) { 360 void registerInstantiatedClass(ClassElement element) {
361 universe.instantiatedClasses.add(element); 361 universe.instantiatedClasses.add(element);
362 } 362 }
363 363
364 // TODO(ngeoffray): This should get a type.
365 void registerIsCheck(Element element) {
366 universe.isChecks.add(element);
367 }
368
364 Type resolveType(ClassElement element) { 369 Type resolveType(ClassElement element) {
365 return withCurrentElement(element, () => resolver.resolveType(element)); 370 return withCurrentElement(element, () => resolver.resolveType(element));
366 } 371 }
367 372
368 FunctionParameters resolveSignature(FunctionElement element) { 373 FunctionParameters resolveSignature(FunctionElement element) {
369 return withCurrentElement(element, 374 return withCurrentElement(element,
370 () => resolver.resolveSignature(element)); 375 () => resolver.resolveSignature(element));
371 } 376 }
372 377
373 Object compileVariable(VariableElement element) { 378 Object compileVariable(VariableElement element) {
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 } 496 }
492 } 497 }
493 498
494 class SourceSpan { 499 class SourceSpan {
495 final Uri uri; 500 final Uri uri;
496 final int begin; 501 final int begin;
497 final int end; 502 final int end;
498 503
499 const SourceSpan(this.uri, this.begin, this.end); 504 const SourceSpan(this.uri, this.begin, this.end);
500 } 505 }
OLDNEW
« no previous file with comments | « no previous file | frog/leg/emitter.dart » ('j') | frog/leg/universe.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698