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

Side by Side Diff: pkg/analyzer/lib/src/dart/element/element.dart

Issue 2015513003: Optimize more megamorphic dispatch sites (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library analyzer.src.dart.element.element; 5 library analyzer.src.dart.element.element;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import 'dart:math' show min; 8 import 'dart:math' show min;
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 for (FieldElement fieldElement in _fields) { 607 for (FieldElement fieldElement in _fields) {
608 if (name == fieldElement.name) { 608 if (name == fieldElement.name) {
609 return fieldElement; 609 return fieldElement;
610 } 610 }
611 } 611 }
612 return null; 612 return null;
613 } 613 }
614 614
615 @override 615 @override
616 PropertyAccessorElement getGetter(String getterName) { 616 PropertyAccessorElement getGetter(String getterName) {
617 for (PropertyAccessorElement accessor in _accessors) { 617 int length = _accessors.length;
618 for (int i = 0; i < length; i++) {
619 PropertyAccessorElement accessor = _accessors[i];
618 if (accessor.isGetter && accessor.name == getterName) { 620 if (accessor.isGetter && accessor.name == getterName) {
619 return accessor; 621 return accessor;
620 } 622 }
621 } 623 }
622 return null; 624 return null;
623 } 625 }
624 626
625 @override 627 @override
626 MethodElement getMethod(String methodName) { 628 MethodElement getMethod(String methodName) {
627 for (MethodElement method in _methods) { 629 int length = _methods.length;
630 for (int i = 0; i < length; i++) {
631 MethodElement method = _methods[i];
628 if (method.name == methodName) { 632 if (method.name == methodName) {
629 return method; 633 return method;
630 } 634 }
631 } 635 }
632 return null; 636 return null;
633 } 637 }
634 638
635 @override 639 @override
636 ConstructorElement getNamedConstructor(String name) { 640 ConstructorElement getNamedConstructor(String name) {
637 for (ConstructorElement element in constructors) { 641 for (ConstructorElement element in constructors) {
(...skipping 6252 matching lines...) Expand 10 before | Expand all | Expand 10 after
6890 6894
6891 @override 6895 @override
6892 void visitElement(Element element) { 6896 void visitElement(Element element) {
6893 int offset = element.nameOffset; 6897 int offset = element.nameOffset;
6894 if (offset != -1) { 6898 if (offset != -1) {
6895 map[offset] = element; 6899 map[offset] = element;
6896 } 6900 }
6897 super.visitElement(element); 6901 super.visitElement(element);
6898 } 6902 }
6899 } 6903 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698