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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart

Issue 12753003: Recognize const/fixed/growable arrays in simple types inferrer. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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
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 typedef void Recompile(Element element); 7 typedef void Recompile(Element element);
8 8
9 class ReturnInfo { 9 class ReturnInfo {
10 HType returnType; 10 HType returnType;
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 Element jsStringSplit; 655 Element jsStringSplit;
656 Element jsStringConcat; 656 Element jsStringConcat;
657 Element jsStringToString; 657 Element jsStringToString;
658 658
659 ClassElement typeLiteralClass; 659 ClassElement typeLiteralClass;
660 ClassElement mapLiteralClass; 660 ClassElement mapLiteralClass;
661 ClassElement constMapLiteralClass; 661 ClassElement constMapLiteralClass;
662 662
663 Element getInterceptorMethod; 663 Element getInterceptorMethod;
664 Element interceptedNames; 664 Element interceptedNames;
665 Element fixedLengthListConstructor;
666 665
667 bool seenAnyClass = false; 666 bool seenAnyClass = false;
668 667
669 final Namer namer; 668 final Namer namer;
670 669
671 /** 670 /**
672 * Interface used to determine if an object has the JavaScript 671 * Interface used to determine if an object has the JavaScript
673 * indexing behavior. The interface is only visible to specific 672 * indexing behavior. The interface is only visible to specific
674 * libraries. 673 * libraries.
675 */ 674 */
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 1565
1567 bool isNullImplementation(ClassElement cls) { 1566 bool isNullImplementation(ClassElement cls) {
1568 return cls == jsNullClass; 1567 return cls == jsNullClass;
1569 } 1568 }
1570 1569
1571 ClassElement get intImplementation => jsIntClass; 1570 ClassElement get intImplementation => jsIntClass;
1572 ClassElement get doubleImplementation => jsDoubleClass; 1571 ClassElement get doubleImplementation => jsDoubleClass;
1573 ClassElement get numImplementation => jsNumberClass; 1572 ClassElement get numImplementation => jsNumberClass;
1574 ClassElement get stringImplementation => jsStringClass; 1573 ClassElement get stringImplementation => jsStringClass;
1575 ClassElement get listImplementation => jsArrayClass; 1574 ClassElement get listImplementation => jsArrayClass;
1575 ClassElement get constListImplementation => jsArrayClass;
1576 ClassElement get fixedListImplementation => jsFixedArrayClass;
1577 ClassElement get growableListImplementation => jsExtendableArrayClass;
1576 ClassElement get mapImplementation => mapLiteralClass; 1578 ClassElement get mapImplementation => mapLiteralClass;
1577 ClassElement get constMapImplementation => constMapLiteralClass; 1579 ClassElement get constMapImplementation => constMapLiteralClass;
1578 ClassElement get functionImplementation => jsFunctionClass; 1580 ClassElement get functionImplementation => jsFunctionClass;
1579 ClassElement get typeImplementation => typeLiteralClass; 1581 ClassElement get typeImplementation => typeLiteralClass;
1580 ClassElement get boolImplementation => jsBoolClass; 1582 ClassElement get boolImplementation => jsBoolClass;
1581 ClassElement get nullImplementation => jsNullClass; 1583 ClassElement get nullImplementation => jsNullClass;
1582 } 1584 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698