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

Side by Side Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 891673003: dart2js: Refactoring, documentation, and a few bugfixes in Namer class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: MEGAPATCH Created 5 years, 10 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
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 js_backend; 5 part of js_backend;
6 6
7 const VERBOSE_OPTIMIZER_HINTS = false; 7 const VERBOSE_OPTIMIZER_HINTS = false;
8 8
9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR"); 9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR");
10 10
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 bool isInterceptorClass(ClassElement element) { 532 bool isInterceptorClass(ClassElement element) {
533 if (element == null) return false; 533 if (element == null) return false;
534 if (Elements.isNativeOrExtendsNative(element)) return true; 534 if (Elements.isNativeOrExtendsNative(element)) return true;
535 if (interceptedClasses.contains(element)) return true; 535 if (interceptedClasses.contains(element)) return true;
536 if (classesMixedIntoInterceptedClasses.contains(element)) return true; 536 if (classesMixedIntoInterceptedClasses.contains(element)) return true;
537 return false; 537 return false;
538 } 538 }
539 539
540 String registerOneShotInterceptor(Selector selector) { 540 String registerOneShotInterceptor(Selector selector) {
541 Set<ClassElement> classes = getInterceptedClassesOn(selector.name); 541 Set<ClassElement> classes = getInterceptedClassesOn(selector.name);
542 String name = namer.getOneShotInterceptorName(selector, classes); 542 String name = namer.nameForOneShotInterceptor(selector, classes);
floitsch 2015/02/04 00:10:11 This is not really accurate. The `getOneShotInterc
asgerf 2015/02/06 12:15:17 Done.
543 if (!oneShotInterceptors.containsKey(name)) { 543 if (!oneShotInterceptors.containsKey(name)) {
544 registerSpecializedGetInterceptor(classes); 544 registerSpecializedGetInterceptor(classes);
545 oneShotInterceptors[name] = selector; 545 oneShotInterceptors[name] = selector;
546 } 546 }
547 return name; 547 return name;
548 } 548 }
549 549
550 /** 550 /**
551 * Record that [method] is called from a subclass via `super`. 551 * Record that [method] is called from a subclass via `super`.
552 */ 552 */
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 } 731 }
732 enqueueClass(enqueuer, cls, registry); 732 enqueueClass(enqueuer, cls, registry);
733 } 733 }
734 734
735 Set<ClassElement> get interceptedClasses { 735 Set<ClassElement> get interceptedClasses {
736 assert(compiler.enqueuer.resolution.queueIsClosed); 736 assert(compiler.enqueuer.resolution.queueIsClosed);
737 return _interceptedClasses; 737 return _interceptedClasses;
738 } 738 }
739 739
740 void registerSpecializedGetInterceptor(Set<ClassElement> classes) { 740 void registerSpecializedGetInterceptor(Set<ClassElement> classes) {
741 String name = namer.getInterceptorName(getInterceptorMethod, classes); 741 String name = namer.nameForGetInterceptor(classes);
742 if (classes.contains(jsInterceptorClass)) { 742 if (classes.contains(jsInterceptorClass)) {
743 // We can't use a specialized [getInterceptorMethod], so we make 743 // We can't use a specialized [getInterceptorMethod], so we make
744 // sure we emit the one with all checks. 744 // sure we emit the one with all checks.
745 specializedGetInterceptors[name] = interceptedClasses; 745 specializedGetInterceptors[name] = interceptedClasses;
746 } else { 746 } else {
747 specializedGetInterceptors[name] = classes; 747 specializedGetInterceptors[name] = classes;
748 } 748 }
749 } 749 }
750 750
751 void registerCompileTimeConstant(ConstantValue constant, Registry registry) { 751 void registerCompileTimeConstant(ConstantValue constant, Registry registry) {
(...skipping 1775 matching lines...) Expand 10 before | Expand all | Expand 10 after
2527 } 2527 }
2528 } 2528 }
2529 2529
2530 /// Records that [constant] is used by the element behind [registry]. 2530 /// Records that [constant] is used by the element behind [registry].
2531 class Dependency { 2531 class Dependency {
2532 final ConstantValue constant; 2532 final ConstantValue constant;
2533 final Element annotatedElement; 2533 final Element annotatedElement;
2534 2534
2535 const Dependency(this.constant, this.annotatedElement); 2535 const Dependency(this.constant, this.annotatedElement);
2536 } 2536 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698