Ignore:
Timestamp:
Oct 25, 2007, 8:58:18 PM (18 years ago)
Author:
mjs
Message:

Reviewed by Oliver.

  • fold together toPrimitive() and toNumber() conversions for 0.5% gain on SunSpider
  • kjs/nodes.cpp: (KJS::SubNode::evaluate): Subtract directly, since toPrimitive() is not adding any value over toNumber() here. (KJS::valueForReadModifyAssignment): Ditto. (KJS::lessThan): Use new getPrimitiveNumber() method to avoid some virtual calls and branches. (KJS::lessThanEq): Ditto.
  • JavaScriptCore.exp: Export new functions as needed.
  • kjs/value.h: (KJS::JSValue::toPrimitive): Fixed formatting. (KJS::JSValue::getPrimitiveNumber): New method - this simultaneously converts to number and tells you whether a toPrimitive() conversion with a Number hint would have given a string.
  • kjs/internal.cpp: (KJS::StringImp::getPrimitiveNumber): Implemented. (KJS::NumberImp::getPrimitiveNumber): ditto (KJS::GetterSetterImp::getPrimitiveNumber): ditto (KJS::StringImp::toPrimitive): Fixed formatting. (KJS::NumberImp::toPrimitive): ditto (KJS::GetterSetterImp::toPrimitive): ditto
  • kjs/internal.h:
  • kjs/object.cpp: (KJS::JSObject::getPrimitiveNumber): Implemented.
  • kjs/object.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r27022 r27086  
    124124__ZN3KJS11Interpreter8evaluateERKNS_7UStringEiS3_PNS_7JSValueE
    125125__ZN3KJS11InterpreterC1EPNS_14JSGlobalObjectE
     126__ZN3KJS11InterpreterC1Ev
    126127__ZN3KJS11InterpreterC2EPNS_14JSGlobalObjectE
    127 __ZN3KJS11InterpreterC1Ev
    128128__ZN3KJS11InterpreterD1Ev
    129129__ZN3KJS11InterpreterD2Ev
     
    265265__ZNK3KJS8JSObject12defaultValueEPNS_9ExecStateENS_6JSTypeE
    266266__ZNK3KJS8JSObject14implementsCallEv
     267__ZNK3KJS8JSObject18getPrimitiveNumberEPNS_9ExecStateERd
    267268__ZNK3KJS8JSObject19implementsConstructEv
    268269__ZNK3KJS8JSObject21implementsHasInstanceEv
Note: See TracChangeset for help on using the changeset viewer.