| Index: src/date.js | 
| diff --git a/src/date.js b/src/date.js | 
| index d0e24abc503eb21124a430dc981ed17fe767d010..a54cb238c51b35bdea282d3c71fb4612072ae164 100644 | 
| --- a/src/date.js | 
| +++ b/src/date.js | 
| @@ -318,7 +318,6 @@ function DateNow() { | 
|  | 
| // ECMA 262 - 15.9.5.2 | 
| function DateToString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this) | 
| if (NUMBER_IS_NAN(t)) return kInvalidDate; | 
| var time_zone_string = LocalTimezoneString(this) | 
| @@ -328,7 +327,6 @@ function DateToString() { | 
|  | 
| // ECMA 262 - 15.9.5.3 | 
| function DateToDateString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| if (NUMBER_IS_NAN(t)) return kInvalidDate; | 
| return DateString(this); | 
| @@ -337,7 +335,6 @@ function DateToDateString() { | 
|  | 
| // ECMA 262 - 15.9.5.4 | 
| function DateToTimeString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| if (NUMBER_IS_NAN(t)) return kInvalidDate; | 
| var time_zone_string = LocalTimezoneString(this); | 
| @@ -353,7 +350,6 @@ function DateToLocaleString() { | 
|  | 
| // ECMA 262 - 15.9.5.6 | 
| function DateToLocaleDateString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| if (NUMBER_IS_NAN(t)) return kInvalidDate; | 
| return LongDateString(this); | 
| @@ -362,7 +358,6 @@ function DateToLocaleDateString() { | 
|  | 
| // ECMA 262 - 15.9.5.7 | 
| function DateToLocaleTimeString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| if (NUMBER_IS_NAN(t)) return kInvalidDate; | 
| return TimeString(this); | 
| @@ -371,133 +366,114 @@ function DateToLocaleTimeString() { | 
|  | 
| // ECMA 262 - 15.9.5.8 | 
| function DateValueOf() { | 
| -  CHECK_DATE(this); | 
| return UTC_DATE_VALUE(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.9 | 
| function DateGetTime() { | 
| -  CHECK_DATE(this); | 
| return UTC_DATE_VALUE(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.10 | 
| function DateGetFullYear() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_YEAR(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.11 | 
| function DateGetUTCFullYear() { | 
| -  CHECK_DATE(this); | 
| return UTC_YEAR(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.12 | 
| function DateGetMonth() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_MONTH(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.13 | 
| function DateGetUTCMonth() { | 
| -  CHECK_DATE(this); | 
| return UTC_MONTH(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.14 | 
| function DateGetDate() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_DAY(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.15 | 
| function DateGetUTCDate() { | 
| -  CHECK_DATE(this); | 
| return UTC_DAY(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.16 | 
| function DateGetDay() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_WEEKDAY(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.17 | 
| function DateGetUTCDay() { | 
| -  CHECK_DATE(this); | 
| return UTC_WEEKDAY(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.18 | 
| function DateGetHours() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_HOUR(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.19 | 
| function DateGetUTCHours() { | 
| -  CHECK_DATE(this); | 
| return UTC_HOUR(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.20 | 
| function DateGetMinutes() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_MIN(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.21 | 
| function DateGetUTCMinutes() { | 
| -  CHECK_DATE(this); | 
| return UTC_MIN(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.22 | 
| function DateGetSeconds() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_SEC(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.23 | 
| function DateGetUTCSeconds() { | 
| -  CHECK_DATE(this); | 
| return UTC_SEC(this) | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.24 | 
| function DateGetMilliseconds() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_MS(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.25 | 
| function DateGetUTCMilliseconds() { | 
| -  CHECK_DATE(this); | 
| return UTC_MS(this); | 
| } | 
|  | 
|  | 
| // ECMA 262 - 15.9.5.26 | 
| function DateGetTimezoneOffset() { | 
| -  CHECK_DATE(this); | 
| return TIMEZONE_OFFSET(this); | 
| } | 
|  | 
| @@ -512,7 +488,6 @@ function DateSetTime(ms) { | 
|  | 
| // ECMA 262 - 15.9.5.28 | 
| function DateSetMilliseconds(ms) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| ms = ToNumber(ms); | 
| var time = MakeTime(LOCAL_HOUR(this), LOCAL_MIN(this), LOCAL_SEC(this), ms); | 
| @@ -522,7 +497,6 @@ function DateSetMilliseconds(ms) { | 
|  | 
| // ECMA 262 - 15.9.5.29 | 
| function DateSetUTCMilliseconds(ms) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| ms = ToNumber(ms); | 
| var time = MakeTime(UTC_HOUR(this), | 
| @@ -535,7 +509,6 @@ function DateSetUTCMilliseconds(ms) { | 
|  | 
| // ECMA 262 - 15.9.5.30 | 
| function DateSetSeconds(sec, ms) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| sec = ToNumber(sec); | 
| ms = %_ArgumentsLength() < 2 ? LOCAL_MS(this) : ToNumber(ms); | 
| @@ -546,7 +519,6 @@ function DateSetSeconds(sec, ms) { | 
|  | 
| // ECMA 262 - 15.9.5.31 | 
| function DateSetUTCSeconds(sec, ms) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| sec = ToNumber(sec); | 
| ms = %_ArgumentsLength() < 2 ? UTC_MS(this) : ToNumber(ms); | 
| @@ -557,7 +529,6 @@ function DateSetUTCSeconds(sec, ms) { | 
|  | 
| // ECMA 262 - 15.9.5.33 | 
| function DateSetMinutes(min, sec, ms) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| min = ToNumber(min); | 
| var argc = %_ArgumentsLength(); | 
| @@ -570,7 +541,6 @@ function DateSetMinutes(min, sec, ms) { | 
|  | 
| // ECMA 262 - 15.9.5.34 | 
| function DateSetUTCMinutes(min, sec, ms) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| min = ToNumber(min); | 
| var argc = %_ArgumentsLength(); | 
| @@ -583,7 +553,6 @@ function DateSetUTCMinutes(min, sec, ms) { | 
|  | 
| // ECMA 262 - 15.9.5.35 | 
| function DateSetHours(hour, min, sec, ms) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| hour = ToNumber(hour); | 
| var argc = %_ArgumentsLength(); | 
| @@ -597,7 +566,6 @@ function DateSetHours(hour, min, sec, ms) { | 
|  | 
| // ECMA 262 - 15.9.5.34 | 
| function DateSetUTCHours(hour, min, sec, ms) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| hour = ToNumber(hour); | 
| var argc = %_ArgumentsLength(); | 
| @@ -611,7 +579,6 @@ function DateSetUTCHours(hour, min, sec, ms) { | 
|  | 
| // ECMA 262 - 15.9.5.36 | 
| function DateSetDate(date) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| date = ToNumber(date); | 
| var day = MakeDay(LOCAL_YEAR(this), LOCAL_MONTH(this), date); | 
| @@ -621,7 +588,6 @@ function DateSetDate(date) { | 
|  | 
| // ECMA 262 - 15.9.5.37 | 
| function DateSetUTCDate(date) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| date = ToNumber(date); | 
| var day = MakeDay(UTC_YEAR(this), UTC_MONTH(this), date); | 
| @@ -631,7 +597,6 @@ function DateSetUTCDate(date) { | 
|  | 
| // ECMA 262 - 15.9.5.38 | 
| function DateSetMonth(month, date) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| month = ToNumber(month); | 
| date = %_ArgumentsLength() < 2 ? LOCAL_DAY(this) : ToNumber(date); | 
| @@ -642,7 +607,6 @@ function DateSetMonth(month, date) { | 
|  | 
| // ECMA 262 - 15.9.5.39 | 
| function DateSetUTCMonth(month, date) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| month = ToNumber(month); | 
| date = %_ArgumentsLength() < 2 ? UTC_DAY(this) : ToNumber(date); | 
| @@ -653,7 +617,6 @@ function DateSetUTCMonth(month, date) { | 
|  | 
| // ECMA 262 - 15.9.5.40 | 
| function DateSetFullYear(year, month, date) { | 
| -  CHECK_DATE(this); | 
| var t = LOCAL_DATE_VALUE(this); | 
| year = ToNumber(year); | 
| var argc = %_ArgumentsLength(); | 
| @@ -674,7 +637,6 @@ function DateSetFullYear(year, month, date) { | 
|  | 
| // ECMA 262 - 15.9.5.41 | 
| function DateSetUTCFullYear(year, month, date) { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| year = ToNumber(year); | 
| var argc = %_ArgumentsLength(); | 
| @@ -695,7 +657,6 @@ function DateSetUTCFullYear(year, month, date) { | 
|  | 
| // ECMA 262 - 15.9.5.42 | 
| function DateToUTCString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| if (NUMBER_IS_NAN(t)) return kInvalidDate; | 
| // Return UTC string of the form: Sat, 31 Jan 1970 23:00:00 GMT | 
| @@ -709,7 +670,6 @@ function DateToUTCString() { | 
|  | 
| // ECMA 262 - B.2.4 | 
| function DateGetYear() { | 
| -  CHECK_DATE(this); | 
| return LOCAL_YEAR(this) - 1900; | 
| } | 
|  | 
| @@ -757,7 +717,6 @@ function PadInt(n, digits) { | 
|  | 
| // ECMA 262 - 15.9.5.43 | 
| function DateToISOString() { | 
| -  CHECK_DATE(this); | 
| var t = UTC_DATE_VALUE(this); | 
| if (NUMBER_IS_NAN(t)) throw MakeRangeError("invalid_time_value", []); | 
| var year = this.getUTCFullYear(); | 
|  |