| Index: src/date.js
|
| diff --git a/src/date.js b/src/date.js
|
| index f3d4af244f9692c223ee5b467ace6c52e177d46f..5eece689c289b5980e71c350457765e0abb65dea 100644
|
| --- a/src/date.js
|
| +++ b/src/date.js
|
| @@ -46,6 +46,7 @@ var timezone_cache_timezone;
|
|
|
| function LocalTimezone(t) {
|
| if (NUMBER_IS_NAN(t)) return "";
|
| + CheckDateCacheCurrent();
|
| if (t == timezone_cache_time) {
|
| return timezone_cache_timezone;
|
| }
|
| @@ -156,6 +157,7 @@ function DateConstructor(year, month, date, hours, minutes, seconds, ms) {
|
| } else if (IS_STRING(year)) {
|
| // Probe the Date cache. If we already have a time value for the
|
| // given time, we re-use that instead of parsing the string again.
|
| + CheckDateCacheCurrent();
|
| var cache = Date_cache;
|
| if (cache.string === year) {
|
| value = cache.time;
|
| @@ -743,10 +745,22 @@ function DateToJSON(key) {
|
| }
|
|
|
|
|
| -function ResetDateCache() {
|
| +var date_cache_version_holder;
|
| +var date_cache_version = NAN;
|
| +
|
| +
|
| +function CheckDateCacheCurrent() {
|
| + if (!date_cache_version_holder) {
|
| + date_cache_version_holder = %DateCacheVersion();
|
| + }
|
| + if (date_cache_version_holder[0] == date_cache_version) {
|
| + return;
|
| + }
|
| + date_cache_version = date_cache_version_holder[0];
|
| +
|
| // Reset the timezone cache:
|
| timezone_cache_time = NAN;
|
| - timezone_cache_timezone = undefined;
|
| + timezone_cache_timezone = UNDEFINED;
|
|
|
| // Reset the date cache:
|
| cache = Date_cache;
|
|
|