Changeset 50591 in webkit for trunk/JavaScriptCore/runtime
- Timestamp:
- Nov 5, 2009, 10:52:10 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/runtime
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/DateConstructor.cpp
r50590 r50591 85 85 JSValue primitive = args.at(0).toPrimitive(exec); 86 86 if (primitive.isString()) 87 value = parseDate( exec,primitive.getString());87 value = parseDate(primitive.getString()); 88 88 else 89 89 value = primitive.toNumber(exec); … … 109 109 t.isDST = -1; 110 110 double ms = (numArgs >= 7) ? args.at(6).toNumber(exec) : 0; 111 value = gregorianDateTimeToMS( exec,t, ms, false);111 value = gregorianDateTimeToMS(t, ms, false); 112 112 } 113 113 } … … 133 133 tm localTM; 134 134 getLocalTime(&localTime, &localTM); 135 GregorianDateTime ts( exec,localTM);135 GregorianDateTime ts(localTM); 136 136 return jsNontrivialString(exec, formatDate(ts) + " " + formatTime(ts, false)); 137 137 } … … 145 145 static JSValue JSC_HOST_CALL dateParse(ExecState* exec, JSObject*, JSValue, const ArgList& args) 146 146 { 147 return jsNumber(exec, parseDate( exec,args.at(0).toString(exec)));147 return jsNumber(exec, parseDate(args.at(0).toString(exec))); 148 148 } 149 149 … … 174 174 t.second = args.at(5).toInt32(exec); 175 175 double ms = (n >= 7) ? args.at(6).toNumber(exec) : 0; 176 return jsNumber(exec, gregorianDateTimeToMS( exec,t, ms, true));176 return jsNumber(exec, gregorianDateTimeToMS(t, ms, true)); 177 177 } 178 178 -
trunk/JavaScriptCore/runtime/DateConversion.cpp
r50590 r50591 52 52 namespace JSC { 53 53 54 double parseDate( ExecState* exec,const UString &date)54 double parseDate(const UString &date) 55 55 { 56 return parseDateFromNullTerminatedCharacters(date.UTF8String().c_str() , exec);56 return parseDateFromNullTerminatedCharacters(date.UTF8String().c_str()); 57 57 } 58 58 -
trunk/JavaScriptCore/runtime/DateConversion.h
r50590 r50591 43 43 #define DateConversion_h 44 44 45 namespace WTF { 46 struct GregorianDateTime; 47 } 48 45 49 namespace JSC { 46 50 47 class ExecState;48 51 class UString; 49 struct GregorianDateTime;50 52 51 double parseDate( ExecState* exec,const UString&);52 UString formatDate(const GregorianDateTime&);53 UString formatDateUTCVariant(const GregorianDateTime&);54 UString formatTime(const GregorianDateTime&, bool inputIsUTC);53 double parseDate(const UString&); 54 UString formatDate(const WTF::GregorianDateTime&); 55 UString formatDateUTCVariant(const WTF::GregorianDateTime&); 56 UString formatTime(const WTF::GregorianDateTime&, bool inputIsUTC); 55 57 56 58 } // namespace JSC -
trunk/JavaScriptCore/runtime/DateInstance.cpp
r50590 r50591 58 58 if (outputIsUTC) { 59 59 if (m_data->m_gregorianDateTimeUTCCachedForMS != milli) { 60 msToGregorianDateTime( exec,internalNumber(), true, m_data->m_cachedGregorianDateTimeUTC);60 msToGregorianDateTime(internalNumber(), true, m_data->m_cachedGregorianDateTimeUTC); 61 61 m_data->m_gregorianDateTimeUTCCachedForMS = milli; 62 62 } … … 65 65 66 66 if (m_data->m_gregorianDateTimeCachedForMS != milli) { 67 msToGregorianDateTime( exec,internalNumber(), false, m_data->m_cachedGregorianDateTime);67 msToGregorianDateTime(internalNumber(), false, m_data->m_cachedGregorianDateTime); 68 68 m_data->m_gregorianDateTimeCachedForMS = milli; 69 69 } -
trunk/JavaScriptCore/runtime/DateInstance.h
r50590 r50591 39 39 static JS_EXPORTDATA const ClassInfo info; 40 40 41 const GregorianDateTime* gregorianDateTime(ExecState*, bool outputIsUTC) const;41 const WTF::GregorianDateTime* gregorianDateTime(ExecState*, bool outputIsUTC) const; 42 42 43 43 static PassRefPtr<Structure> createStructure(JSValue prototype) -
trunk/JavaScriptCore/runtime/DateInstanceCache.h
r50590 r50591 41 41 42 42 double m_gregorianDateTimeCachedForMS; 43 GregorianDateTime m_cachedGregorianDateTime;43 WTF::GregorianDateTime m_cachedGregorianDateTime; 44 44 double m_gregorianDateTimeUTCCachedForMS; 45 GregorianDateTime m_cachedGregorianDateTimeUTC;45 WTF::GregorianDateTime m_cachedGregorianDateTimeUTC; 46 46 47 47 private: -
trunk/JavaScriptCore/runtime/DatePrototype.cpp
r50590 r50591 843 843 } 844 844 845 JSValue result = jsNumber(exec, gregorianDateTimeToMS( exec,gregorianDateTime, ms, inputIsUTC));845 JSValue result = jsNumber(exec, gregorianDateTimeToMS(gregorianDateTime, ms, inputIsUTC)); 846 846 thisDateObj->setInternalValue(result); 847 847 return result; … … 865 865 GregorianDateTime gregorianDateTime; 866 866 if (numArgsToUse == 3 && isnan(milli)) 867 msToGregorianDateTime(exec,0, true, gregorianDateTime);867 WTF::msToGregorianDateTime(0, true, gregorianDateTime); 868 868 else { 869 869 ms = milli - floor(milli / msPerSecond) * msPerSecond; … … 880 880 } 881 881 882 JSValue result = jsNumber(exec, gregorianDateTimeToMS( exec,gregorianDateTime, ms, inputIsUTC));882 JSValue result = jsNumber(exec, gregorianDateTimeToMS(gregorianDateTime, ms, inputIsUTC)); 883 883 thisDateObj->setInternalValue(result); 884 884 return result; … … 990 990 // Based on ECMA 262 B.2.5 (setYear) 991 991 // the time must be reset to +0 if it is NaN. 992 msToGregorianDateTime( exec,0, true, gregorianDateTime);992 msToGregorianDateTime(0, true, gregorianDateTime); 993 993 else { 994 994 double secs = floor(milli / msPerSecond); … … 1007 1007 1008 1008 gregorianDateTime.year = (year > 99 || year < 0) ? year - 1900 : year; 1009 JSValue result = jsNumber(exec, gregorianDateTimeToMS( exec,gregorianDateTime, ms, outputIsUTC));1009 JSValue result = jsNumber(exec, gregorianDateTimeToMS(gregorianDateTime, ms, outputIsUTC)); 1010 1010 thisDateObj->setInternalValue(result); 1011 1011 return result; -
trunk/JavaScriptCore/runtime/InitializeThreading.cpp
r50590 r50591 52 52 #if ENABLE(JSC_MULTIPLE_THREADS) 53 53 s_dtoaP5Mutex = new Mutex; 54 initializeDates();54 WTF::initializeDates(); 55 55 #endif 56 56 } -
trunk/JavaScriptCore/runtime/JSGlobalData.cpp
r50590 r50591 148 148 , firstStringifierToMark(0) 149 149 , markStack(vptrSet.jsArrayVPtr) 150 , cachedUTCOffset(NaN)151 150 #ifndef NDEBUG 152 151 , mainThreadOnly(false) -
trunk/JavaScriptCore/runtime/JSGlobalData.h
r50590 r50591 154 154 MarkStack markStack; 155 155 156 double cachedUTCOffset;157 158 156 #ifndef NDEBUG 159 157 bool mainThreadOnly; -
trunk/JavaScriptCore/runtime/JSGlobalObject.h
r50590 r50591 443 443 , m_savedDynamicGlobalObject(m_dynamicGlobalObjectSlot) 444 444 { 445 if (!m_dynamicGlobalObjectSlot) { 446 m_dynamicGlobalObjectSlot = dynamicGlobalObject; 447 448 // Reset the UTC cache between JS invocations to force the VM 449 // to observe time zone changes. 450 callFrame->globalData().cachedUTCOffset = NaN; 451 } 445 m_dynamicGlobalObjectSlot = dynamicGlobalObject; 452 446 } 453 447
Note:
See TracChangeset
for help on using the changeset viewer.