Reviewers: ulan,

Message:
Committed patchset #1 manually as r19765 (presubmit successful).

Description:
Revert "Check and clear date cache in DateCurrentTime, DateLocalTimezone and
getTimezoneOffset."

This reverts commit r19711 for breaking WebKit tests.
http://build.chromium.org/p/tryserver.chromium/builders/win_rel/builds/278551/steps/content_browsertests/logs/AccessibilityMessagesQueueWhileSwappedOut

[email protected]

Committed: https://code.google.com/p/v8/source/detail?r=19765

Please review this at https://codereview.chromium.org/192903002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+4, -16 lines):
  M src/date.h
  M src/date.js
  M src/objects.cc
  M src/runtime.cc


Index: src/date.h
diff --git a/src/date.h b/src/date.h
index 3bcfee97030975bfa0051534b8b93473d33e8488..fcd61db046715003564a6e0fa73e009001361ab9 100644
--- a/src/date.h
+++ b/src/date.h
@@ -122,13 +122,6 @@ class DateCache {
     return static_cast<int>((time_ms - local_ms) / kMsPerMin);
   }

-  void CheckTimezone() {
-    if (local_offset_ms_ != kInvalidLocalOffsetInMs &&
-        local_offset_ms_ != GetLocalOffsetFromOS()) {
-      ResetDateCache();
-    }
-  }
-
   // ECMA 262 - 15.9.1.9
   int64_t ToLocal(int64_t time_ms) {
return time_ms + LocalOffsetInMs() + DaylightSavingsOffsetInMs(time_ms);
Index: src/date.js
diff --git a/src/date.js b/src/date.js
index 5e3f5c1a5ebd896fc9443e00c739058c68e0da3b..f3d4af244f9692c223ee5b467ace6c52e177d46f 100644
--- a/src/date.js
+++ b/src/date.js
@@ -42,19 +42,16 @@ function ThrowDateTypeError() {


 var timezone_cache_time = NAN;
-var timezone_cache_timezone_offset = NAN;
 var timezone_cache_timezone;

-function LocalTimezone(t, timezone_offset) {
+function LocalTimezone(t) {
   if (NUMBER_IS_NAN(t)) return "";
-  if (t == timezone_cache_time &&
-      timezone_offset == timezone_cache_timezone_offset) {
+  if (t == timezone_cache_time) {
     return timezone_cache_timezone;
   }
   var timezone = %DateLocalTimezone(t);
   timezone_cache_time = t;
   timezone_cache_timezone = timezone;
-  timezone_cache_timezone_offset = timezone_offset;
   return timezone;
 }

@@ -248,8 +245,9 @@ function TimeStringUTC(date) {


 function LocalTimezoneString(date) {
+  var timezone = LocalTimezone(UTC_DATE_VALUE(date));
+
   var timezoneOffset = -TIMEZONE_OFFSET(date);
-  var timezone = LocalTimezone(UTC_DATE_VALUE(date), timezoneOffset);
   var sign = (timezoneOffset >= 0) ? 1 : -1;
   var hours = FLOOR((sign * timezoneOffset)/60);
   var min   = FLOOR((sign * timezoneOffset)%60);
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index 1ee13252b6d9539efef628349e128d2fd841c191..c2f3e1a700829bc1da4d5c7a34d8fdae590f37e4 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -16342,7 +16342,6 @@ Object* JSDate::GetUTCField(FieldIndex index,
   int64_t time_ms = static_cast<int64_t>(value);

   if (index == kTimezoneOffset) {
-    date_cache->CheckTimezone();
     return Smi::FromInt(date_cache->TimezoneOffset(time_ms));
   }

Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index 394deceaa8e82b3ea4b08ff0c2f159fbbf330325..7e47615b5765d7b9037fc93aae74ab7c9a1884ae 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -9549,7 +9549,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DateCurrentTime) {
   // time is milliseconds. Therefore, we floor the result of getting
   // the OS time.
   double millis = std::floor(OS::TimeCurrentMillis());
-  isolate->date_cache()->CheckTimezone();
   return isolate->heap()->NumberFromDouble(millis);
 }

@@ -9596,7 +9595,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DateLocalTimezone) {
   ASSERT(args.length() == 1);

   CONVERT_DOUBLE_ARG_CHECKED(x, 0);
-  isolate->date_cache()->CheckTimezone();
int64_t time = isolate->date_cache()->EquivalentTime(static_cast<int64_t>(x));
   const char* zone = OS::LocalTimezone(static_cast<double>(time));
   return isolate->heap()->AllocateStringFromUtf8(CStrVector(zone));


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to