Changeset 10757 in webkit for trunk/JavaScriptCore/kjs/internal.h


Ignore:
Timestamp:
Oct 5, 2005, 6:13:18 PM (20 years ago)
Author:
ggaren
Message:
  • Darin and I rewrote our implementation of the SimpleNumber class to store number bit patterns in their floating point formats.

My tweaks reviewed by Darin.

~1% speedup on JS iBench.

  • kjs/internal.h: removed obsolete jsNumber declarations.
  • kjs/math_object.cpp: (MathFuncImp::callAsFunction): changed KJS::isNaN to isNaN
  • kjs/nodes.cpp: (PostfixResolveNode::evaluate): removed obsolete knownToBeInteger (PostfixBracketNode::evaluate): ditto (PostfixDotNode::evaluate): ditto (PrefixResolveNode::evaluate): ditto (PrefixBracketNode::evaluate): ditto (PrefixDotNode::evaluate): ditto (NegateNode::evaluate): ditto (valueForReadModifyAssignment): ditto
  • kjs/number_object.cpp: removed obsolete comment
  • kjs/operations.cpp: (KJS::equal): removed unnecessary isNaN checks (KJS::strictEqual): ditto (KJS::add): removed obsolete knownToBeInteger (KJS::mult): ditto
  • kjs/operations.h: removed include of "value.h" to prevent circular reference
  • kjs/simple_number.h: removed unnecessary #includes (KJS::SimpleNumber::make): see above (KJS::SimpleNumber::is): ditto (KJS::SimpleNumber::value): ditto
  • kjs/string_object.cpp: (StringProtoFuncImp::callAsFunction): changed KJS::isNaN to isNaN
  • kjs/ustring.cpp: removed unnecessary isNaN check (KJS::UString::toUInt32): ditto
  • kjs/value.cpp: (KJS::jsNumber): removed obsolete jsNumber definitions (KJS::ConstantValues::init): NaN is no longer a ConstantValue (KJS::ConstantValues::clear): ditto (KJS::ConstantValues::mark): ditto
  • kjs/value.h: removed obsolete knownToBeInteger (KJS::jsNaN): now returns a SimpleNumber (KJS::ValueImp::getUInt32): changed to account for NaN being a SimpleNumber (KJS::ValueImp::toBoolean): ditto (KJS::ValueImp::toString): changed to account for +/- 0.0 (KJS::jsZero): changed to reflect that SimpleNumber::make takes a double (KJS::jsOne): ditto (KJS::jsTwo): ditto (KJS::Number): removed obsolete non-double constructor declarations
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/internal.h

    r10713 r10757  
    2727
    2828#include "ustring.h"
    29 #include "value.h"
    3029#include "object.h"
    3130#include "protect.h"
     
    113112    friend class ConstantValues;
    114113    friend class InterpreterImp;
    115     friend ValueImp *jsNumber(int);
    116     friend ValueImp *jsNumber(unsigned);
    117     friend ValueImp *jsNumber(long);
    118     friend ValueImp *jsNumber(unsigned long);
    119     friend ValueImp *jsNumber(long long);
    120     friend ValueImp *jsNumber(unsigned long long);
    121114    friend ValueImp *jsNumber(double);
    122     friend ValueImp *jsNumber(double, bool);
    123115  public:
    124116    double value() const { return val; }
     
    139131    double val;
    140132  };
     133 
    141134
    142135  /**
Note: See TracChangeset for help on using the changeset viewer.