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

Side by Side Diff: src/date.js

Issue 1144163002: Revert of Use shared container to manage imports/exports. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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
« no previous file with comments | « src/contexts.h ('k') | src/generator.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file relies on the fact that the following declarations have been made 5 // This file relies on the fact that the following declarations have been made
6 // in v8natives.js: 6 // in v8natives.js:
7 // var $isFinite = GlobalIsFinite; 7 // var $isFinite = GlobalIsFinite;
8 8
9 var $createDate; 9 var $createDate;
10 10
11 // ------------------------------------------------------------------- 11 // -------------------------------------------------------------------
12 12
13 (function(global, utils) { 13 (function(global, shared, exports) {
14 14
15 "use strict"; 15 "use strict";
16 16
17 %CheckIsBootstrapping(); 17 %CheckIsBootstrapping();
18 18
19 // ------------------------------------------------------------------- 19 // -------------------------------------------------------------------
20 // Imports 20 // Imports
21 21
22 var GlobalDate = global.Date; 22 var GlobalDate = global.Date;
23 var InternalArray = utils.InternalArray; 23 var InternalArray = shared.InternalArray;
24
25 var MathAbs;
26 var MathFloor;
27
28 utils.Import(function(from) {
29 MathAbs = from.MathAbs;
30 MathFloor = from.MathFloor;
31 });
32 24
33 // ------------------------------------------------------------------- 25 // -------------------------------------------------------------------
34 26
35 // This file contains date support implemented in JavaScript. 27 // This file contains date support implemented in JavaScript.
36 28
37 var timezone_cache_time = NAN; 29 var timezone_cache_time = NAN;
38 var timezone_cache_timezone; 30 var timezone_cache_timezone;
39 31
40 function LocalTimezone(t) { 32 function LocalTimezone(t) {
41 if (NUMBER_IS_NAN(t)) return ""; 33 if (NUMBER_IS_NAN(t)) return "";
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 94
103 95
104 // ECMA 262 - 15.9.1.13 96 // ECMA 262 - 15.9.1.13
105 function MakeDate(day, time) { 97 function MakeDate(day, time) {
106 var time = day * msPerDay + time; 98 var time = day * msPerDay + time;
107 // Some of our runtime funtions for computing UTC(time) rely on 99 // Some of our runtime funtions for computing UTC(time) rely on
108 // times not being significantly larger than MAX_TIME_MS. If there 100 // times not being significantly larger than MAX_TIME_MS. If there
109 // is no way that the time can be within range even after UTC 101 // is no way that the time can be within range even after UTC
110 // conversion we return NaN immediately instead of relying on 102 // conversion we return NaN immediately instead of relying on
111 // TimeClip to do it. 103 // TimeClip to do it.
112 if (MathAbs(time) > MAX_TIME_BEFORE_UTC) return NAN; 104 if ($abs(time) > MAX_TIME_BEFORE_UTC) return NAN;
113 return time; 105 return time;
114 } 106 }
115 107
116 108
117 // ECMA 262 - 15.9.1.14 109 // ECMA 262 - 15.9.1.14
118 function TimeClip(time) { 110 function TimeClip(time) {
119 if (!$isFinite(time)) return NAN; 111 if (!$isFinite(time)) return NAN;
120 if (MathAbs(time) > MAX_TIME_MS) return NAN; 112 if ($abs(time) > MAX_TIME_MS) return NAN;
121 return TO_INTEGER(time); 113 return TO_INTEGER(time);
122 } 114 }
123 115
124 116
125 // The Date cache is used to limit the cost of parsing the same Date 117 // The Date cache is used to limit the cost of parsing the same Date
126 // strings over and over again. 118 // strings over and over again.
127 var Date_cache = { 119 var Date_cache = {
128 // Cached time value. 120 // Cached time value.
129 time: 0, 121 time: 0,
130 // String input for which the cached time is valid. 122 // String input for which the cached time is valid.
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 + TwoDigitString(UTC_MIN(date)) + ':' 229 + TwoDigitString(UTC_MIN(date)) + ':'
238 + TwoDigitString(UTC_SEC(date)); 230 + TwoDigitString(UTC_SEC(date));
239 } 231 }
240 232
241 233
242 function LocalTimezoneString(date) { 234 function LocalTimezoneString(date) {
243 var timezone = LocalTimezone(UTC_DATE_VALUE(date)); 235 var timezone = LocalTimezone(UTC_DATE_VALUE(date));
244 236
245 var timezoneOffset = -TIMEZONE_OFFSET(date); 237 var timezoneOffset = -TIMEZONE_OFFSET(date);
246 var sign = (timezoneOffset >= 0) ? 1 : -1; 238 var sign = (timezoneOffset >= 0) ? 1 : -1;
247 var hours = MathFloor((sign * timezoneOffset)/60); 239 var hours = $floor((sign * timezoneOffset)/60);
248 var min = MathFloor((sign * timezoneOffset)%60); 240 var min = $floor((sign * timezoneOffset)%60);
249 var gmt = ' GMT' + ((sign == 1) ? '+' : '-') + 241 var gmt = ' GMT' + ((sign == 1) ? '+' : '-') +
250 TwoDigitString(hours) + TwoDigitString(min); 242 TwoDigitString(hours) + TwoDigitString(min);
251 return gmt + ' (' + timezone + ')'; 243 return gmt + ' (' + timezone + ')';
252 } 244 }
253 245
254 246
255 function DatePrintString(date) { 247 function DatePrintString(date) {
256 return DateString(date) + ' ' + TimeString(date); 248 return DateString(date) + ' ' + TimeString(date);
257 } 249 }
258 250
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 "getYear", DateGetYear, 823 "getYear", DateGetYear,
832 "setYear", DateSetYear, 824 "setYear", DateSetYear,
833 "toISOString", DateToISOString, 825 "toISOString", DateToISOString,
834 "toJSON", DateToJSON 826 "toJSON", DateToJSON
835 ]); 827 ]);
836 828
837 // Expose to the global scope. 829 // Expose to the global scope.
838 $createDate = CreateDate; 830 $createDate = CreateDate;
839 831
840 }) 832 })
OLDNEW
« no previous file with comments | « src/contexts.h ('k') | src/generator.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698