OLD | NEW |
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 var $createDate; | 5 var $createDate; |
6 | 6 |
7 // ------------------------------------------------------------------- | 7 // ------------------------------------------------------------------- |
8 | 8 |
9 (function(global, utils) { | 9 (function(global, utils) { |
10 | 10 |
11 "use strict"; | 11 "use strict"; |
12 | 12 |
13 %CheckIsBootstrapping(); | 13 %CheckIsBootstrapping(); |
14 | 14 |
15 // ------------------------------------------------------------------- | 15 // ------------------------------------------------------------------- |
16 // Imports | 16 // Imports |
17 | 17 |
18 var GlobalDate = global.Date; | 18 var GlobalDate = global.Date; |
19 var GlobalObject = global.Object; | 19 var GlobalObject = global.Object; |
20 var InternalArray = utils.InternalArray; | 20 var InternalArray = utils.InternalArray; |
21 var IsFinite; | 21 var IsFinite; |
22 var MathAbs; | 22 var MathAbs; |
23 var MathFloor; | 23 var MathFloor; |
24 var ToNumber; | 24 var ToNumber; |
25 var ToString; | |
26 | 25 |
27 utils.Import(function(from) { | 26 utils.Import(function(from) { |
28 IsFinite = from.IsFinite; | 27 IsFinite = from.IsFinite; |
29 MathAbs = from.MathAbs; | 28 MathAbs = from.MathAbs; |
30 MathFloor = from.MathFloor; | 29 MathFloor = from.MathFloor; |
31 ToNumber = from.ToNumber; | 30 ToNumber = from.ToNumber; |
32 ToString = from.ToString; | |
33 }); | 31 }); |
34 | 32 |
35 // ------------------------------------------------------------------- | 33 // ------------------------------------------------------------------- |
36 | 34 |
37 // This file contains date support implemented in JavaScript. | 35 // This file contains date support implemented in JavaScript. |
38 | 36 |
39 var timezone_cache_time = NAN; | 37 var timezone_cache_time = NAN; |
40 var timezone_cache_timezone; | 38 var timezone_cache_timezone; |
41 | 39 |
42 function LocalTimezone(t) { | 40 function LocalTimezone(t) { |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 return DateString(date) + ' ' + TimeString(date); | 259 return DateString(date) + ' ' + TimeString(date); |
262 } | 260 } |
263 | 261 |
264 // ------------------------------------------------------------------- | 262 // ------------------------------------------------------------------- |
265 | 263 |
266 // Reused output buffer. Used when parsing date strings. | 264 // Reused output buffer. Used when parsing date strings. |
267 var parse_buffer = new InternalArray(8); | 265 var parse_buffer = new InternalArray(8); |
268 | 266 |
269 // ECMA 262 - 15.9.4.2 | 267 // ECMA 262 - 15.9.4.2 |
270 function DateParse(string) { | 268 function DateParse(string) { |
271 var arr = %DateParseString(ToString(string), parse_buffer); | 269 var arr = %DateParseString(string, parse_buffer); |
272 if (IS_NULL(arr)) return NAN; | 270 if (IS_NULL(arr)) return NAN; |
273 | 271 |
274 var day = MakeDay(arr[0], arr[1], arr[2]); | 272 var day = MakeDay(arr[0], arr[1], arr[2]); |
275 var time = MakeTime(arr[3], arr[4], arr[5], arr[6]); | 273 var time = MakeTime(arr[3], arr[4], arr[5], arr[6]); |
276 var date = MakeDate(day, time); | 274 var date = MakeDate(day, time); |
277 | 275 |
278 if (IS_NULL(arr[7])) { | 276 if (IS_NULL(arr[7])) { |
279 return TimeClip(UTC(date)); | 277 return TimeClip(UTC(date)); |
280 } else { | 278 } else { |
281 return TimeClip(date - arr[7] * 1000); | 279 return TimeClip(date - arr[7] * 1000); |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
878 "toUTCString", DateToUTCString, | 876 "toUTCString", DateToUTCString, |
879 "getYear", DateGetYear, | 877 "getYear", DateGetYear, |
880 "setYear", DateSetYear, | 878 "setYear", DateSetYear, |
881 "toISOString", DateToISOString, | 879 "toISOString", DateToISOString, |
882 "toJSON", DateToJSON | 880 "toJSON", DateToJSON |
883 ]); | 881 ]); |
884 | 882 |
885 %InstallToContext(["create_date_fun", CreateDate]); | 883 %InstallToContext(["create_date_fun", CreateDate]); |
886 | 884 |
887 }) | 885 }) |
OLD | NEW |