]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/DateInstanceCache.h
JavaScriptCore-1097.13.tar.gz
[apple/javascriptcore.git] / runtime / DateInstanceCache.h
index b60c29a60eed3d72b64d0430be285ae48bdf81ec..153582f6740eece156810ee6f4d819bca1fbf689 100644 (file)
 #ifndef DateInstanceCache_h
 #define DateInstanceCache_h
 
-#include <wtf/DateMath.h>
+#include "JSDateMath.h"
+#include <wtf/FixedArray.h>
 #include <wtf/HashFunctions.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
 
 namespace JSC {
 
-    extern const double NaN;
-
     class DateInstanceData : public RefCounted<DateInstanceData> {
     public:
         static PassRefPtr<DateInstanceData> create() { return adoptRef(new DateInstanceData); }
@@ -46,8 +45,8 @@ namespace JSC {
 
     private:
         DateInstanceData()
-            : m_gregorianDateTimeCachedForMS(NaN)
-            , m_gregorianDateTimeUTCCachedForMS(NaN)
+            : m_gregorianDateTimeCachedForMS(std::numeric_limits<double>::quiet_NaN())
+            , m_gregorianDateTimeUTCCachedForMS(std::numeric_limits<double>::quiet_NaN())
         {
         }
     };
@@ -62,7 +61,7 @@ namespace JSC {
         void reset()
         {
             for (size_t i = 0; i < cacheSize; ++i)
-                m_cache[i].key = NaN;
+                m_cache[i].key = std::numeric_limits<double>::quiet_NaN();
         }
         
         DateInstanceData* add(double d)