| 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 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 + TO_INTEGER(ms); | 253 + TO_INTEGER(ms); |
| 254 } | 254 } |
| 255 | 255 |
| 256 | 256 |
| 257 // ECMA 262 - 15.9.1.12 | 257 // ECMA 262 - 15.9.1.12 |
| 258 function TimeInYear(year) { | 258 function TimeInYear(year) { |
| 259 return DaysInYear(year) * msPerDay; | 259 return DaysInYear(year) * msPerDay; |
| 260 } | 260 } |
| 261 | 261 |
| 262 | 262 |
| 263 var four_year_cycle_table = CalculateDateTable(); | |
| 264 | |
| 265 | |
| 266 function CalculateDateTable() { | |
| 267 var month_lengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | |
| 268 var four_year_cycle_table = new $Array(1461); | |
| 269 | |
| 270 var cumulative = 0; | |
| 271 var position = 0; | |
| 272 var leap_position = 0; | |
| 273 for (var month = 0; month < 12; month++) { | |
| 274 var month_bits = month << kMonthShift; | |
| 275 var length = month_lengths[month]; | |
| 276 for (var day = 1; day <= length; day++) { | |
| 277 four_year_cycle_table[leap_position] = | |
| 278 month_bits + day; | |
| 279 four_year_cycle_table[366 + position] = | |
| 280 (1 << kYearShift) + month_bits + day; | |
| 281 four_year_cycle_table[731 + position] = | |
| 282 (2 << kYearShift) + month_bits + day; | |
| 283 four_year_cycle_table[1096 + position] = | |
| 284 (3 << kYearShift) + month_bits + day; | |
| 285 leap_position++; | |
| 286 position++; | |
| 287 } | |
| 288 if (month == 1) { | |
| 289 four_year_cycle_table[leap_position++] = month_bits + 29; | |
| 290 } | |
| 291 } | |
| 292 return four_year_cycle_table; | |
| 293 } | |
| 294 | |
| 295 | |
| 296 var ymd_from_time_cache = [$NaN, $NaN, $NaN]; | 263 var ymd_from_time_cache = [$NaN, $NaN, $NaN]; |
| 297 var ymd_from_time_cached_time = $NaN; | 264 var ymd_from_time_cached_time = $NaN; |
| 298 | 265 |
| 299 function YearFromTime(t) { | 266 function YearFromTime(t) { |
| 300 if (t !== ymd_from_time_cached_time) { | 267 if (t !== ymd_from_time_cached_time) { |
| 301 // Limits according to ECMA 262 15.9.1.1 | 268 // Limits according to ECMA 262 15.9.1.1 |
| 302 if (!$isFinite(t) || t < -8640000000000000 || t > 8640000000000000) { | 269 if (!$isFinite(t) || t < -8640000000000000 || t > 8640000000000000) { |
| 303 return $NaN; | 270 return $NaN; |
| 304 } | 271 } |
| 305 | 272 |
| (...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1113 "toGMTString", DateToGMTString, | 1080 "toGMTString", DateToGMTString, |
| 1114 "toUTCString", DateToUTCString, | 1081 "toUTCString", DateToUTCString, |
| 1115 "getYear", DateGetYear, | 1082 "getYear", DateGetYear, |
| 1116 "setYear", DateSetYear, | 1083 "setYear", DateSetYear, |
| 1117 "toISOString", DateToISOString, | 1084 "toISOString", DateToISOString, |
| 1118 "toJSON", DateToJSON | 1085 "toJSON", DateToJSON |
| 1119 )); | 1086 )); |
| 1120 } | 1087 } |
| 1121 | 1088 |
| 1122 SetupDate(); | 1089 SetupDate(); |
| OLD | NEW |