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

Side by Side Diff: sdk/lib/_internal/compiler/js_lib/js_helper.dart

Issue 1106443003: Optimize DateTime properties (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: rebase Created 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 _js_helper; 5 library _js_helper;
6 6
7 import 'dart:_async_await_error_codes' as async_error_codes; 7 import 'dart:_async_await_error_codes' as async_error_codes;
8 8
9 import 'dart:_js_embedded_names' show 9 import 'dart:_js_embedded_names' show
10 DEFERRED_LIBRARY_URIS, 10 DEFERRED_LIBRARY_URIS,
(...skipping 1006 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 // may return -0.0 instead of 0. 1017 // may return -0.0 instead of 0.
1018 1018
1019 static getYear(receiver) { 1019 static getYear(receiver) {
1020 return (receiver.isUtc) 1020 return (receiver.isUtc)
1021 ? JS('int', r'(#.getUTCFullYear() + 0)', lazyAsJsDate(receiver)) 1021 ? JS('int', r'(#.getUTCFullYear() + 0)', lazyAsJsDate(receiver))
1022 : JS('int', r'(#.getFullYear() + 0)', lazyAsJsDate(receiver)); 1022 : JS('int', r'(#.getFullYear() + 0)', lazyAsJsDate(receiver));
1023 } 1023 }
1024 1024
1025 static getMonth(receiver) { 1025 static getMonth(receiver) {
1026 return (receiver.isUtc) 1026 return (receiver.isUtc)
1027 ? JS('int', r'#.getUTCMonth() + 1', lazyAsJsDate(receiver)) 1027 ? JS('JSUInt31', r'#.getUTCMonth() + 1', lazyAsJsDate(receiver))
1028 : JS('int', r'#.getMonth() + 1', lazyAsJsDate(receiver)); 1028 : JS('JSUInt31', r'#.getMonth() + 1', lazyAsJsDate(receiver));
1029 } 1029 }
1030 1030
1031 static getDay(receiver) { 1031 static getDay(receiver) {
1032 return (receiver.isUtc) 1032 return (receiver.isUtc)
1033 ? JS('int', r'(#.getUTCDate() + 0)', lazyAsJsDate(receiver)) 1033 ? JS('JSUInt31', r'(#.getUTCDate() + 0)', lazyAsJsDate(receiver))
1034 : JS('int', r'(#.getDate() + 0)', lazyAsJsDate(receiver)); 1034 : JS('JSUInt31', r'(#.getDate() + 0)', lazyAsJsDate(receiver));
1035 } 1035 }
1036 1036
1037 static getHours(receiver) { 1037 static getHours(receiver) {
1038 return (receiver.isUtc) 1038 return (receiver.isUtc)
1039 ? JS('int', r'(#.getUTCHours() + 0)', lazyAsJsDate(receiver)) 1039 ? JS('JSUInt31', r'(#.getUTCHours() + 0)', lazyAsJsDate(receiver))
1040 : JS('int', r'(#.getHours() + 0)', lazyAsJsDate(receiver)); 1040 : JS('JSUInt31', r'(#.getHours() + 0)', lazyAsJsDate(receiver));
1041 } 1041 }
1042 1042
1043 static getMinutes(receiver) { 1043 static getMinutes(receiver) {
1044 return (receiver.isUtc) 1044 return (receiver.isUtc)
1045 ? JS('int', r'(#.getUTCMinutes() + 0)', lazyAsJsDate(receiver)) 1045 ? JS('JSUInt31', r'(#.getUTCMinutes() + 0)', lazyAsJsDate(receiver))
1046 : JS('int', r'(#.getMinutes() + 0)', lazyAsJsDate(receiver)); 1046 : JS('JSUInt31', r'(#.getMinutes() + 0)', lazyAsJsDate(receiver));
1047 } 1047 }
1048 1048
1049 static getSeconds(receiver) { 1049 static getSeconds(receiver) {
1050 return (receiver.isUtc) 1050 return (receiver.isUtc)
1051 ? JS('int', r'(#.getUTCSeconds() + 0)', lazyAsJsDate(receiver)) 1051 ? JS('JSUInt31', r'(#.getUTCSeconds() + 0)', lazyAsJsDate(receiver))
1052 : JS('int', r'(#.getSeconds() + 0)', lazyAsJsDate(receiver)); 1052 : JS('JSUInt31', r'(#.getSeconds() + 0)', lazyAsJsDate(receiver));
1053 } 1053 }
1054 1054
1055 static getMilliseconds(receiver) { 1055 static getMilliseconds(receiver) {
1056 return (receiver.isUtc) 1056 return (receiver.isUtc)
1057 ? JS('int', r'(#.getUTCMilliseconds() + 0)', lazyAsJsDate(receiver)) 1057 ? JS('JSUInt31', r'(#.getUTCMilliseconds() + 0)', lazyAsJsDate(receiver))
1058 : JS('int', r'(#.getMilliseconds() + 0)', lazyAsJsDate(receiver)); 1058 : JS('JSUInt31', r'(#.getMilliseconds() + 0)', lazyAsJsDate(receiver));
1059 } 1059 }
1060 1060
1061 static getWeekday(receiver) { 1061 static getWeekday(receiver) {
1062 int weekday = (receiver.isUtc) 1062 int weekday = (receiver.isUtc)
1063 ? JS('int', r'#.getUTCDay() + 0', lazyAsJsDate(receiver)) 1063 ? JS('int', r'#.getUTCDay() + 0', lazyAsJsDate(receiver))
1064 : JS('int', r'#.getDay() + 0', lazyAsJsDate(receiver)); 1064 : JS('int', r'#.getDay() + 0', lazyAsJsDate(receiver));
1065 // Adjust by one because JS weeks start on Sunday. 1065 // Adjust by one because JS weeks start on Sunday.
1066 return (weekday + 6) % 7 + 1; 1066 return (weekday + 6) % 7 + 1;
1067 } 1067 }
1068 1068
(...skipping 3005 matching lines...) Expand 10 before | Expand all | Expand 10 after
4074 // This is a function that will return a helper function that does the 4074 // This is a function that will return a helper function that does the
4075 // iteration of the sync*. 4075 // iteration of the sync*.
4076 // 4076 //
4077 // Each invocation should give a body with fresh state. 4077 // Each invocation should give a body with fresh state.
4078 final dynamic /* js function */ _outerHelper; 4078 final dynamic /* js function */ _outerHelper;
4079 4079
4080 SyncStarIterable(this._outerHelper); 4080 SyncStarIterable(this._outerHelper);
4081 4081
4082 Iterator get iterator => new SyncStarIterator(JS('', '#()', _outerHelper)); 4082 Iterator get iterator => new SyncStarIterator(JS('', '#()', _outerHelper));
4083 } 4083 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/types_propagation.dart ('k') | tests/compiler/dart2js/simple_inferrer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698