Ignore:
Timestamp:
Jun 10, 2011, 7:03:00 PM (14 years ago)
Author:
[email protected]
Message:

https://bugs.webkit.org/show_bug.cgi?id=16777
Eliminate JSC::NaN and JSC::Inf

Reviewed by Sam Weinig.

There's no good reason for -K-J-S- JSC to have its own NAN and infinity constants.
The ones in std::numeric_limits are perfectly good.

Remove JSC::Inf, JSC::NaN, switch some cases of (isnan
isinf) to !isfinite.

Source/JavaScriptCore:

  • API/JSCallbackObjectFunctions.h:

(JSC::::toNumber):

  • API/JSValueRef.cpp:

(JSValueMakeNumber):
(JSValueToNumber):

(JSC::CachedTranscendentalFunction::initialize):

  • runtime/DateConstructor.cpp:

(JSC::constructDate):

  • runtime/DateInstanceCache.h:

(JSC::DateInstanceData::DateInstanceData):
(JSC::DateInstanceCache::reset):

  • runtime/JSCell.cpp:
  • runtime/JSCell.h:

(JSC::JSCell::JSValue::getPrimitiveNumber):
(JSC::JSCell::JSValue::toNumber):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::resetDateCache):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncParseInt):
(JSC::globalFuncIsFinite):

  • runtime/JSNotAnObject.cpp:

(JSC::JSNotAnObject::toNumber):

  • runtime/JSValue.cpp:
  • runtime/JSValue.h:
  • runtime/JSValueInlineMethods.h:

(JSC::jsNaN):

  • runtime/MathObject.cpp:

(JSC::mathProtoFuncMax):
(JSC::mathProtoFuncMin):

  • runtime/NumberConstructor.cpp:

(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncToString):

  • runtime/UString.cpp:
  • wtf/DecimalNumber.h:

(WTF::DecimalNumber::DecimalNumber):

  • wtf/dtoa.cpp:

(WTF::dtoa):

Source/WebCore:

  • bindings/js/JSDataViewCustom.cpp:

(WebCore::getDataViewMember):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/MathObject.cpp

    r86727 r88587  
    167167{
    168168    unsigned argsCount = exec->argumentCount();
    169     double result = -Inf;
     169    double result = -std::numeric_limits<double>::infinity();
    170170    for (unsigned k = 0; k < argsCount; ++k) {
    171171        double val = exec->argument(k).toNumber(exec);
    172172        if (isnan(val)) {
    173             result = NaN;
     173            result = std::numeric_limits<double>::quiet_NaN();
    174174            break;
    175175        }
     
    183183{
    184184    unsigned argsCount = exec->argumentCount();
    185     double result = +Inf;
     185    double result = +std::numeric_limits<double>::infinity();
    186186    for (unsigned k = 0; k < argsCount; ++k) {
    187187        double val = exec->argument(k).toNumber(exec);
    188188        if (isnan(val)) {
    189             result = NaN;
     189            result = std::numeric_limits<double>::quiet_NaN();
    190190            break;
    191191        }
Note: See TracChangeset for help on using the changeset viewer.