1. 27 Jun, 2008 2 commits
    • weinig@apple.com's avatar
      2008-06-27 Sam Weinig <sam@webkit.org> · 2d983abd
      weinig@apple.com authored
              Reviewed by Oliver Hunt.
      
              Fix platforms that don't use AllInOne.cpp
      
              * kjs/BooleanConstructor.h:
              * kjs/BooleanPrototype.h:
              * kjs/FunctionPrototype.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d983abd
    • weinig@apple.com's avatar
      2008-06-27 Sam Weinig <sam@webkit.org> · 282b0a4e
      weinig@apple.com authored
              Rubber-stamped by Oliver Hunt.
      
              Splits ArrayConstructor out of ArrayPrototype.h/cpp
              Splits BooleanConstructor and BooleanPrototype out of BooleanObject.h/cpp
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/Machine.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/ArrayConstructor.cpp: Copied from kjs/ArrayPrototype.cpp.
              * kjs/ArrayConstructor.h: Copied from kjs/ArrayPrototype.h.
              * kjs/ArrayPrototype.cpp:
              * kjs/ArrayPrototype.h:
              * kjs/BooleanConstructor.cpp: Copied from kjs/BooleanObject.cpp.
              * kjs/BooleanConstructor.h: Copied from kjs/BooleanObject.h.
              * kjs/BooleanObject.cpp:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp: Copied from kjs/BooleanObject.cpp.
              * kjs/BooleanPrototype.h: Copied from kjs/BooleanObject.h.
              * kjs/CommonIdentifiers.h:
              * kjs/FunctionPrototype.cpp:
              * kjs/JSArray.cpp:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSImmediate.cpp:
              * kjs/Shell.cpp:
              * kjs/internal.cpp:
              * kjs/nodes.cpp:
              * kjs/string_object.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      282b0a4e
  2. 26 Jun, 2008 1 commit
    • darin@apple.com's avatar
      2008-06-26 Darin Adler <darin@apple.com> · 59c4d4eb
      darin@apple.com authored
              Reviewed by Geoff.
      
              - https://bugs.webkit.org/show_bug.cgi?id=19721
                speed up JavaScriptCore by not wrapping strings in objects just
                to call functions on them
      
              - optimize UString append and the replace function a bit
      
              SunSpider says 1.8% faster.
      
              * JavaScriptCore.exp: Updated.
      
              * VM/JSPropertyNameIterator.cpp: Added include of JSString.h, now needed
              because jsString returns a JSString*.
      
              * VM/Machine.cpp:
              (KJS::Machine::privateExecute): Removed the toObject call from native
              function calls. Also removed code to put the this value into a register.
      
              * kjs/BooleanObject.cpp:
              (KJS::booleanProtoFuncToString): Rewrite to handle false and true
              separately.
      
              * kjs/FunctionPrototype.cpp:
              (KJS::constructFunction): Use single-character append rather than building
              a string for each character.
              * kjs/JSFunction.cpp:
              (KJS::globalFuncUnescape): Ditto.
      
              * kjs/JSImmediate.cpp:
              (KJS::JSImmediate::prototype): Added. Gets the appropriate prototype for
              use with an immediate value. To be used instead of toObject when doing a
              get on an immediate value.
              * kjs/JSImmediate.h: Added prototype.
      
              * kjs/JSObject.cpp:
              (KJS::JSObject::toString): Tweaked formatting.
      
              * kjs/JSObject.h:
              (KJS::JSValue::get): Use prototype instead of toObject to avoid creating
              an object wrapper just to search for properties. This also saves an
              unnecessary hash table lookup since the object wrappers themselves don't
              have any properties.
      
              * kjs/JSString.h: Added toThisString and toThisJSString.
      
              * kjs/JSValue.cpp:
              (KJS::JSCell::toThisString): Added.
              (KJS::JSCell::toThisJSString): Added.
              (KJS::JSCell::getJSNumber): Added.
              (KJS::jsString): Changed return type to JSString*.
              (KJS::jsOwnedString): Ditto.
      
              * kjs/JSValue.h:
              (KJS::JSValue::toThisString): Added.
              (KJS::JSValue::toThisJSString): Added.
              (KJS::JSValue::getJSNumber): Added.
      
              * kjs/NumberObject.cpp:
              (KJS::NumberObject::getJSNumber): Added.
              (KJS::integer_part_noexp): Append C string directly rather than first
              turning it into a UString.
              (KJS::numberProtoFuncToString): Use getJSNumber to check if the value
              is a number rather than isObject(&NumberObject::info). This works for
              immediate numbers, number cells, and NumberObject instances.
              (KJS::numberProtoFuncToLocaleString): Ditto.
              (KJS::numberProtoFuncValueOf): Ditto.
              (KJS::numberProtoFuncToFixed): Ditto.
              (KJS::numberProtoFuncToExponential): Ditto.
              (KJS::numberProtoFuncToPrecision): Ditto.
              * kjs/NumberObject.h: Added getJSNumber.
      
              * kjs/PropertySlot.cpp: Tweaked comment.
      
              * kjs/internal.cpp:
              (KJS::JSString::toThisString): Added.
              (KJS::JSString::toThisJSString): Added.
              (KJS::JSString::getOwnPropertySlot): Changed code that searches the
              prototype chain to start with the string prototype and not create a
              string object.
              (KJS::JSNumberCell::toThisString): Added.
              (KJS::JSNumberCell::getJSNumber): Added.
      
              * kjs/lookup.cpp:
              (KJS::staticFunctionGetter): Moved here, because there's no point in
              having a function that's only used for a function pointer be inline.
              (KJS::setUpStaticFunctionSlot): New function for getStaticFunctionSlot.
      
              * kjs/lookup.h:
              (KJS::staticValueGetter): Don't mark this inline. It doesn't make sense
              to have a function that's only used for a function pointer be inline.
              (KJS::getStaticFunctionSlot): Changed to get properties from the parent
              first before doing any handling of functions. This is the fastest way
              to return the function once the initial setup is done.
      
              * kjs/string_object.cpp:
              (KJS::StringObject::getPropertyNames): Call value() instead of getString(),
              avoiding an unnecessary virtual function call (the call to the type()
              function in the implementation of the isString() function).
              (KJS::StringObject::toString): Added.
              (KJS::StringObject::toThisString): Added.
              (KJS::StringObject::toThisJSString): Added.
              (KJS::substituteBackreferences): Rewrote to use a appending algorithm
              instead of a the old one that tried to replace in place.
              (KJS::stringProtoFuncReplace): Merged this function and the replace function.
              Replaced the hand-rolled dynamic arrays for source ranges and replacements
              with Vector.
              (KJS::stringProtoFuncToString): Handle JSString as well as StringObject.
              Removed the separate valueOf implementation, since it can just share this.
              (KJS::stringProtoFuncCharAt): Use toThisString, which handles JSString as
              well as StringObject, and is slightly more efficient than the old code too.
              (KJS::stringProtoFuncCharCodeAt): Ditto.
              (KJS::stringProtoFuncConcat): Ditto.
              (KJS::stringProtoFuncIndexOf): Ditto.
              (KJS::stringProtoFuncLastIndexOf): Ditto.
              (KJS::stringProtoFuncMatch): Ditto.
              (KJS::stringProtoFuncSearch): Ditto.
              (KJS::stringProtoFuncSlice): Ditto.
              (KJS::stringProtoFuncSplit): Ditto.
              (KJS::stringProtoFuncSubstr): Ditto.
              (KJS::stringProtoFuncSubstring): Ditto.
              (KJS::stringProtoFuncToLowerCase): Use toThisJSString.
              (KJS::stringProtoFuncToUpperCase): Ditto.
              (KJS::stringProtoFuncToLocaleLowerCase): Ditto.
              (KJS::stringProtoFuncToLocaleUpperCase): Ditto.
              (KJS::stringProtoFuncLocaleCompare): Ditto.
              (KJS::stringProtoFuncBig): Use toThisString.
              (KJS::stringProtoFuncSmall): Ditto.
              (KJS::stringProtoFuncBlink): Ditto.
              (KJS::stringProtoFuncBold): Ditto.
              (KJS::stringProtoFuncFixed): Ditto.
              (KJS::stringProtoFuncItalics): Ditto.
              (KJS::stringProtoFuncStrike): Ditto.
              (KJS::stringProtoFuncSub): Ditto.
              (KJS::stringProtoFuncSup): Ditto.
              (KJS::stringProtoFuncFontcolor): Ditto.
              (KJS::stringProtoFuncFontsize): Ditto.
              (KJS::stringProtoFuncAnchor): Ditto.
              (KJS::stringProtoFuncLink): Ditto.
      
              * kjs/string_object.h: Added toString, toThisString, and toThisJSString.
      
              * kjs/ustring.cpp:
              (KJS::UString::append): Added a version that takes a character pointer and
              size, so we don't have to create a UString just to append to another UString.
              * kjs/ustring.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59c4d4eb
  3. 23 Jun, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 1edff436
      darin@apple.com authored
      2008-06-23  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              - work toward https://bugs.webkit.org/show_bug.cgi?id=19721
      
              More preparation toward making functions work on primitive types without
              creating wrapper objects. No speedup this time, but prepares for a future
              speedup without slowing things down.
      
              SunSpider reports no change.
      
              - Eliminated the implementsCall, callAsFunction and construct virtual
                functions from JSObject. Instead, the CallData and ConstructData for
                a native function includes a function pointer that the caller can use
                directly. Changed all call sites to use CallData and ConstructData.
      
              - Changed the "this" argument to native functions to be a JSValue rather
                than a JSObject. This prepares us for passing primitives into these
                functions. The conversion to an object now must be done inside the
                function. Critically, if it's a function that can be called on a DOM
                window object, then we have to be sure to call toThisObject on the
                argument before we use it for anything even if it's already an object.
      
              - Eliminated the practice of using constructor objects in the global
                object to make objects of the various basic types. Since these
                constructors can't be replaced by script, there's no reason to involve
                a constructor object at all. Added functions to do the construction
                directly.
      
              - Made some more class members private and protected, including virtual
                function overrides. This can catch code using unnecessarily slow virtual
                function code paths when the type of an object is known statically. If we
                later find a new reason use the members outside the class it's easy to
                make them public again.
      
              - Moved the declarations of the native implementations for functions out
                of header files. These can have internal linkage and be declared inside
                the source file.
      
              - Changed PrototypeFunction to take function pointers with the right
                arguments to be put directly into CallData. This eliminates the
                need to have a separate PrototypeReflexiveFunction, and reveals that the
                real purpose of that class included something else specific to eval --
                storage of a cached global object. So renamed PrototypeReflexiveFunction
                to GlobalEvalFunction.
      
              * API/JSCallbackConstructor.cpp:
              (KJS::constructJSCallback):
              (KJS::JSCallbackConstructor::getConstructData):
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              (KJS::JSCallbackFunction::implementsHasInstance):
              (KJS::JSCallbackFunction::call):
              (KJS::JSCallbackFunction::getCallData):
              * API/JSCallbackFunction.h:
              (KJS::JSCallbackFunction::classInfo):
              * API/JSCallbackObject.h:
              (KJS::JSCallbackObject::classRef):
              (KJS::JSCallbackObject::classInfo):
              * API/JSCallbackObjectFunctions.h:
              (KJS::::getConstructData):
              (KJS::::construct):
              (KJS::::getCallData):
              (KJS::::call):
              * API/JSObjectRef.cpp:
              (JSObjectMakeFunction):
              (JSObjectIsFunction):
              (JSObjectCallAsFunction):
              (JSObjectCallAsConstructor):
              * JavaScriptCore.exp:
              * VM/Machine.cpp:
              (KJS::jsTypeStringForValue):
              (KJS::Machine::privateExecute):
              * kjs/ArrayPrototype.cpp:
              (KJS::arrayProtoFuncToString):
              (KJS::arrayProtoFuncToLocaleString):
              (KJS::arrayProtoFuncJoin):
              (KJS::arrayProtoFuncConcat):
              (KJS::arrayProtoFuncPop):
              (KJS::arrayProtoFuncPush):
              (KJS::arrayProtoFuncReverse):
              (KJS::arrayProtoFuncShift):
              (KJS::arrayProtoFuncSlice):
              (KJS::arrayProtoFuncSort):
              (KJS::arrayProtoFuncSplice):
              (KJS::arrayProtoFuncUnShift):
              (KJS::arrayProtoFuncFilter):
              (KJS::arrayProtoFuncMap):
              (KJS::arrayProtoFuncEvery):
              (KJS::arrayProtoFuncForEach):
              (KJS::arrayProtoFuncSome):
              (KJS::arrayProtoFuncIndexOf):
              (KJS::arrayProtoFuncLastIndexOf):
              (KJS::ArrayConstructor::ArrayConstructor):
              (KJS::constructArrayWithSizeQuirk):
              (KJS::constructWithArrayConstructor):
              (KJS::ArrayConstructor::getConstructData):
              (KJS::callArrayConstructor):
              (KJS::ArrayConstructor::getCallData):
              * kjs/ArrayPrototype.h:
              * kjs/BooleanObject.cpp:
              (KJS::booleanProtoFuncToString):
              (KJS::booleanProtoFuncValueOf):
              (KJS::constructBoolean):
              (KJS::constructWithBooleanConstructor):
              (KJS::BooleanConstructor::getConstructData):
              (KJS::callBooleanConstructor):
              (KJS::BooleanConstructor::getCallData):
              (KJS::constructBooleanFromImmediateBoolean):
              * kjs/BooleanObject.h:
              * kjs/CallData.h:
              (KJS::):
              * kjs/ConstructData.h:
              (KJS::):
              * kjs/FunctionPrototype.cpp:
              (KJS::callFunctionPrototype):
              (KJS::FunctionPrototype::getCallData):
              (KJS::functionProtoFuncToString):
              (KJS::functionProtoFuncApply):
              (KJS::functionProtoFuncCall):
              (KJS::constructWithFunctionConstructor):
              (KJS::FunctionConstructor::getConstructData):
              (KJS::callFunctionConstructor):
              (KJS::FunctionConstructor::getCallData):
              (KJS::constructFunction):
              * kjs/FunctionPrototype.h:
              * kjs/JSArray.cpp:
              (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
              (KJS::JSArray::sort):
              (KJS::constructEmptyArray):
              (KJS::constructArray):
              * kjs/JSArray.h:
              (KJS::JSArray::classInfo):
              * kjs/JSFunction.cpp:
              (KJS::JSFunction::call):
              (KJS::globalFuncEval):
              (KJS::globalFuncParseInt):
              (KJS::globalFuncParseFloat):
              (KJS::globalFuncIsNaN):
              (KJS::globalFuncIsFinite):
              (KJS::globalFuncDecodeURI):
              (KJS::globalFuncDecodeURIComponent):
              (KJS::globalFuncEncodeURI):
              (KJS::globalFuncEncodeURIComponent):
              (KJS::globalFuncEscape):
              (KJS::globalFuncUnescape):
              (KJS::globalFuncKJSPrint):
              (KJS::PrototypeFunction::PrototypeFunction):
              (KJS::PrototypeFunction::getCallData):
              (KJS::GlobalEvalFunction::GlobalEvalFunction):
              (KJS::GlobalEvalFunction::mark):
              * kjs/JSFunction.h:
              (KJS::InternalFunction::classInfo):
              (KJS::InternalFunction::functionName):
              (KJS::JSFunction::classInfo):
              (KJS::GlobalEvalFunction::cachedGlobalObject):
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset):
              (KJS::JSGlobalObject::mark):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::JSGlobalObject):
              (KJS::JSGlobalObject::evalFunction):
              * kjs/JSImmediate.cpp:
              (KJS::JSImmediate::toObject):
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSObject.cpp:
              (KJS::JSObject::put):
              (KJS::callDefaultValueFunction):
              (KJS::JSObject::defaultValue):
              (KJS::JSObject::lookupGetter):
              (KJS::JSObject::lookupSetter):
              (KJS::JSObject::hasInstance):
              (KJS::JSObject::fillGetterPropertySlot):
              (KJS::Error::create):
              (KJS::constructEmptyObject):
              * kjs/JSObject.h:
              (KJS::GetterSetter::GetterSetter):
              (KJS::GetterSetter::getter):
              (KJS::GetterSetter::setGetter):
              (KJS::GetterSetter::setter):
              (KJS::GetterSetter::setSetter):
              * kjs/JSValue.cpp:
              (KJS::JSCell::deleteProperty):
              (KJS::call):
              (KJS::construct):
              * kjs/JSValue.h:
              * kjs/MathObject.cpp:
              (KJS::mathProtoFuncAbs):
              (KJS::mathProtoFuncACos):
              (KJS::mathProtoFuncASin):
              (KJS::mathProtoFuncATan):
              (KJS::mathProtoFuncATan2):
              (KJS::mathProtoFuncCeil):
              (KJS::mathProtoFuncCos):
              (KJS::mathProtoFuncExp):
              (KJS::mathProtoFuncFloor):
              (KJS::mathProtoFuncLog):
              (KJS::mathProtoFuncMax):
              (KJS::mathProtoFuncMin):
              (KJS::mathProtoFuncPow):
              (KJS::mathProtoFuncRandom):
              (KJS::mathProtoFuncRound):
              (KJS::mathProtoFuncSin):
              (KJS::mathProtoFuncSqrt):
              (KJS::mathProtoFuncTan):
              * kjs/MathObject.h:
              * kjs/NumberObject.cpp:
              (KJS::numberProtoFuncToString):
              (KJS::numberProtoFuncToLocaleString):
              (KJS::numberProtoFuncValueOf):
              (KJS::numberProtoFuncToFixed):
              (KJS::numberProtoFuncToExponential):
              (KJS::numberProtoFuncToPrecision):
              (KJS::NumberConstructor::NumberConstructor):
              (KJS::constructWithNumberConstructor):
              (KJS::NumberConstructor::getConstructData):
              (KJS::callNumberConstructor):
              (KJS::NumberConstructor::getCallData):
              (KJS::constructNumber):
              (KJS::constructNumberFromImmediateNumber):
              * kjs/NumberObject.h:
              (KJS::NumberObject::classInfo):
              (KJS::NumberConstructor::classInfo):
              * kjs/PropertySlot.cpp:
              (KJS::PropertySlot::functionGetter):
              * kjs/RegExpObject.cpp:
              (KJS::regExpProtoFuncTest):
              (KJS::regExpProtoFuncExec):
              (KJS::regExpProtoFuncCompile):
              (KJS::regExpProtoFuncToString):
              (KJS::callRegExpObject):
              (KJS::RegExpObject::getCallData):
              (KJS::constructRegExp):
              (KJS::constructWithRegExpConstructor):
              (KJS::RegExpConstructor::getConstructData):
              (KJS::callRegExpConstructor):
              (KJS::RegExpConstructor::getCallData):
              * kjs/RegExpObject.h:
              (KJS::RegExpConstructor::classInfo):
              * kjs/Shell.cpp:
              (GlobalObject::GlobalObject):
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionReadline):
              (functionQuit):
              * kjs/date_object.cpp:
              (KJS::gmtoffset):
              (KJS::formatLocaleDate):
              (KJS::fillStructuresUsingDateArgs):
              (KJS::DateInstance::getTime):
              (KJS::DateInstance::getUTCTime):
              (KJS::DateConstructor::DateConstructor):
              (KJS::constructDate):
              (KJS::DateConstructor::getConstructData):
              (KJS::callDate):
              (KJS::DateConstructor::getCallData):
              (KJS::dateParse):
              (KJS::dateNow):
              (KJS::dateUTC):
              (KJS::dateProtoFuncToString):
              (KJS::dateProtoFuncToUTCString):
              (KJS::dateProtoFuncToDateString):
              (KJS::dateProtoFuncToTimeString):
              (KJS::dateProtoFuncToLocaleString):
              (KJS::dateProtoFuncToLocaleDateString):
              (KJS::dateProtoFuncToLocaleTimeString):
              (KJS::dateProtoFuncValueOf):
              (KJS::dateProtoFuncGetTime):
              (KJS::dateProtoFuncGetFullYear):
              (KJS::dateProtoFuncGetUTCFullYear):
              (KJS::dateProtoFuncToGMTString):
              (KJS::dateProtoFuncGetMonth):
              (KJS::dateProtoFuncGetUTCMonth):
              (KJS::dateProtoFuncGetDate):
              (KJS::dateProtoFuncGetUTCDate):
              (KJS::dateProtoFuncGetDay):
              (KJS::dateProtoFuncGetUTCDay):
              (KJS::dateProtoFuncGetHours):
              (KJS::dateProtoFuncGetUTCHours):
              (KJS::dateProtoFuncGetMinutes):
              (KJS::dateProtoFuncGetUTCMinutes):
              (KJS::dateProtoFuncGetSeconds):
              (KJS::dateProtoFuncGetUTCSeconds):
              (KJS::dateProtoFuncGetMilliSeconds):
              (KJS::dateProtoFuncGetUTCMilliseconds):
              (KJS::dateProtoFuncGetTimezoneOffset):
              (KJS::dateProtoFuncSetTime):
              (KJS::setNewValueFromTimeArgs):
              (KJS::setNewValueFromDateArgs):
              (KJS::dateProtoFuncSetMilliSeconds):
              (KJS::dateProtoFuncSetUTCMilliseconds):
              (KJS::dateProtoFuncSetSeconds):
              (KJS::dateProtoFuncSetUTCSeconds):
              (KJS::dateProtoFuncSetMinutes):
              (KJS::dateProtoFuncSetUTCMinutes):
              (KJS::dateProtoFuncSetHours):
              (KJS::dateProtoFuncSetUTCHours):
              (KJS::dateProtoFuncSetDate):
              (KJS::dateProtoFuncSetUTCDate):
              (KJS::dateProtoFuncSetMonth):
              (KJS::dateProtoFuncSetUTCMonth):
              (KJS::dateProtoFuncSetFullYear):
              (KJS::dateProtoFuncSetUTCFullYear):
              (KJS::dateProtoFuncSetYear):
              (KJS::dateProtoFuncGetYear):
              * kjs/date_object.h:
              (KJS::DateInstance::internalNumber):
              (KJS::DateInstance::classInfo):
              * kjs/error_object.cpp:
              (KJS::errorProtoFuncToString):
              (KJS::constructError):
              (KJS::constructWithErrorConstructor):
              (KJS::ErrorConstructor::getConstructData):
              (KJS::callErrorConstructor):
              (KJS::ErrorConstructor::getCallData):
              (KJS::NativeErrorConstructor::construct):
              (KJS::constructWithNativeErrorConstructor):
              (KJS::NativeErrorConstructor::getConstructData):
              (KJS::callNativeErrorConstructor):
              (KJS::NativeErrorConstructor::getCallData):
              * kjs/error_object.h:
              (KJS::NativeErrorConstructor::classInfo):
              * kjs/internal.cpp:
              (KJS::JSNumberCell::toObject):
              (KJS::JSNumberCell::toThisObject):
              (KJS::GetterSetter::mark):
              (KJS::GetterSetter::toPrimitive):
              (KJS::GetterSetter::toBoolean):
              (KJS::GetterSetter::toNumber):
              (KJS::GetterSetter::toString):
              (KJS::GetterSetter::toObject):
              (KJS::InternalFunction::InternalFunction):
              (KJS::InternalFunction::implementsHasInstance):
              * kjs/lookup.h:
              (KJS::HashEntry::):
              * kjs/nodes.cpp:
              (KJS::FuncDeclNode::makeFunction):
              (KJS::FuncExprNode::makeFunction):
              * kjs/object_object.cpp:
              (KJS::objectProtoFuncValueOf):
              (KJS::objectProtoFuncHasOwnProperty):
              (KJS::objectProtoFuncIsPrototypeOf):
              (KJS::objectProtoFuncDefineGetter):
              (KJS::objectProtoFuncDefineSetter):
              (KJS::objectProtoFuncLookupGetter):
              (KJS::objectProtoFuncLookupSetter):
              (KJS::objectProtoFuncPropertyIsEnumerable):
              (KJS::objectProtoFuncToLocaleString):
              (KJS::objectProtoFuncToString):
              (KJS::ObjectConstructor::ObjectConstructor):
              (KJS::constructObject):
              (KJS::constructWithObjectConstructor):
              (KJS::ObjectConstructor::getConstructData):
              (KJS::callObjectConstructor):
              (KJS::ObjectConstructor::getCallData):
              * kjs/object_object.h:
              * kjs/string_object.cpp:
              (KJS::replace):
              (KJS::stringProtoFuncToString):
              (KJS::stringProtoFuncValueOf):
              (KJS::stringProtoFuncCharAt):
              (KJS::stringProtoFuncCharCodeAt):
              (KJS::stringProtoFuncConcat):
              (KJS::stringProtoFuncIndexOf):
              (KJS::stringProtoFuncLastIndexOf):
              (KJS::stringProtoFuncMatch):
              (KJS::stringProtoFuncSearch):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncSlice):
              (KJS::stringProtoFuncSplit):
              (KJS::stringProtoFuncSubstr):
              (KJS::stringProtoFuncSubstring):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              (KJS::stringProtoFuncLocaleCompare):
              (KJS::stringProtoFuncBig):
              (KJS::stringProtoFuncSmall):
              (KJS::stringProtoFuncBlink):
              (KJS::stringProtoFuncBold):
              (KJS::stringProtoFuncFixed):
              (KJS::stringProtoFuncItalics):
              (KJS::stringProtoFuncStrike):
              (KJS::stringProtoFuncSub):
              (KJS::stringProtoFuncSup):
              (KJS::stringProtoFuncFontcolor):
              (KJS::stringProtoFuncFontsize):
              (KJS::stringProtoFuncAnchor):
              (KJS::stringProtoFuncLink):
              (KJS::stringFromCharCode):
              (KJS::StringConstructor::StringConstructor):
              (KJS::constructWithStringConstructor):
              (KJS::StringConstructor::getConstructData):
              (KJS::callStringConstructor):
              (KJS::StringConstructor::getCallData):
              * kjs/string_object.h:
      
      JavaScriptGlue:
      
      2008-06-23  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
              of the old callAsFunction.
      
      WebCore:
      
      2008-06-23  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              Update for JavaScript changes.
      
              - Use CallData and ConstructData instead of the obsolete implementsCall,
                callAsFunction, and construct functions.
      
              - Updated native function arguments, specifically to allow a JSValue
                rather than a JSObject for the this argument, and to call toThisObject
                as needed when treating it as an object.
      
              - Made some more class members private and protected, including virtual
                function overrides.
      
              - Eliminated the use of getCallData in the JavaScript bridging code as
                a way to check if an instance supports invokeDefaultMethod.
      
              - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
                classes. They were using virtual functions simply to share an instance
                of the RefCounted template, which was not helpful.
      
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::constructAudio):
              (WebCore::JSAudioConstructor::getConstructData):
              * bindings/js/JSAudioConstructor.h:
              (WebCore::JSAudioConstructor::document):
              (WebCore::JSAudioConstructor::classInfo):
              * bindings/js/JSClipboardCustom.cpp:
              (WebCore::JSClipboard::types):
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObject::DOMObject):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::windowProtoFuncAToB):
              (WebCore::windowProtoFuncBToA):
              (WebCore::windowProtoFuncOpen):
              (WebCore::windowProtoFuncSetTimeout):
              (WebCore::windowProtoFuncClearTimeout):
              (WebCore::windowProtoFuncSetInterval):
              (WebCore::windowProtoFuncAddEventListener):
              (WebCore::windowProtoFuncRemoveEventListener):
              (WebCore::windowProtoFuncShowModalDialog):
              (WebCore::windowProtoFuncNotImplemented):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::classInfo):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSEventTargetBase.cpp:
              (WebCore::retrieveEventTargetAndCorrespondingNode):
              (WebCore::jsEventTargetAddEventListener):
              (WebCore::jsEventTargetRemoveEventListener):
              (WebCore::jsEventTargetDispatchEvent):
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
              (WebCore::JSHTMLAppletElement::customPut):
              (WebCore::JSHTMLAppletElement::getCallData):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::getCallData):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::open):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
              (WebCore::JSHTMLEmbedElement::customPut):
              (WebCore::JSHTMLEmbedElement::getCallData):
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
              (WebCore::JSHTMLObjectElement::customPut):
              (WebCore::JSHTMLObjectElement::getCallData):
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              (WebCore::constructHTMLOptionElement):
              (WebCore::JSHTMLOptionElementConstructor::getConstructData):
              * bindings/js/JSHTMLOptionElementConstructor.h:
              (WebCore::JSHTMLOptionElementConstructor::document):
              (WebCore::JSHTMLOptionElementConstructor::classInfo):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::constructImage):
              (WebCore::JSImageConstructor::getConstructData):
              * bindings/js/JSImageConstructor.h:
              (WebCore::JSImageConstructor::document):
              (WebCore::JSImageConstructor::classInfo):
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::classInfo):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::mark):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              (WebCore::JSNodeList::getCallData):
              (WebCore::JSNodeList::canGetItemsForName):
              (WebCore::JSNodeList::nameGetter):
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::runtimeObjectGetter):
              (WebCore::runtimeObjectPropertyGetter):
              (WebCore::runtimeObjectCustomGetOwnPropertySlot):
              (WebCore::runtimeObjectCustomPut):
              (WebCore::runtimeObjectGetCallData):
              (WebCore::pluginInstance):
              (WebCore::getRuntimeObject):
              (WebCore::callPlugin):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::put):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::getConstructData):
              (WebCore::JSQuarantinedObjectWrapper::hasInstance):
              (WebCore::JSQuarantinedObjectWrapper::call):
              (WebCore::JSQuarantinedObjectWrapper::getCallData):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::className):
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.cpp:
              (WebCore::constructXMLHttpRequest):
              (WebCore::JSXMLHttpRequestConstructor::getConstructData):
              * bindings/js/JSXMLHttpRequestConstructor.h:
              (WebCore::JSXMLHttpRequestConstructor::document):
              (WebCore::JSXMLHttpRequestConstructor::classInfo):
              * bindings/js/JSXSLTProcessorConstructor.cpp:
              (WebCore::constructXSLTProcessor):
              (WebCore::JSXSLTProcessorConstructor::getConstructData):
              * bindings/js/JSXSLTProcessorConstructor.h:
              (WebCore::JSXSLTProcessorConstructor::classInfo):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::execute):
              * bindings/js/ScheduledAction.h:
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              * bridge/c/c_instance.cpp:
              (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
              * bridge/c/c_instance.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::supportsInvokeDefaultMethod):
              * bridge/objc/objc_runtime.h:
              (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
              (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
              * bridge/objc/objc_runtime.mm:
              (Bindings::webScriptObjectClass):
              (Bindings::webUndefinedClass):
              (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
              (callObjCFallbackObject):
              (ObjcFallbackObjectImp::getCallData):
              * bridge/qt/qt_instance.h:
              * bridge/runtime.cpp:
              (KJS::Bindings::Instance::createRuntimeObject):
              (KJS::Bindings::Instance::getInstance):
              * bridge/runtime.h:
              (KJS::Bindings::Field::~Field):
              (KJS::Bindings::Method::~Method):
              (KJS::Bindings::Class::~Class):
              (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
              * bridge/runtime_method.cpp:
              (KJS::callRuntimeMethod):
              (KJS::RuntimeMethod::getCallData):
              * bridge/runtime_method.h:
              (KJS::RuntimeMethod::methods):
              * bridge/runtime_object.cpp:
              (RuntimeObjectImp::defaultValue):
              (callRuntimeObject):
              (RuntimeObjectImp::getCallData):
              * bridge/runtime_object.h:
              (KJS::RuntimeObjectImp::getInternalInstance):
              (KJS::RuntimeObjectImp::classInfo):
              * dom/NodeIterator.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1edff436
  4. 19 Jun, 2008 1 commit
  5. 16 Jun, 2008 1 commit
  6. 15 Jun, 2008 5 commits
    • darin@apple.com's avatar
      JavaScriptCore: · 80d38f97
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - rename KJS::List to KJS::ArgList
      
              * API/JSCallbackConstructor.cpp:
              (KJS::JSCallbackConstructor::construct):
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              (KJS::JSCallbackFunction::callAsFunction):
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              (KJS::::construct):
              (KJS::::callAsFunction):
              * API/JSObjectRef.cpp:
              (JSObjectMakeFunction):
              (JSObjectCallAsFunction):
              (JSObjectCallAsConstructor):
              * JavaScriptCore.exp:
              * VM/Machine.cpp:
              (KJS::Machine::execute):
              (KJS::Machine::privateExecute):
              * VM/Machine.h:
              * kjs/ArrayPrototype.cpp:
              (KJS::arrayProtoFuncToString):
              (KJS::arrayProtoFuncToLocaleString):
              (KJS::arrayProtoFuncJoin):
              (KJS::arrayProtoFuncConcat):
              (KJS::arrayProtoFuncPop):
              (KJS::arrayProtoFuncPush):
              (KJS::arrayProtoFuncReverse):
              (KJS::arrayProtoFuncShift):
              (KJS::arrayProtoFuncSlice):
              (KJS::arrayProtoFuncSort):
              (KJS::arrayProtoFuncSplice):
              (KJS::arrayProtoFuncUnShift):
              (KJS::arrayProtoFuncFilter):
              (KJS::arrayProtoFuncMap):
              (KJS::arrayProtoFuncEvery):
              (KJS::arrayProtoFuncForEach):
              (KJS::arrayProtoFuncSome):
              (KJS::arrayProtoFuncIndexOf):
              (KJS::arrayProtoFuncLastIndexOf):
              (KJS::ArrayConstructor::construct):
              (KJS::ArrayConstructor::callAsFunction):
              * kjs/ArrayPrototype.h:
              * kjs/BooleanObject.cpp:
              (KJS::booleanProtoFuncToString):
              (KJS::booleanProtoFuncValueOf):
              (KJS::BooleanConstructor::construct):
              (KJS::BooleanConstructor::callAsFunction):
              * kjs/BooleanObject.h:
              * kjs/CommonIdentifiers.h:
              * kjs/ExecState.h:
              (KJS::ExecState::emptyList):
              * kjs/FunctionPrototype.cpp:
              (KJS::FunctionPrototype::callAsFunction):
              (KJS::functionProtoFuncToString):
              (KJS::functionProtoFuncApply):
              (KJS::functionProtoFuncCall):
              (KJS::FunctionConstructor::construct):
              (KJS::FunctionConstructor::callAsFunction):
              * kjs/FunctionPrototype.h:
              * kjs/JSActivation.cpp:
              (KJS::JSActivation::createArgumentsObject):
              * kjs/JSArray.cpp:
              (KJS::JSArray::JSArray):
              (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
              * kjs/JSArray.h:
              * kjs/JSFunction.cpp:
              (KJS::JSFunction::callAsFunction):
              (KJS::JSFunction::construct):
              (KJS::IndexToNameMap::IndexToNameMap):
              (KJS::Arguments::Arguments):
              (KJS::encode):
              (KJS::decode):
              (KJS::globalFuncEval):
              (KJS::globalFuncParseInt):
              (KJS::globalFuncParseFloat):
              (KJS::globalFuncIsNaN):
              (KJS::globalFuncIsFinite):
              (KJS::globalFuncDecodeURI):
              (KJS::globalFuncDecodeURIComponent):
              (KJS::globalFuncEncodeURI):
              (KJS::globalFuncEncodeURIComponent):
              (KJS::globalFuncEscape):
              (KJS::globalFuncUnescape):
              (KJS::globalFuncKJSPrint):
              (KJS::PrototypeFunction::callAsFunction):
              (KJS::PrototypeReflexiveFunction::callAsFunction):
              * kjs/JSFunction.h:
              * kjs/JSGlobalData.h:
              * kjs/JSImmediate.cpp:
              (KJS::JSImmediate::toObject):
              * kjs/JSNotAnObject.cpp:
              (KJS::JSNotAnObject::construct):
              (KJS::JSNotAnObject::callAsFunction):
              * kjs/JSNotAnObject.h:
              * kjs/JSObject.cpp:
              (KJS::JSObject::put):
              (KJS::JSObject::construct):
              (KJS::JSObject::callAsFunction):
              (KJS::Error::create):
              * kjs/JSObject.h:
              * kjs/MathObject.cpp:
              (KJS::mathProtoFuncAbs):
              (KJS::mathProtoFuncACos):
              (KJS::mathProtoFuncASin):
              (KJS::mathProtoFuncATan):
              (KJS::mathProtoFuncATan2):
              (KJS::mathProtoFuncCeil):
              (KJS::mathProtoFuncCos):
              (KJS::mathProtoFuncExp):
              (KJS::mathProtoFuncFloor):
              (KJS::mathProtoFuncLog):
              (KJS::mathProtoFuncMax):
              (KJS::mathProtoFuncMin):
              (KJS::mathProtoFuncPow):
              (KJS::mathProtoFuncRandom):
              (KJS::mathProtoFuncRound):
              (KJS::mathProtoFuncSin):
              (KJS::mathProtoFuncSqrt):
              (KJS::mathProtoFuncTan):
              * kjs/MathObject.h:
              * kjs/NumberObject.cpp:
              (KJS::numberProtoFuncToString):
              (KJS::numberProtoFuncToLocaleString):
              (KJS::numberProtoFuncValueOf):
              (KJS::numberProtoFuncToFixed):
              (KJS::numberProtoFuncToExponential):
              (KJS::numberProtoFuncToPrecision):
              (KJS::NumberConstructor::construct):
              (KJS::NumberConstructor::callAsFunction):
              * kjs/NumberObject.h:
              * kjs/RegExpObject.cpp:
              (KJS::regExpProtoFuncTest):
              (KJS::regExpProtoFuncExec):
              (KJS::regExpProtoFuncCompile):
              (KJS::regExpProtoFuncToString):
              (KJS::RegExpObject::match):
              (KJS::RegExpObject::test):
              (KJS::RegExpObject::exec):
              (KJS::RegExpObject::callAsFunction):
              (KJS::RegExpConstructor::construct):
              (KJS::RegExpConstructor::callAsFunction):
              * kjs/RegExpObject.h:
              * kjs/Shell.cpp:
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionReadline):
              (functionQuit):
              * kjs/collector.cpp:
              (KJS::Collector::collect):
              * kjs/collector.h:
              (KJS::Collector::markListSet):
              * kjs/date_object.cpp:
              (KJS::formatLocaleDate):
              (KJS::fillStructuresUsingTimeArgs):
              (KJS::fillStructuresUsingDateArgs):
              (KJS::DateConstructor::construct):
              (KJS::DateConstructor::callAsFunction):
              (KJS::DateFunction::callAsFunction):
              (KJS::dateProtoFuncToString):
              (KJS::dateProtoFuncToUTCString):
              (KJS::dateProtoFuncToDateString):
              (KJS::dateProtoFuncToTimeString):
              (KJS::dateProtoFuncToLocaleString):
              (KJS::dateProtoFuncToLocaleDateString):
              (KJS::dateProtoFuncToLocaleTimeString):
              (KJS::dateProtoFuncValueOf):
              (KJS::dateProtoFuncGetTime):
              (KJS::dateProtoFuncGetFullYear):
              (KJS::dateProtoFuncGetUTCFullYear):
              (KJS::dateProtoFuncToGMTString):
              (KJS::dateProtoFuncGetMonth):
              (KJS::dateProtoFuncGetUTCMonth):
              (KJS::dateProtoFuncGetDate):
              (KJS::dateProtoFuncGetUTCDate):
              (KJS::dateProtoFuncGetDay):
              (KJS::dateProtoFuncGetUTCDay):
              (KJS::dateProtoFuncGetHours):
              (KJS::dateProtoFuncGetUTCHours):
              (KJS::dateProtoFuncGetMinutes):
              (KJS::dateProtoFuncGetUTCMinutes):
              (KJS::dateProtoFuncGetSeconds):
              (KJS::dateProtoFuncGetUTCSeconds):
              (KJS::dateProtoFuncGetMilliSeconds):
              (KJS::dateProtoFuncGetUTCMilliseconds):
              (KJS::dateProtoFuncGetTimezoneOffset):
              (KJS::dateProtoFuncSetTime):
              (KJS::setNewValueFromTimeArgs):
              (KJS::setNewValueFromDateArgs):
              (KJS::dateProtoFuncSetMilliSeconds):
              (KJS::dateProtoFuncSetUTCMilliseconds):
              (KJS::dateProtoFuncSetSeconds):
              (KJS::dateProtoFuncSetUTCSeconds):
              (KJS::dateProtoFuncSetMinutes):
              (KJS::dateProtoFuncSetUTCMinutes):
              (KJS::dateProtoFuncSetHours):
              (KJS::dateProtoFuncSetUTCHours):
              (KJS::dateProtoFuncSetDate):
              (KJS::dateProtoFuncSetUTCDate):
              (KJS::dateProtoFuncSetMonth):
              (KJS::dateProtoFuncSetUTCMonth):
              (KJS::dateProtoFuncSetFullYear):
              (KJS::dateProtoFuncSetUTCFullYear):
              (KJS::dateProtoFuncSetYear):
              (KJS::dateProtoFuncGetYear):
              * kjs/date_object.h:
              * kjs/debugger.h:
              * kjs/error_object.cpp:
              (KJS::errorProtoFuncToString):
              (KJS::ErrorConstructor::construct):
              (KJS::ErrorConstructor::callAsFunction):
              (KJS::NativeErrorConstructor::construct):
              (KJS::NativeErrorConstructor::callAsFunction):
              * kjs/error_object.h:
              * kjs/internal.cpp:
              (KJS::JSNumberCell::toObject):
              (KJS::JSNumberCell::toThisObject):
              * kjs/list.cpp:
              (KJS::ArgList::getSlice):
              (KJS::ArgList::markLists):
              (KJS::ArgList::slowAppend):
              * kjs/list.h:
              (KJS::ArgList::ArgList):
              (KJS::ArgList::~ArgList):
              * kjs/object_object.cpp:
              (KJS::objectProtoFuncValueOf):
              (KJS::objectProtoFuncHasOwnProperty):
              (KJS::objectProtoFuncIsPrototypeOf):
              (KJS::objectProtoFuncDefineGetter):
              (KJS::objectProtoFuncDefineSetter):
              (KJS::objectProtoFuncLookupGetter):
              (KJS::objectProtoFuncLookupSetter):
              (KJS::objectProtoFuncPropertyIsEnumerable):
              (KJS::objectProtoFuncToLocaleString):
              (KJS::objectProtoFuncToString):
              (KJS::ObjectConstructor::construct):
              (KJS::ObjectConstructor::callAsFunction):
              * kjs/object_object.h:
              * kjs/string_object.cpp:
              (KJS::replace):
              (KJS::stringProtoFuncToString):
              (KJS::stringProtoFuncValueOf):
              (KJS::stringProtoFuncCharAt):
              (KJS::stringProtoFuncCharCodeAt):
              (KJS::stringProtoFuncConcat):
              (KJS::stringProtoFuncIndexOf):
              (KJS::stringProtoFuncLastIndexOf):
              (KJS::stringProtoFuncMatch):
              (KJS::stringProtoFuncSearch):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncSlice):
              (KJS::stringProtoFuncSplit):
              (KJS::stringProtoFuncSubstr):
              (KJS::stringProtoFuncSubstring):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              (KJS::stringProtoFuncLocaleCompare):
              (KJS::stringProtoFuncBig):
              (KJS::stringProtoFuncSmall):
              (KJS::stringProtoFuncBlink):
              (KJS::stringProtoFuncBold):
              (KJS::stringProtoFuncFixed):
              (KJS::stringProtoFuncItalics):
              (KJS::stringProtoFuncStrike):
              (KJS::stringProtoFuncSub):
              (KJS::stringProtoFuncSup):
              (KJS::stringProtoFuncFontcolor):
              (KJS::stringProtoFuncFontsize):
              (KJS::stringProtoFuncAnchor):
              (KJS::stringProtoFuncLink):
              (KJS::StringConstructor::construct):
              (KJS::StringConstructor::callAsFunction):
              (KJS::StringConstructorFunction::callAsFunction):
              * kjs/string_object.h:
      
      JavaScriptGlue:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - rename KJS::List to KJS::ArgList
      
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectCallFunction):
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              * UserObjectImp.h:
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - try to fix Qt build
      
              * dom/XMLTokenizer.cpp: Use create instead of new.
      
              - rename KJS::List to KJS::ArgList
      
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::construct):
              * bindings/js/JSAudioConstructor.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              * bindings/js/JSClipboardCustom.cpp:
              (WebCore::JSClipboard::types):
              (WebCore::JSClipboard::clearData):
              (WebCore::JSClipboard::getData):
              (WebCore::JSClipboard::setData):
              (WebCore::JSClipboard::setDragImage):
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::debug):
              (WebCore::JSConsole::error):
              (WebCore::JSConsole::info):
              (WebCore::JSConsole::log):
              (WebCore::JSConsole::warn):
              (WebCore::JSConsole::assertCondition):
              (WebCore::JSConsole::profile):
              (WebCore::JSConsole::profileEnd):
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              (WebCore::JSDOMApplicationCache::dispatchEvent):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::windowProtoFuncAToB):
              (WebCore::windowProtoFuncBToA):
              (WebCore::windowProtoFuncOpen):
              (WebCore::windowProtoFuncSetTimeout):
              (WebCore::windowProtoFuncClearTimeout):
              (WebCore::windowProtoFuncSetInterval):
              (WebCore::windowProtoFuncAddEventListener):
              (WebCore::windowProtoFuncRemoveEventListener):
              (WebCore::windowProtoFuncShowModalDialog):
              (WebCore::windowProtoFuncNotImplemented):
              (WebCore::JSDOMWindowBase::installTimeout):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::postMessage):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNode):
              (WebCore::JSElement::setAttributeNS):
              (WebCore::JSElement::setAttributeNodeNS):
              * bindings/js/JSEventTargetBase.cpp:
              (WebCore::jsEventTargetAddEventListener):
              (WebCore::jsEventTargetRemoveEventListener):
              (WebCore::jsEventTargetDispatchEvent):
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::callAsFunction):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::JSHTMLCollection::callAsFunction):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::open):
              (WebCore::writeHelper):
              (WebCore::JSHTMLDocument::write):
              (WebCore::JSHTMLDocument::writeln):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::callAsFunction):
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::callAsFunction):
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              (WebCore::JSHTMLOptionElementConstructor::construct):
              * bindings/js/JSHTMLOptionElementConstructor.h:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::add):
              (WebCore::JSHTMLOptionsCollection::remove):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::JSImageConstructor::construct):
              * bindings/js/JSImageConstructor.h:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::reload):
              (WebCore::JSLocation::assign):
              (WebCore::JSLocation::toString):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore):
              (WebCore::JSNode::replaceChild):
              (WebCore::JSNode::removeChild):
              (WebCore::JSNode::appendChild):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode):
              (WebCore::JSNodeIterator::previousNode):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::JSNodeList::callAsFunction):
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::multiply):
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::translate):
              (WebCore::JSSVGMatrix::scale):
              (WebCore::JSSVGMatrix::scaleNonUniform):
              (WebCore::JSSVGMatrix::rotate):
              (WebCore::JSSVGMatrix::rotateFromVector):
              (WebCore::JSSVGMatrix::flipX):
              (WebCore::JSSVGMatrix::flipY):
              (WebCore::JSSVGMatrix::skewX):
              (WebCore::JSSVGMatrix::skewY):
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::clear):
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              (WebCore::JSSVGPointList::clear):
              (WebCore::JSSVGPointList::initialize):
              (WebCore::JSSVGPointList::getItem):
              (WebCore::JSSVGPointList::insertItemBefore):
              (WebCore::JSSVGPointList::replaceItem):
              (WebCore::JSSVGPointList::removeItem):
              (WebCore::JSSVGPointList::appendItem):
              * bindings/js/JSSVGTransformListCustom.cpp:
              (WebCore::JSSVGTransformList::clear):
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::parentNode):
              (WebCore::JSTreeWalker::firstChild):
              (WebCore::JSTreeWalker::lastChild):
              (WebCore::JSTreeWalker::nextSibling):
              (WebCore::JSTreeWalker::previousSibling):
              (WebCore::JSTreeWalker::previousNode):
              (WebCore::JSTreeWalker::nextNode):
              * bindings/js/JSXMLHttpRequestConstructor.cpp:
              (WebCore::JSXMLHttpRequestConstructor::construct):
              * bindings/js/JSXMLHttpRequestConstructor.h:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::open):
              (WebCore::JSXMLHttpRequest::setRequestHeader):
              (WebCore::JSXMLHttpRequest::send):
              (WebCore::JSXMLHttpRequest::getResponseHeader):
              (WebCore::JSXMLHttpRequest::overrideMimeType):
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              (WebCore::JSXMLHttpRequest::dispatchEvent):
              * bindings/js/JSXSLTProcessorConstructor.cpp:
              (WebCore::JSXSLTProcessorConstructor::construct):
              * bindings/js/JSXSLTProcessorConstructor.h:
              * bindings/js/JSXSLTProcessorCustom.cpp:
              (WebCore::JSXSLTProcessor::importStylesheet):
              (WebCore::JSXSLTProcessor::transformToFragment):
              (WebCore::JSXSLTProcessor::transformToDocument):
              (WebCore::JSXSLTProcessor::setParameter):
              (WebCore::JSXSLTProcessor::getParameter):
              (WebCore::JSXSLTProcessor::removeParameter):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::execute):
              * bindings/js/ScheduledAction.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/kjs_html.cpp:
              (WebCore::runtimeObjectCallAsFunction):
              * bindings/js/kjs_html.h:
              * bindings/objc/WebScriptObject.mm:
              (getListFromNSArray):
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              (getListFromVariantArgs):
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              * bridge/c/c_instance.cpp:
              (KJS::Bindings::CInstance::invokeMethod):
              (KJS::Bindings::CInstance::invokeDefaultMethod):
              * bridge/c/c_instance.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::getListFromJArray):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::callAsFunction):
              * bridge/qt/qt_instance.cpp:
              (KJS::Bindings::QtRuntimeObjectImp::construct):
              (KJS::Bindings::QtInstance::invokeMethod):
              (KJS::Bindings::QtInstance::invokeDefaultMethod):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (KJS::Bindings::convertQVariantToValue):
              (KJS::Bindings::findMethodIndex):
              (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction):
              (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
              (KJS::Bindings::QtConnectionObject::execute):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.h:
              (KJS::Bindings::Instance::invokeDefaultMethod):
              * bridge/runtime_method.cpp:
              (RuntimeMethod::callAsFunction):
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              (RuntimeObjectImp::callAsFunction):
              * bridge/runtime_object.h:
              * page/Console.cpp:
              (WebCore::printToStandardOut):
              (WebCore::Console::debug):
              (WebCore::Console::error):
              (WebCore::Console::info):
              (WebCore::Console::log):
              (WebCore::Console::assertCondition):
              (WebCore::Console::profile):
              (WebCore::Console::profileEnd):
              (WebCore::Console::warn):
              * page/Console.h:
              * page/InspectorController.cpp:
              (WebCore::ConsoleMessage::ConsoleMessage):
              (WebCore::InspectorController::addMessageToConsole):
              * page/InspectorController.h:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - rename KJS::List to KJS::ArgList
      
              * WebView/WebScriptDebugger.h:
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - rename KJS::List to KJS::ArgList
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80d38f97
    • darin@apple.com's avatar
      JavaScriptCore: · 5c0863d0
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for more JavaScriptCore files
      
              * API/JSCallbackFunction.cpp:
              * API/JSObjectRef.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/Machine.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/ArrayPrototype.cpp: Copied from JavaScriptCore/kjs/array_object.cpp.
              * kjs/ArrayPrototype.h: Copied from JavaScriptCore/kjs/array_object.h.
              * kjs/BooleanObject.cpp: Copied from JavaScriptCore/kjs/bool_object.cpp.
              * kjs/BooleanObject.h: Copied from JavaScriptCore/kjs/bool_object.h.
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionPrototype.cpp: Copied from JavaScriptCore/kjs/function_object.cpp.
              * kjs/FunctionPrototype.h: Copied from JavaScriptCore/kjs/function_object.h.
              * kjs/JSArray.cpp: Copied from JavaScriptCore/kjs/array_instance.cpp.
              * kjs/JSArray.h: Copied from JavaScriptCore/kjs/array_instance.h.
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSImmediate.cpp:
              * kjs/JSObject.h:
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.cpp:
              * kjs/MathObject.cpp: Copied from JavaScriptCore/kjs/math_object.cpp.
              * kjs/MathObject.h: Copied from JavaScriptCore/kjs/math_object.h.
              * kjs/NumberObject.cpp: Copied from JavaScriptCore/kjs/number_object.cpp.
              * kjs/NumberObject.h: Copied from JavaScriptCore/kjs/number_object.h.
              * kjs/PropertyMap.cpp: Copied from JavaScriptCore/kjs/property_map.cpp.
              * kjs/PropertyMap.h: Copied from JavaScriptCore/kjs/property_map.h.
              * kjs/PropertySlot.cpp: Copied from JavaScriptCore/kjs/property_slot.cpp.
              * kjs/PropertySlot.h: Copied from JavaScriptCore/kjs/property_slot.h.
              * kjs/RegExpObject.cpp: Copied from JavaScriptCore/kjs/regexp_object.cpp.
              * kjs/RegExpObject.h: Copied from JavaScriptCore/kjs/regexp_object.h.
              * kjs/ScopeChain.cpp: Copied from JavaScriptCore/kjs/scope_chain.cpp.
              * kjs/ScopeChain.h: Copied from JavaScriptCore/kjs/scope_chain.h.
              * kjs/ScopeChainMark.h: Copied from JavaScriptCore/kjs/scope_chain_mark.h.
              * kjs/Shell.cpp:
              * kjs/array_instance.cpp: Removed.
              * kjs/array_instance.h: Removed.
              * kjs/array_object.cpp: Removed.
              * kjs/array_object.h: Removed.
              * kjs/bool_object.cpp: Removed.
              * kjs/bool_object.h: Removed.
              * kjs/error_object.h:
              * kjs/function_object.cpp: Removed.
              * kjs/function_object.h: Removed.
              * kjs/internal.cpp:
              * kjs/math_object.cpp: Removed.
              * kjs/math_object.h: Removed.
              * kjs/nodes.cpp:
              * kjs/number_object.cpp: Removed.
              * kjs/number_object.h: Removed.
              * kjs/object_object.cpp:
              * kjs/property_map.cpp: Removed.
              * kjs/property_map.h: Removed.
              * kjs/property_slot.cpp: Removed.
              * kjs/property_slot.h: Removed.
              * kjs/regexp_object.cpp: Removed.
              * kjs/regexp_object.h: Removed.
              * kjs/scope_chain.cpp: Removed.
              * kjs/scope_chain.h: Removed.
              * kjs/scope_chain_mark.h: Removed.
              * kjs/string_object.cpp:
              * kjs/string_object.h:
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for more JavaScriptCore files
      
              * ForwardingHeaders/kjs/ArrayPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/array_object.h.
              * ForwardingHeaders/kjs/BooleanObject.h: Copied from WebCore/ForwardingHeaders/kjs/bool_object.h.
              * ForwardingHeaders/kjs/FunctionPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/function_object.h.
              * ForwardingHeaders/kjs/JSArray.h: Copied from WebCore/ForwardingHeaders/kjs/array_instance.h.
              * ForwardingHeaders/kjs/PropertyMap.h: Copied from WebCore/ForwardingHeaders/kjs/property_map.h.
              * ForwardingHeaders/kjs/array_instance.h: Removed.
              * ForwardingHeaders/kjs/array_object.h: Removed.
              * ForwardingHeaders/kjs/bool_object.h: Removed.
              * ForwardingHeaders/kjs/function_object.h: Removed.
              * ForwardingHeaders/kjs/property_map.h: Removed.
              * WebCore.vcproj/WebCore.vcproj:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/kjs_events.cpp:
              * bridge/jni/jni_utility.cpp:
              * bridge/qt/qt_runtime.cpp:
              * bridge/runtime_array.cpp:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for more JavaScriptCore files
      
              * WebView/WebView.mm:
      
      WebKit/qt:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for more JavaScriptCore files
      
              * WebKit_pch.h:
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-file-rename: Updated.
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c0863d0
    • darin@apple.com's avatar
      JavaScriptCore: · 3dcb636f
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSClassRef.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSStringRef.cpp:
              * API/JSStringRefCF.cpp:
              * API/JSValueRef.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/CodeBlock.cpp:
              * VM/CodeGenerator.cpp:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/ExecState.cpp:
              * kjs/JSActivation.cpp:
              * kjs/JSFunction.cpp: Copied from JavaScriptCore/kjs/function.cpp.
              * kjs/JSFunction.h: Copied from JavaScriptCore/kjs/function.h.
              * kjs/JSImmediate.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSObject.cpp: Copied from JavaScriptCore/kjs/object.cpp.
              * kjs/JSObject.h: Copied from JavaScriptCore/kjs/object.h.
              * kjs/JSString.h: Copied from JavaScriptCore/kjs/internal.h.
              * kjs/JSValue.cpp: Copied from JavaScriptCore/kjs/value.cpp.
              * kjs/JSValue.h: Copied from JavaScriptCore/kjs/value.h.
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/Shell.cpp:
              * kjs/SymbolTable.h:
              * kjs/array_instance.h:
              * kjs/collector.cpp:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              * kjs/function.cpp: Removed.
              * kjs/function.h: Removed.
              * kjs/function_object.cpp:
              * kjs/function_object.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h: Removed.
              * kjs/lexer.cpp:
              * kjs/list.h:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/object.cpp: Removed.
              * kjs/object.h: Removed.
              * kjs/object_object.h:
              * kjs/operations.cpp:
              * kjs/property_map.cpp:
              * kjs/property_slot.cpp:
              * kjs/property_slot.h:
              * kjs/protect.h:
              * kjs/regexp_object.cpp:
              * kjs/scope_chain.cpp:
              * kjs/string_object.h:
              * kjs/ustring.cpp:
              * kjs/value.cpp: Removed.
              * kjs/value.h: Removed.
              * profiler/Profile.cpp:
              * profiler/Profiler.cpp:
      
      JavaScriptGlue:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
              * ForwardingHeaders/kjs/value.h: Removed.
              * JSUtils.h:
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * ForwardingHeaders/kjs/JSFunction.h: Copied from WebCore/ForwardingHeaders/kjs/function.h.
              * ForwardingHeaders/kjs/JSObject.h: Copied from WebCore/ForwardingHeaders/kjs/object.h.
              * ForwardingHeaders/kjs/JSString.h: Copied from WebCore/ForwardingHeaders/kjs/internal.h.
              * ForwardingHeaders/kjs/JSValue.h: Copied from WebCore/ForwardingHeaders/kjs/value.h.
              * ForwardingHeaders/kjs/function.h: Removed.
              * ForwardingHeaders/kjs/internal.h: Removed.
              * ForwardingHeaders/kjs/object.h: Removed.
              * ForwardingHeaders/kjs/value.h: Removed.
              * WebCore.vcproj/WebCore.vcproj:
              * bindings/js/JSCustomSQLStatementCallback.h:
              * bindings/js/JSCustomSQLStatementErrorCallback.h:
              * bindings/js/JSCustomSQLTransactionErrorCallback.h:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_utility.h:
              * bridge/qt/qt_runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.h:
              * bridge/runtime_method.h:
              * bridge/runtime_object.h:
              * bridge/testbindings.cpp:
              * bridge/testbindings.mm:
              * bridge/testqtbindings.cpp:
              * loader/FrameLoader.cpp:
              * page/JavaScriptCallFrame.cpp:
              * page/JavaScriptProfile.cpp:
              * page/JavaScriptProfileNode.cpp:
              * platform/graphics/gtk/VideoSinkGStreamer.h:
              * plugins/PluginView.cpp:
              * plugins/gtk/PluginViewGtk.cpp:
              * plugins/qt/PluginViewQt.cpp:
              * plugins/win/PluginViewWin.cpp:
      
      WebKit/gtk:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * WebCoreSupport/ContextMenuClientGtk.cpp:
              * webkit/webkitnetworkrequest.h:
              * webkit/webkitwebbackforwardlist.h:
              * webkit/webkitwebframe.h:
              * webkit/webkitwebhistoryitem.h:
              * webkit/webkitwebsettings.h:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
              * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
              * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
              * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
              * ForwardingHeaders/kjs/function.h: Removed.
              * ForwardingHeaders/kjs/internal.h: Removed.
              * ForwardingHeaders/kjs/object.h: Removed.
              * ForwardingHeaders/kjs/value.h: Removed.
              * WebView/WebScriptDebugDelegate.mm:
      
      WebKit/qt:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * Api/qwebframe.cpp:
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * WebView.cpp:
      
      WebKit/wx:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * WebView.cpp:
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-file-rename: Updated for the latest round of renaming.
              * Scripts/do-webcore-rename: Tweaked and reorganized a bit.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dcb636f
    • darin@apple.com's avatar
      JavaScriptCore: · 6de4edca
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - cut down on confusing uses of "Object" and "Imp" in
                JavaScriptCore class names
      
              * API/JSCallbackFunction.cpp:
              (KJS::JSCallbackFunction::JSCallbackFunction):
              * API/JSCallbackFunction.h:
              * VM/Machine.cpp:
              (KJS::Machine::privateExecute):
              * kjs/ExecState.h:
              (KJS::ExecState::regExpTable):
              (KJS::ExecState::regExpConstructorTable):
              * kjs/JSGlobalData.cpp:
              (KJS::JSGlobalData::JSGlobalData):
              (KJS::JSGlobalData::~JSGlobalData):
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::objectConstructor):
              (KJS::JSGlobalObject::functionConstructor):
              (KJS::JSGlobalObject::arrayConstructor):
              (KJS::JSGlobalObject::booleanConstructor):
              (KJS::JSGlobalObject::stringConstructor):
              (KJS::JSGlobalObject::numberConstructor):
              (KJS::JSGlobalObject::dateConstructor):
              (KJS::JSGlobalObject::regExpConstructor):
              (KJS::JSGlobalObject::errorConstructor):
              (KJS::JSGlobalObject::evalErrorConstructor):
              (KJS::JSGlobalObject::rangeErrorConstructor):
              (KJS::JSGlobalObject::referenceErrorConstructor):
              (KJS::JSGlobalObject::syntaxErrorConstructor):
              (KJS::JSGlobalObject::typeErrorConstructor):
              (KJS::JSGlobalObject::URIErrorConstructor):
              * kjs/array_object.cpp:
              (KJS::ArrayConstructor::ArrayConstructor):
              (KJS::ArrayConstructor::getConstructData):
              (KJS::ArrayConstructor::construct):
              (KJS::ArrayConstructor::callAsFunction):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (KJS::BooleanObject::BooleanObject):
              (KJS::BooleanPrototype::BooleanPrototype):
              (KJS::booleanProtoFuncToString):
              (KJS::booleanProtoFuncValueOf):
              (KJS::BooleanConstructor::BooleanConstructor):
              (KJS::BooleanConstructor::getConstructData):
              (KJS::BooleanConstructor::construct):
              (KJS::BooleanConstructor::callAsFunction):
              * kjs/bool_object.h:
              * kjs/date_object.cpp:
              (KJS::DatePrototype::DatePrototype):
              (KJS::DateConstructor::DateConstructor):
              (KJS::DateConstructor::getConstructData):
              (KJS::DateConstructor::construct):
              (KJS::DateConstructor::callAsFunction):
              (KJS::DateFunction::DateFunction):
              (KJS::DateFunction::callAsFunction):
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              (KJS::ErrorPrototype::ErrorPrototype):
              (KJS::ErrorConstructor::ErrorConstructor):
              (KJS::ErrorConstructor::getConstructData):
              (KJS::ErrorConstructor::construct):
              (KJS::ErrorConstructor::callAsFunction):
              (KJS::NativeErrorConstructor::NativeErrorConstructor):
              (KJS::NativeErrorConstructor::getConstructData):
              (KJS::NativeErrorConstructor::construct):
              (KJS::NativeErrorConstructor::callAsFunction):
              (KJS::NativeErrorConstructor::mark):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::JSFunction::JSFunction):
              (KJS::JSFunction::mark):
              (KJS::JSFunction::getOwnPropertySlot):
              (KJS::JSFunction::put):
              (KJS::JSFunction::deleteProperty):
              (KJS::PrototypeFunction::PrototypeFunction):
              (KJS::PrototypeReflexiveFunction::PrototypeReflexiveFunction):
              (KJS::PrototypeReflexiveFunction::mark):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncToString):
              (KJS::FunctionConstructor::FunctionConstructor):
              (KJS::FunctionConstructor::getConstructData):
              (KJS::FunctionConstructor::construct):
              (KJS::FunctionConstructor::callAsFunction):
              * kjs/function_object.h:
              * kjs/internal.cpp:
              (KJS::StringObject::create):
              (KJS::JSString::toObject):
              (KJS::JSString::toThisObject):
              (KJS::JSString::getOwnPropertySlot):
              (KJS::InternalFunction::InternalFunction):
              (KJS::InternalFunction::getCallData):
              (KJS::InternalFunction::implementsHasInstance):
              * kjs/math_object.cpp:
              (KJS::MathObject::MathObject):
              (KJS::MathObject::getOwnPropertySlot):
              (KJS::MathObject::getValueProperty):
              * kjs/math_object.h:
              * kjs/number_object.cpp:
              (KJS::NumberObject::NumberObject):
              (KJS::NumberPrototype::NumberPrototype):
              (KJS::numberProtoFuncToString):
              (KJS::numberProtoFuncToLocaleString):
              (KJS::numberProtoFuncValueOf):
              (KJS::numberProtoFuncToFixed):
              (KJS::numberProtoFuncToExponential):
              (KJS::numberProtoFuncToPrecision):
              (KJS::NumberConstructor::NumberConstructor):
              (KJS::NumberConstructor::getOwnPropertySlot):
              (KJS::NumberConstructor::getValueProperty):
              (KJS::NumberConstructor::getConstructData):
              (KJS::NumberConstructor::construct):
              (KJS::NumberConstructor::callAsFunction):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::JSObject::putDirectFunction):
              * kjs/object.h:
              * kjs/object_object.cpp:
              (KJS::ObjectConstructor::ObjectConstructor):
              (KJS::ObjectConstructor::getConstructData):
              (KJS::ObjectConstructor::construct):
              (KJS::ObjectConstructor::callAsFunction):
              * kjs/object_object.h:
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp):
              * kjs/regexp_object.cpp:
              (KJS::regExpProtoFuncTest):
              (KJS::regExpProtoFuncExec):
              (KJS::regExpProtoFuncCompile):
              (KJS::regExpProtoFuncToString):
              (KJS::RegExpObject::RegExpObject):
              (KJS::RegExpObject::~RegExpObject):
              (KJS::RegExpObject::getOwnPropertySlot):
              (KJS::RegExpObject::getValueProperty):
              (KJS::RegExpObject::put):
              (KJS::RegExpObject::putValueProperty):
              (KJS::RegExpObject::match):
              (KJS::RegExpObject::test):
              (KJS::RegExpObject::exec):
              (KJS::RegExpObject::getCallData):
              (KJS::RegExpObject::callAsFunction):
              (KJS::RegExpConstructorPrivate::RegExpConstructorPrivate):
              (KJS::RegExpConstructor::RegExpConstructor):
              (KJS::RegExpConstructor::performMatch):
              (KJS::RegExpMatchesArray::RegExpMatchesArray):
              (KJS::RegExpMatchesArray::~RegExpMatchesArray):
              (KJS::RegExpMatchesArray::fillArrayInstance):
              (KJS::RegExpConstructor::arrayOfMatches):
              (KJS::RegExpConstructor::getBackref):
              (KJS::RegExpConstructor::getLastParen):
              (KJS::RegExpConstructor::getLeftContext):
              (KJS::RegExpConstructor::getRightContext):
              (KJS::RegExpConstructor::getOwnPropertySlot):
              (KJS::RegExpConstructor::getValueProperty):
              (KJS::RegExpConstructor::put):
              (KJS::RegExpConstructor::putValueProperty):
              (KJS::RegExpConstructor::getConstructData):
              (KJS::RegExpConstructor::construct):
              (KJS::RegExpConstructor::callAsFunction):
              (KJS::RegExpConstructor::input):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (KJS::StringObject::StringObject):
              (KJS::StringObject::getOwnPropertySlot):
              (KJS::StringObject::put):
              (KJS::StringObject::deleteProperty):
              (KJS::StringObject::getPropertyNames):
              (KJS::StringPrototype::StringPrototype):
              (KJS::StringPrototype::getOwnPropertySlot):
              (KJS::replace):
              (KJS::stringProtoFuncToString):
              (KJS::stringProtoFuncValueOf):
              (KJS::stringProtoFuncCharAt):
              (KJS::stringProtoFuncCharCodeAt):
              (KJS::stringProtoFuncConcat):
              (KJS::stringProtoFuncIndexOf):
              (KJS::stringProtoFuncLastIndexOf):
              (KJS::stringProtoFuncMatch):
              (KJS::stringProtoFuncSearch):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncSlice):
              (KJS::stringProtoFuncSplit):
              (KJS::stringProtoFuncSubstr):
              (KJS::stringProtoFuncSubstring):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              (KJS::stringProtoFuncLocaleCompare):
              (KJS::stringProtoFuncBig):
              (KJS::stringProtoFuncSmall):
              (KJS::stringProtoFuncBlink):
              (KJS::stringProtoFuncBold):
              (KJS::stringProtoFuncFixed):
              (KJS::stringProtoFuncItalics):
              (KJS::stringProtoFuncStrike):
              (KJS::stringProtoFuncSub):
              (KJS::stringProtoFuncSup):
              (KJS::stringProtoFuncFontcolor):
              (KJS::stringProtoFuncFontsize):
              (KJS::stringProtoFuncAnchor):
              (KJS::stringProtoFuncLink):
              (KJS::StringConstructor::StringConstructor):
              (KJS::StringConstructor::getConstructData):
              (KJS::StringConstructor::construct):
              (KJS::StringConstructor::callAsFunction):
              (KJS::StringConstructorFunction::StringConstructorFunction):
              (KJS::StringConstructorFunction::callAsFunction):
              * kjs/string_object.h:
              (KJS::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
              * profiler/Profiler.cpp:
              (KJS::createCallIdentifier):
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - cut down on confusing uses of "Object" and "Imp" in
                JavaScriptCore class names
      
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              * bridge/qt/qt_runtime.cpp:
              (KJS::Bindings::valueRealType):
              (KJS::Bindings::convertValueToQVariant):
              (KJS::Bindings::convertQVariantToValue):
              (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime_method.cpp:
              (RuntimeMethod::RuntimeMethod):
              (RuntimeMethod::getOwnPropertySlot):
              * bridge/runtime_method.h:
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/create-exports: Added.
              * Scripts/do-file-rename: Added some planned renames.
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6de4edca
    • darin@apple.com's avatar
      JavaScriptCore: · 980c614d
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * JavaScriptCore.exp:
              * VM/Machine.cpp:
              (KJS::jsLess):
              (KJS::jsLessEq):
              (KJS::jsAdd):
              (KJS::callEval):
              (KJS::Machine::execute):
              (KJS::Machine::retrieveArguments):
              (KJS::Machine::retrieveCaller):
              (KJS::Machine::getCallFrame):
              (KJS::Machine::getFunctionAndArguments):
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/DebuggerCallFrame.cpp:
              (KJS::DebuggerCallFrame::functionName):
              * kjs/ExecState.h:
              * kjs/JSActivation.cpp:
              (KJS::JSActivation::createArgumentsObject):
              * kjs/array_instance.cpp:
              (KJS::):
              (KJS::JSArray::checkConsistency):
              (KJS::JSArray::JSArray):
              (KJS::JSArray::~JSArray):
              (KJS::JSArray::getItem):
              (KJS::JSArray::lengthGetter):
              (KJS::JSArray::inlineGetOwnPropertySlot):
              (KJS::JSArray::getOwnPropertySlot):
              (KJS::JSArray::put):
              (KJS::JSArray::deleteProperty):
              (KJS::JSArray::getPropertyNames):
              (KJS::JSArray::increaseVectorLength):
              (KJS::JSArray::setLength):
              (KJS::JSArray::mark):
              (KJS::JSArray::sort):
              (KJS::JSArray::compactForSorting):
              (KJS::JSArray::lazyCreationData):
              (KJS::JSArray::setLazyCreationData):
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (KJS::):
              (KJS::ArrayPrototype::ArrayPrototype):
              (KJS::ArrayPrototype::getOwnPropertySlot):
              (KJS::arrayProtoFuncToString):
              (KJS::arrayProtoFuncToLocaleString):
              (KJS::arrayProtoFuncConcat):
              (KJS::arrayProtoFuncSort):
              (KJS::ArrayObjectImp::construct):
              * kjs/array_object.h:
              * kjs/completion.h:
              * kjs/function.cpp:
              (KJS::):
              (KJS::JSFunction::JSFunction):
              (KJS::JSFunction::mark):
              (KJS::JSFunction::getCallData):
              (KJS::JSFunction::callAsFunction):
              (KJS::JSFunction::argumentsGetter):
              (KJS::JSFunction::callerGetter):
              (KJS::JSFunction::lengthGetter):
              (KJS::JSFunction::getOwnPropertySlot):
              (KJS::JSFunction::put):
              (KJS::JSFunction::deleteProperty):
              (KJS::JSFunction::getParameterName):
              (KJS::JSFunction::getConstructData):
              (KJS::JSFunction::construct):
              (KJS::IndexToNameMap::IndexToNameMap):
              (KJS::Arguments::Arguments):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncToString):
              (KJS::functionProtoFuncApply):
              (KJS::FunctionObjectImp::construct):
              * kjs/internal.cpp:
              (KJS::JSString::toPrimitive):
              (KJS::JSString::getPrimitiveNumber):
              (KJS::JSString::toBoolean):
              (KJS::JSString::toNumber):
              (KJS::JSString::toString):
              (KJS::StringInstance::create):
              (KJS::JSString::toObject):
              (KJS::JSString::toThisObject):
              (KJS::JSString::lengthGetter):
              (KJS::JSString::indexGetter):
              (KJS::JSString::indexNumericPropertyGetter):
              (KJS::JSString::getOwnPropertySlot):
              (KJS::JSNumberCell::type):
              (KJS::JSNumberCell::toPrimitive):
              (KJS::JSNumberCell::getPrimitiveNumber):
              (KJS::JSNumberCell::toBoolean):
              (KJS::JSNumberCell::toNumber):
              (KJS::JSNumberCell::toString):
              (KJS::JSNumberCell::toObject):
              (KJS::JSNumberCell::toThisObject):
              (KJS::JSNumberCell::getUInt32):
              (KJS::JSNumberCell::getTruncatedInt32):
              (KJS::JSNumberCell::getTruncatedUInt32):
              (KJS::GetterSetter::mark):
              (KJS::GetterSetter::toPrimitive):
              (KJS::GetterSetter::getPrimitiveNumber):
              (KJS::GetterSetter::toBoolean):
              (KJS::GetterSetter::toNumber):
              (KJS::GetterSetter::toString):
              (KJS::GetterSetter::toObject):
              (KJS::GetterSetter::getOwnPropertySlot):
              (KJS::GetterSetter::put):
              (KJS::GetterSetter::toThisObject):
              * kjs/internal.h:
              (KJS::JSString::JSString):
              (KJS::JSString::getStringPropertySlot):
              * kjs/nodes.cpp:
              (KJS::FuncDeclNode::makeFunction):
              (KJS::FuncExprNode::makeFunction):
              * kjs/nodes.h:
              * kjs/object.cpp:
              (KJS::JSObject::put):
              (KJS::JSObject::deleteProperty):
              (KJS::JSObject::defineGetter):
              (KJS::JSObject::defineSetter):
              (KJS::JSObject::lookupGetter):
              (KJS::JSObject::lookupSetter):
              (KJS::JSObject::fillGetterPropertySlot):
              * kjs/object.h:
              (KJS::):
              (KJS::GetterSetter::GetterSetter):
              * kjs/operations.cpp:
              (KJS::equal):
              (KJS::strictEqual):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::containsGettersOrSetters):
              * kjs/regexp_object.cpp:
              (KJS::RegExpMatchesArray::getOwnPropertySlot):
              (KJS::RegExpMatchesArray::put):
              (KJS::RegExpMatchesArray::deleteProperty):
              (KJS::RegExpMatchesArray::getPropertyNames):
              (KJS::RegExpMatchesArray::RegExpMatchesArray):
              (KJS::RegExpMatchesArray::fillArrayInstance):
              * kjs/string_object.cpp:
              (KJS::StringInstance::StringInstance):
              (KJS::replace):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              * kjs/string_object.h:
              (KJS::StringInstance::internalValue):
              * kjs/value.cpp:
              (KJS::JSCell::getNumber):
              (KJS::JSCell::getString):
              (KJS::JSCell::getObject):
              (KJS::jsString):
              (KJS::jsOwnedString):
              * kjs/value.h:
              (KJS::JSNumberCell::JSNumberCell):
              (KJS::jsNumberCell):
              (KJS::JSValue::uncheckedGetNumber):
              * profiler/Profiler.cpp:
              (KJS::createCallIdentifier):
              (KJS::createCallIdentifierFromFunctionImp):
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              * bindings/js/kjs_events.cpp:
              (WebCore::JSLazyEventListener::parseCode):
              * bridge/jni/jni_utility.cpp:
              (KJS::Bindings::convertArrayInstanceToJavaArray):
              (KJS::Bindings::convertValueToJValue):
              * bridge/qt/qt_runtime.cpp:
              (KJS::Bindings::valueRealType):
              (KJS::Bindings::convertValueToQVariant):
              (KJS::Bindings::QtConnectionObject::execute):
              * bridge/runtime_array.cpp:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * WebView/WebView.mm:
              (aeDescFromJSValue):
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::functionName):
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      980c614d
  7. 07 Jun, 2008 1 commit
    • ap@webkit.org's avatar
      Reviewed by Darin. · 5b30cfc2
      ap@webkit.org authored
              Combine per-thread objects into one, to make it easier to support legacy clients (for
              which they shouldn't be really per-thread).
      
              No change on SunSpider total.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Added JSGlobalData.{h,cpp}
      
              * kjs/JSGlobalData.cpp: Added.
              (KJS::JSGlobalData::JSGlobalData):
              (KJS::JSGlobalData::~JSGlobalData):
              (KJS::JSGlobalData::threadInstance):
              * kjs/JSGlobalData.h: Added.
              This class encapsulates all data that should be per-thread (or shared between legacy clients).
              It will also keep a Heap pointer, but right now, Heap (Collector) methods are all static.
      
              * kjs/identifier.h:
              (KJS::Identifier::Identifier):
              Added a constructor explicitly taking JSGlobalData to access IdentifierTable. Actually,
              all of them should, but this will be a separate patch.
      
              * kjs/identifier.cpp:
              (KJS::IdentifierTable::literalTable):
              (KJS::createIdentifierTable):
              (KJS::deleteIdentifierTable):
              (KJS::Identifier::add):
              (KJS::Identifier::addSlowCase):
              Combined IdentifierTable and LiteralIdentifierTable into a single class for simplicity.
      
              * kjs/grammar.y: kjsyyparse now takes JSGlobalData, not just a Lexer.
      
              * kjs/nodes.cpp:
              (KJS::Node::Node):
              (KJS::EvalFunctionCallNode::emitCode):
              (KJS::ScopeNode::ScopeNode):
              Changed to access Lexer and Parser via JSGlobalData::threadInstance(). This is also a
              temporary measure, they will need to use JSGlobalData explicitly.
      
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::CodeGenerator):
              * VM/CodeGenerator.h:
              * VM/Machine.cpp:
              (KJS::callEval):
              * kjs/CommonIdentifiers.cpp:
              (KJS::CommonIdentifiers::CommonIdentifiers):
              * kjs/CommonIdentifiers.h:
              * kjs/DebuggerCallFrame.cpp:
              (KJS::DebuggerCallFrame::evaluate):
              * kjs/ExecState.cpp:
              (KJS::ExecState::ExecState):
              * kjs/ExecState.h:
              (KJS::ExecState::globalData):
              (KJS::ExecState::identifierTable):
              (KJS::ExecState::propertyNames):
              (KJS::ExecState::emptyList):
              (KJS::ExecState::lexer):
              (KJS::ExecState::parser):
              (KJS::ExecState::arrayTable):
              (KJS::ExecState::dateTable):
              (KJS::ExecState::mathTable):
              (KJS::ExecState::numberTable):
              (KJS::ExecState::RegExpImpTable):
              (KJS::ExecState::RegExpObjectImpTable):
              (KJS::ExecState::stringTable):
              * kjs/InitializeThreading.cpp:
              (KJS::initializeThreadingOnce):
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::init):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              (KJS::JSGlobalObject::head):
              (KJS::JSGlobalObject::globalData):
              * kjs/Parser.cpp:
              (KJS::Parser::parse):
              * kjs/Parser.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::getParameterName):
              (KJS::IndexToNameMap::unMap):
              (KJS::globalFuncEval):
              * kjs/function_object.cpp:
              (KJS::FunctionObjectImp::construct):
              * kjs/interpreter.cpp:
              (KJS::Interpreter::checkSyntax):
              (KJS::Interpreter::evaluate):
              * kjs/lexer.cpp:
              (kjsyylex):
              * kjs/lexer.h:
              * kjs/testkjs.cpp:
              (prettyPrintScript):
              Updated for the above changes. Most of threadInstance uses here will need to be replaced with
              explicitly passed pointers to support legacy JSC clients.
      
              * JavaScriptCore.exp: Removed KJS::parser().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b30cfc2
  8. 03 Jun, 2008 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 1e94a8fc
      ggaren@apple.com authored
      2008-06-02  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Alexey Proskuryakov.
      
              Removed JSObject::call, since it just called JSObject::callAsFunction.
      
              SunSpider reports no change.
      
      JavaScriptGlue:
      
      2008-06-02  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Alexey Proskuryakov.
      
              Removed JSObject::call, since it just called JSObject::callAsFunction.
      
              SunSpider reports no change.
      
      WebCore:
      
      2008-06-02  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Alexey Proskuryakov.
              
              Removed JSObject::call, since it just called JSObject::callAsFunction.
              
              SunSpider reports no change.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e94a8fc
  9. 31 May, 2008 1 commit
    • timothy@apple.com's avatar
      Made the starting line number of scripts be 1-based throughout the engine. · 82a000d6
      timothy@apple.com authored
      JavaScriptCore:
      
      2008-05-30  Timothy Hatcher  <timothy@apple.com>
      
              Made the starting line number of scripts be 1-based throughout the engine.
              This cleans up script line numbers so they are all consistent now and fixes
              some cases where script execution was shown as off by one line in the debugger.
      
              No change in SunSpider.
      
              Reviewed by Oliver Hunt.
      
              * API/minidom.c:
              (main): Pass a line number of 1 instead of 0 to parser().parse().
              * API/testapi.c:
              (main): Ditto. And removes a FIXME and changed an assertEqualsAsNumber
              to use 1 instead of 2 for the line number.
              * VM/Machine.cpp:
              (KJS::callEval): Pass a line number of 1 instead of 0.
              (KJS::Machine::debug): Use firstLine for WillExecuteProgram instead of
              lastLine. Use lastLine for DidExecuteProgram instead of firstLine.
              * kjs/DebuggerCallFrame.cpp:
              (KJS::DebuggerCallFrame::evaluate): Pass a line number of 1 instead of
              0 to parser().parse().
              * kjs/Parser.cpp:
              (KJS::Parser::parse): ASSERT startingLineNumber is greatter than 0. Change
              the startingLineNumber to be 1 if it was less than or equal to 0. This is needed
              for release builds to maintain compatibility with the JavaScriptCore API.
              * kjs/function.cpp:
              (KJS::globalFuncEval): Pass a line number of 1 instead of 0 to parser().parse().
              * kjs/function_object.cpp:
              (FunctionObjectImp::construct): Pass a line number of 1 instead of 0 to construct().
              * kjs/lexer.cpp:
              (Lexer::setCode): Made yylineno = startingLineNumber instead of adding 1.
              * kjs/testkjs.cpp:
              (functionRun): Pass a line number of 1 instead of 0 to Interpreter::evaluate().
              (functionLoad): Ditto.
              (prettyPrintScript): Ditto.
              (runWithScripts): Ditto.
              * profiler/Profiler.cpp:
              (WebCore::createCallIdentifier): Removed a plus 1 of startingLineNumber.
      
      WebCore:
      
      2008-05-30  Timothy Hatcher  <timothy@apple.com>
      
              Made the starting line number of scripts be 1-based throughout the engine.
              This cleans up script line numbers so they are all consistent now and fixes
              some cases where script execution was shown as off by one line in the debugger.
      
              Doing this also exposed a bug where JSLazyEventListener created in XHML or SVG
              documents would always have a line number of 0. So this change fixed that bug
              to pass all the SVG and XHTML tests.
      
              All layout tests pass.
      
              Reviewed by Oliver Hunt.
      
              * bindings/js/kjs_events.cpp:
              (WebCore::JSLazyEventListener::JSLazyEventListener): Set the line number to 1
              if it was passed in as 0. This can happen when listeners are created with
              a setAttribute call from JavaScript.
              (WebCore::JSLazyEventListener::parseCode): Add a FIXME about the URL being
              incorrect when listeners are created with a setAttribute call from JavaScript.
              * bindings/js/kjs_events.h: Remove the default value for lineNumber, since no
              callers need it.
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject evaluateWebScript:]): Pass a line number of 1 instead of 0
              to Interpreter::evaluate().
              * bridge/NP_jsobject.cpp:
              (_NPN_Evaluate): Ditto.
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::eval): Ditto.
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::startElementNs): Call KJSProxy::setEventHandlerLineno()
              around the call to handleElementAttributes, so any JSLazyEventListener created
              from those attributes have line numbers.
              (WebCore::XMLTokenizer::endElementNs): Remove a minus 1 of the line number.
              (WebCore::XMLTokenizer::notifyFinished): Pass a line number of 1 instead of 0.
              (WebCore::XMLTokenizer::parseEndElement): Remove a minus 1 of the line number.
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::evaluateScript): Add a FIXME about the starting
              line number being incorrect in some cases when this function is called.
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::parseSpecial): Add a plus 1 to the line number when
              setting scriptStartLineno so it is 1-based. Same for calling setEventHandlerLineno().
              (WebCore::HTMLTokenizer::processToken): Ditto.
              * html/HTMLTokenizer.h: Change the default line number on scriptExecution() to 1 from 0.
              * loader/FrameLoader.cpp:
              (FrameLoader::executeIfJavaScriptURL): Pass a line number of 1 instead of 0 to executeScript().
      
      WebKitTools:
      
      2008-05-30  Timothy Hatcher  <timothy@apple.com>
      
              Made the starting line number of scripts be 1-based throughout the engine.
              This cleans up script line numbers so they are all consistent now.
      
              Reviewed by Oliver Hunt.
      
              * DumpRenderTree/mac/ObjCController.m:
              (runJavaScriptThread): Pass a line number of 1 instead of 0 to JSEvaluateScript.
              * DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp:
              (runJavaScriptThread): Ditto.
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (runJavaScriptThread): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82a000d6
  10. 21 May, 2008 2 commits
    • mjs@apple.com's avatar
      JavaScriptCore: · b017e763
      mjs@apple.com authored
      2008-05-21  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Oliver and Sam.
              
              - fixed <rdar://problem/5815631> REGRESSION (r31239): Multiscope optimisation of function calls results in incorrect this value (breaks tvtv.de)
              
              Track global this value in the scope chain so we can retrieve it
              efficiently but it follows lexical scope properly.
      
              * kjs/ExecState.h:
              (KJS::ExecState::globalThisValue):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              * kjs/function_object.cpp:
              (KJS::FunctionObjectImp::construct):
              * kjs/scope_chain.h:
              (KJS::ScopeChainNode::ScopeChainNode):
              (KJS::ScopeChainNode::globalThisObject):
              (KJS::ScopeChainNode::push):
              (KJS::ScopeChain::ScopeChain):
      
      LayoutTests:
      
      2008-05-21  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Oliver and Sam.
              
              - tests for <rdar://problem/5815631> REGRESSION (r31239): Multiscope optimisation of function calls results in incorrect this value (breaks tvtv.de)
      
              * fast/frames/cross-site-this-expected.txt: Added.
              * fast/frames/cross-site-this.html: Added.
              * fast/frames/resources/cross-site-this-helper.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b017e763
    • mrowe@apple.com's avatar
      Merge squirrelfish branch into trunk. · 2f6dfdf7
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f6dfdf7
  11. 12 May, 2008 1 commit
  12. 02 May, 2008 1 commit
  13. 28 Apr, 2008 1 commit
  14. 08 Apr, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 41dbaab8
      weinig@apple.com authored
      2008-04-04  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Geoffrey Garen.
      
              First step in implementing the "split window"
      
              - Add a GlobalThisValue to ExecState which should be used 
                in places that used to implement the "use the global object
                as this if null" rule.
              - Factor out lookupGetter/lookupSetter into virtual methods 
                on JSObject so that they can be forwarded.
              - Make defineGetter/defineSetter virtual methods for the same
                reason.
              - Have PrototypeReflexiveFunction store the globalObject used
                to create it so that it can be used to get the correct thisObject
                for eval.
      
              * API/JSObjectRef.cpp:
              (JSObjectCallAsFunction):
              * JavaScriptCore.exp:
              * kjs/Activation.h:
              * kjs/ExecState.cpp:
              (KJS::ExecState::ExecState):
              (KJS::GlobalExecState::GlobalExecState):
              * kjs/ExecState.h:
              (KJS::ExecState::globalThisValue):
              * kjs/ExecStateInlines.h:
              (KJS::ExecState::ExecState):
              (KJS::FunctionExecState::FunctionExecState):
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset):
              (KJS::JSGlobalObject::toGlobalObject):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              (KJS::JSGlobalObject::JSGlobalObject):
              * kjs/array_instance.cpp:
              (KJS::CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments):
              (KJS::compareWithCompareFunctionForQSort):
              * kjs/array_object.cpp:
              (KJS::arrayProtoFuncSort):
              (KJS::arrayProtoFuncFilter):
              (KJS::arrayProtoFuncMap):
              (KJS::arrayProtoFuncEvery):
              (KJS::arrayProtoFuncForEach):
              (KJS::arrayProtoFuncSome):
              * kjs/function.cpp:
              (KJS::FunctionImp::callAsFunction):
              (KJS::ActivationImp::toThisObject):
              (KJS::globalFuncEval):
              (KJS::PrototypeReflexiveFunction::PrototypeReflexiveFunction):
              (KJS::PrototypeReflexiveFunction::mark):
              * kjs/function.h:
              (KJS::PrototypeReflexiveFunction::cachedGlobalObject):
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncApply):
              (KJS::functionProtoFuncCall):
              * kjs/nodes.cpp:
              (KJS::ExpressionNode::resolveAndCall):
              (KJS::FunctionCallValueNode::evaluate):
              (KJS::LocalVarFunctionCallNode::inlineEvaluate):
              (KJS::ScopedVarFunctionCallNode::inlineEvaluate):
              (KJS::FunctionCallBracketNode::evaluate):
              (KJS::FunctionCallDotNode::inlineEvaluate):
              * kjs/object.cpp:
              (KJS::JSObject::call):
              (KJS::JSObject::put):
              (KJS::tryGetAndCallProperty):
              (KJS::JSObject::lookupGetter):
              (KJS::JSObject::lookupSetter):
              (KJS::JSObject::toThisObject):
              (KJS::JSObject::toGlobalObject):
              (KJS::JSObject::fillGetterPropertySlot):
              * kjs/object.h:
              * kjs/object_object.cpp:
              (KJS::objectProtoFuncLookupGetter):
              (KJS::objectProtoFuncLookupSetter):
              * kjs/string_object.cpp:
              (KJS::replace):
      
      WebCore:
      
      2008-04-04  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Geoffrey Garen.
      
              First step in implementing the "split window"
      
              - This patch takes the first step in changing the window navigation model
                from clearing the window properties on navigation, to replacing
                an inner window.  This is necessary to safely perform security checks
                using the lexical global object.
      
                This first step adds a new class called JSDOMWindowWrapper, which wraps
                the real window object.  All JS calls that would go to the window object
                now go to it, which it forwards to the current inner window.  To accomplish
                this, the wrapper window is used as the ThisValue wherever the window was used
                before.
      
              * WebCore.base.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::JSDOMWindowBase):
              (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too.
              (WebCore::JSDOMWindowBase::toThisObject):
              (WebCore::JSDOMWindowBase::wrapper):
              (WebCore::windowProtoFuncAToB):
              (WebCore::windowProtoFuncBToA):
              (WebCore::windowProtoFuncOpen):
              (WebCore::windowProtoFuncSetTimeout):
              (WebCore::windowProtoFuncClearTimeout):
              (WebCore::windowProtoFuncSetInterval):
              (WebCore::windowProtoFuncAddEventListener):
              (WebCore::windowProtoFuncRemoveEventListener):
              (WebCore::windowProtoFuncShowModalDialog):
              (WebCore::windowProtoFuncNotImplemented):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowBase.h:
              Fix to expect the wrapper as the thisObj.
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::toDOMWindow):
              * bindings/js/JSDOMWindowWrapper.cpp: Added.
              (WebCore::):
              (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
              (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper):
              (WebCore::JSDOMWindowWrapper::mark):
              (WebCore::JSDOMWindowWrapper::className):
              (WebCore::JSDOMWindowWrapper::getOwnPropertySlot):
              (WebCore::JSDOMWindowWrapper::put):
              (WebCore::JSDOMWindowWrapper::deleteProperty):
              (WebCore::JSDOMWindowWrapper::getPropertyNames):
              (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
              (WebCore::JSDOMWindowWrapper::defineGetter):
              (WebCore::JSDOMWindowWrapper::defineSetter):
              (WebCore::JSDOMWindowWrapper::lookupGetter):
              (WebCore::JSDOMWindowWrapper::lookupSetter):
              (WebCore::JSDOMWindowWrapper::toGlobalObject):
              (WebCore::JSDOMWindowWrapper::impl):
              (WebCore::JSDOMWindowWrapper::disconnectFrame):
              (WebCore::JSDOMWindowWrapper::clear):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowWrapper.h: Added.
              (WebCore::JSDOMWindowWrapper::innerWindow):
              (WebCore::JSDOMWindowWrapper::setInnerWindow):
              (WebCore::JSDOMWindowWrapper::classInfo):
              Forward methods to the innerWindow.
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::open):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::execute):
              * bindings/js/kjs_events.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              * bindings/js/kjs_proxy.cpp:
              (WebCore::KJSProxy::~KJSProxy):
              (WebCore::KJSProxy::evaluate):
              (WebCore::KJSProxy::clear):
              (WebCore::KJSProxy::initScript):
              (WebCore::KJSProxy::clearDocumentWrapper):
              (WebCore::KJSProxy::processingUserGesture):
              (WebCore::KJSProxy::attachDebugger):
              * bindings/js/kjs_proxy.h:
              (WebCore::KJSProxy::haveWindowWrapper):
              (WebCore::KJSProxy::windowWrapper):
              (WebCore::KJSProxy::globalObject):
              (WebCore::KJSProxy::initScriptIfNeeded):
              Hold onto the wrapper window instead of global object.  As a convenience,
              keep the globalObject() as a forward to the inner window.
              * bindings/objc/DOMUtility.mm:
              (KJS::createDOMWrapper):
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/Document.cpp:
              (WebCore::Document::domWindow):
              * dom/Document.h:
              (WebCore::Document::defaultView):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::dispatchWindowObjectAvailable):
              * page/DOMWindow.idl:
              * page/Frame.cpp:
              (WebCore::Frame::~Frame):
              (WebCore::Frame::pageDestroyed):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41dbaab8
  15. 21 Mar, 2008 1 commit
    • ap@webkit.org's avatar
      Reviewed by Oliver Hunt. · 944d1900
      ap@webkit.org authored
              Consolidate static identifier initializers within CommonIdentifiers.
      
              No reliably measurable change on SunSpider; maybe a tiny improvement (within 0.2%).
      
              * kjs/CommonIdentifiers.h: Added static identifiers that were lazily initialized
              throughout the code.
      
              * kjs/date_object.cpp:
              (KJS::DateObjectImp::DateObjectImp):
              * kjs/function_object.cpp:
              (KJS::FunctionPrototype::FunctionPrototype):
              * kjs/object_object.cpp:
              (KJS::ObjectPrototype::ObjectPrototype):
              * kjs/regexp_object.cpp:
              (KJS::RegExpPrototype::RegExpPrototype):
              Use the values from CommonIdentifiers. 
      
              * kjs/lookup.h: Caching the identifier in a static wasn't a win on SunSpider, removed it.
      
              * kjs/value.h:
              (KJS::jsNaN): We already have a shared NaN value, no need for a duplicate here.
      
              * wtf/MathExtras.h:
              (wtf_atan2): Having local variables for numeric_limits constants is good for readability,
              but there is no reason to keep them static.
      
              * JavaScriptCore.exp: Don't needlessly export JSGlobalObject::s_head.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      944d1900
  16. 10 Mar, 2008 1 commit
    • eric@webkit.org's avatar
      Reviewed by Darin. · 87d855b8
      eric@webkit.org authored
              Remove KJS::UChar, use ::UChar instead
              http://bugs.webkit.org/show_bug.cgi?id=17017
      
              To functional changes, thus no tests.
      
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::hasCSSPropertyNamePrefix):
              (WebCore::cssPropertyName):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::windowProtoFuncAToB):
              (WebCore::windowProtoFuncBToA):
              * bindings/js/JSSVGPODTypeWrapper.h:
              * bindings/js/kjs_proxy.cpp:
              (WebCore::KJSProxy::evaluate):
              * bridge/objc/objc_utility.mm:
              (KJS::Bindings::throwError):
              * dom/Document.cpp:
              (WebCore::Document::parseQualifiedName):
              * platform/text/AtomicString.cpp:
              (WebCore::AtomicString::add):
              * platform/text/String.cpp:
              (WebCore::String::String):
              (WebCore::String::operator Identifier):
              (WebCore::String::operator UString):
              * platform/text/TextCodecICU.cpp:
              (WebCore::TextCodecICU::decode):
              * svg/SVGAnimatedTemplate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87d855b8
  17. 29 Feb, 2008 1 commit
  18. 23 Feb, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · e25e04e3
      darin@apple.com authored
              Reviewed by Anders.
      
              - http://bugs.webkit.org/show_bug.cgi?id=17067
                eliminate attributes parameter from JSObject::put for speed/clarity
      
              * API/JSCallbackObject.h: Removed attribute arguments.
              * API/JSCallbackObjectFunctions.h:
              (KJS::JSCallbackObject<Base>::put): Ditto.
              * API/JSObjectRef.cpp:
              (JSObjectSetProperty): Use initializeVariable or putDirect when necessary
              to set attribute values.
              * JavaScriptCore.exp: Updated.
              * bindings/objc/objc_runtime.h: Removed attribute arguments.
              * bindings/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::put): Ditto.
              * bindings/runtime_array.cpp:
              (RuntimeArray::put): Ditto.
              * bindings/runtime_array.h: Ditto.
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::put): Ditto.
              * bindings/runtime_object.h: Ditto. Also removed canPut which was only
              called from one place in WebCore that can use hasProperty instead.
      
              * kjs/Activation.h: Removed attribute argument from put and added the new
              initializeVariable function that's used to put variables in variable objects.
              Also made isActivationObject a const member.
      
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::put): Removed attribute argument.
              (KJS::JSGlobalObject::initializeVariable): Added. Used to give variables
              their initial values, which can include the read-only property.
              (KJS::JSGlobalObject::reset): Removed obsolete comments about flags.
              Removed Internal flag, which is no longer needed.
              * kjs/JSGlobalObject.h: More of the same.
      
              * kjs/JSVariableObject.h: Added pure virtual initializeVariable function.
              (KJS::JSVariableObject::symbolTablePut): Removed checkReadOnly flag; we always
              check read-only.
              (KJS::JSVariableObject::symbolTableInitializeVariable): Added.
      
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::put): Removed attribute argument.
              * kjs/array_instance.h: Ditto.
      
              * kjs/function.cpp:
              (KJS::FunctionImp::put): Ditto.
              (KJS::Arguments::put): Ditto.
              (KJS::ActivationImp::put): Ditto.
              (KJS::ActivationImp::initializeVariable): Added.
              * kjs/function.h: Removed attribute arguments.
      
              * kjs/function_object.cpp:
              (KJS::FunctionObjectImp::construct): Removed Internal flag.
      
              * kjs/lookup.h:
              (KJS::lookupPut): Removed attributes argument. Also changed to use putDirect
              instead of calling JSObject::put.
              (KJS::cacheGlobalObject): Ditto.
      
              * kjs/nodes.cpp:
              (KJS::ConstDeclNode::handleSlowCase): Call initializeVariable to initialize
              the constant.
              (KJS::ConstDeclNode::evaluateSingle): Ditto.
              (KJS::TryNode::execute): Use putDirect to set up the new object.
              (KJS::FunctionBodyNode::processDeclarations): Removed Internal.
              (KJS::ProgramNode::processDeclarations): Ditto.
              (KJS::EvalNode::processDeclarations): Call initializeVariable to initialize
              the variables and functions.
              (KJS::FuncDeclNode::makeFunction): Removed Internal.
              (KJS::FuncExprNode::evaluate): Ditto.
      
              * kjs/object.cpp: Removed canPut, which was only being used in one code path,
              not the normal high speed one.
              (KJS::JSObject::put): Removed attribute argument. Moved the logic from
              canPut here, in the one code ath that was still using it.
              * kjs/object.h: Removed Internal attribute, ad canPut function. Removed the
              attributes argument to the put function. Made isActivationObject const.
      
              * kjs/regexp_object.cpp:
              (KJS::RegExpImp::put): Removed attributes argument.
              (KJS::RegExpImp::putValueProperty): Ditto.
              (KJS::RegExpObjectImp::put): Ditto.
              (KJS::RegExpObjectImp::putValueProperty): Ditto.
              * kjs/regexp_object.h: Ditto.
      
              * kjs/string_object.cpp:
              (KJS::StringInstance::put): Removed attributes argument.
              * kjs/string_object.h: Ditto.
      
      WebCore:
      
              Reviewed by Anders.
      
              - http://bugs.webkit.org/show_bug.cgi?id=17067
                eliminate attributes parameter from JSObject::put for speed/clarity
      
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
      
              * bindings/js/JSCanvasPixelArrayCustom.cpp:
              (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
              (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
              CanvasPixelArray object, for consistency with the getter. Removed attributes
              argument.
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::customPut): Removed special case for variable
              initialization, which is not needed since that does use put any more.
              Removed attributes argument.
      
              * bindings/js/JSEventTargetBase.h:
              (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
              (WebCore::JSEventTargetBase::put): Ditto.
              (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
              * bindings/js/JSEventTargetNode.cpp:
              (WebCore::JSEventTargetNode::put): Removed attributes argument.
              (WebCore::JSEventTargetNode::putValueProperty): Ditto.
              * bindings/js/JSEventTargetNode.h: Ditto.
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customPut): Ditto.
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customPut): Ditto.
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::JSHTMLInputElementBase::put): Ditto.
              (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
              * bindings/js/JSHTMLInputElementBase.h: Ditto.
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customPut): Ditto.
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::JSHistory::customPut): Ditto.
              * bindings/js/JSLocation.cpp:
              (WebCore::JSLocation::put): Ditto.
              * bindings/js/JSLocation.h: Ditto.
              * bindings/js/JSXMLHttpRequest.cpp:
              (WebCore::JSXMLHttpRequest::put): Ditto.
              (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
              * bindings/js/JSXMLHttpRequest.h: Ditto.
      
              * bindings/js/kjs_dom.cpp:
              (WebCore::getRuntimeObject): Changed return type to JSObject*.
              * bindings/js/kjs_dom.h: Ditto.
      
              * bindings/js/kjs_events.cpp:
              (WebCore::JSClipboard::put): Removed attributes argument.
              (WebCore::JSClipboard::putValueProperty): Ditto.
              * bindings/js/kjs_events.h: Ditto.
      
              * bindings/js/kjs_html.cpp:
              (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
              return a JSObject. Used early exit idiom.
              (WebCore::runtimeObjectPropertyGetter): Ditto.
              (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
              (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
              that we should put with the property syntax instead of canPut.
              (WebCore::runtimeObjectImplementsCall): Ditto.
              (WebCore::runtimeObjectCallAsFunction): Ditto.
              * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
      
              * bindings/js/kjs_window.cpp:
              (KJS::Window::put): Removed attributes argument.
              * bindings/js/kjs_window.h: Ditto.
      
              * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
              putValueProperty, customPut, and indexSetter.
      
              * html/CanvasPixelArray.h:
              (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
              function. Before, the checking was done in the JavaScript bindings for set.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e25e04e3
  19. 08 Feb, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 513959c7
      darin@apple.com authored
              Reviewed by Eric.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=15003
                Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
      
              Test: fast/js/constructor-attributes.html
      
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset): Remove unwanted attributes from "constructor".
              * kjs/function_object.cpp:
              (KJS::FunctionObjectImp::construct): Ditto.
              * kjs/nodes.cpp:
              (KJS::FuncDeclNode::makeFunction): Ditto.
              (KJS::FuncExprNode::evaluate): Ditto.
      
      WebCore:
      
              Reviewed by Eric.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=15003
                Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
      
              Test: fast/js/constructor-attributes.html
      
              * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".
      
      LayoutTests:
      
              Reviewed by Eric.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=15003
                Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
      
              * fast/js/constructor-attributes-expected.txt: Added.
              * fast/js/constructor-attributes.html: Added.
              * fast/js/resources/constructor-attributes.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      513959c7
  20. 06 Feb, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 8e21ef11
      darin@apple.com authored
              Reviewed by Sam.
      
              - replace calls to put to set up properties with calls to putDirect, to
                prepare for a future change where put won't take attributes any more,
                and for a slight performance boost
      
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor): Use putDirect instead of put.
              * kjs/CommonIdentifiers.h: Removed lastIndex.
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset): Use putDirect instead of put.
              * kjs/array_object.cpp:
              (KJS::arrayProtoFuncConcat): Took out extra call to get length (unused).
              (KJS::ArrayObjectImp::ArrayObjectImp): Use putDirect instead of put.
              * kjs/error_object.cpp:
              (KJS::ErrorPrototype::ErrorPrototype): Use putDirect instead of put.
              * kjs/function.cpp:
              (KJS::Arguments::Arguments): Use putDirect instead of put.
              (KJS::PrototypeFunction::PrototypeFunction): Use putDirect instead of put.
              * kjs/function_object.cpp:
              (KJS::FunctionObjectImp::construct): Use putDirect instead of put.
              * kjs/nodes.cpp:
              (KJS::FuncDeclNode::makeFunction): Use putDirect instead of put.
              (KJS::FuncExprNode::evaluate): Use putDirect instead of put.
              * kjs/regexp_object.cpp:
              (KJS::regExpProtoFuncCompile): Use setLastIndex instead of put(lastIndex).
              (KJS::RegExpImp::match): Get and set lastIndex by using m_lastIndex instead of
              calling get and put.
              * kjs/regexp_object.h:
              (KJS::RegExpImp::setLastIndex): Added.
              * kjs/string_object.cpp:
              (KJS::stringProtoFuncMatch): Use setLastIndex instead of put(lastIndex).
      
      WebCore:
      
              Reviewed by Sam.
      
              - replace calls to put to set up properties with calls to putDirect, to
                prepare for a future change where put won't take attributes any more,
                and for a slight performance boost
      
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
              * bindings/js/JSEventTargetBase.h:
              (WebCore::JSEventTargetPrototype::self): Ditto.
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e21ef11
  21. 27 Jan, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · a313eada
      darin@apple.com authored
              Reviewed by Oliver.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=16498
                ''.constructor.toString() gives [function]
      
              Test: fast/js/function-names.html
      
              * kjs/array_object.cpp:
              (KJS::ArrayObjectImp::ArrayObjectImp): Use the class name as the constructor's function name.
              * kjs/bool_object.cpp:
              (KJS::BooleanObjectImp::BooleanObjectImp): Ditto.
              * kjs/date_object.cpp:
              (KJS::DateObjectImp::DateObjectImp): Ditto.
              * kjs/error_object.cpp:
              (KJS::ErrorPrototype::ErrorPrototype): Make the error object be an Error.
              (KJS::ErrorObjectImp::ErrorObjectImp): Use the class name as the constructor's function name.
              (KJS::NativeErrorPrototype::NativeErrorPrototype): Take const UString&.
              (KJS::NativeErrorImp::NativeErrorImp): Use the prototype's name as the constructor's function
              name.
              * kjs/error_object.h: Change ErrorPrototype to inherit from ErrorInstance. Change the
              NativeErrorImp constructor to take a NativeErrorPrototype pointer for its prototype.
              * kjs/function.h: Removed unneeded constructor for internal functions without names.
              We want to avoid those!
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncToString): Removed code that writes out just [function] for functions
              that have no names. There's no reason to do that.
              (KJS::FunctionObjectImp::FunctionObjectImp): Use the class name as the constructor's
              function name.
              * kjs/internal.cpp: Removed the unused constructor.
              * kjs/number_object.cpp:
              (KJS::fractionalPartToString): Marked static for internal linkage.
              (KJS::exponentialPartToString): Ditto.
              (KJS::numberProtoFuncToPrecision): Removed an unneeded else.
              (KJS::NumberObjectImp::NumberObjectImp): Use the class name as the constructor's
              function name.
              (KJS::NumberObjectImp::getValueProperty): Tweaked formatting.
              * kjs/object_object.cpp:
              (KJS::ObjectObjectImp::ObjectObjectImp): Use "Object" for the function name.
              * kjs/regexp_object.cpp:
              (KJS::RegExpObjectImp::RegExpObjectImp): Use "RegExp" for the function name.
              * kjs/string_object.cpp:
              (KJS::StringObjectImp::StringObjectImp): Use the class name as the constructor's
              function name.
      
      LayoutTests:
      
              Reviewed by Oliver.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=16498
                ''.constructor.toString() gives [function]
      
              * fast/js/function-names-expected.txt: Updated for new tests.
              * fast/js/kde/resources/function.js: Updated test to expect the format that Gecko uses
              for native code, which we now match character for character.
              * fast/js/resources/function-names.js: Added tests for the names of all the constructors.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a313eada
  22. 17 Jan, 2008 1 commit
    • weinig@apple.com's avatar
      Reviewed by Darin. · 415e1c52
      weinig@apple.com authored
              Fix for http://bugs.webkit.org/show_bug.cgi?id=16901
              Convert remaining JS function objects to use the new PrototypeFunction class
      
              - Moves Boolean, Function, RegExp, Number, Object and Global functions to their
                own static function implementations so that they can be used with the
                PrototypeFunction class.  SunSpider says this is 1.003x as fast.
      
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (KJS::BooleanInstance::BooleanInstance):
              (KJS::BooleanPrototype::BooleanPrototype):
              (KJS::booleanProtoFuncToString):
              (KJS::booleanProtoFuncValueOf):
              (KJS::BooleanObjectImp::BooleanObjectImp):
              (KJS::BooleanObjectImp::implementsConstruct):
              (KJS::BooleanObjectImp::construct):
              (KJS::BooleanObjectImp::callAsFunction):
              * kjs/bool_object.h:
              (KJS::BooleanInstance::classInfo):
              * kjs/error_object.cpp:
              (KJS::ErrorPrototype::ErrorPrototype):
              (KJS::errorProtoFuncToString):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::globalFuncEval):
              (KJS::globalFuncParseInt):
              (KJS::globalFuncParseFloat):
              (KJS::globalFuncIsNaN):
              (KJS::globalFuncIsFinite):
              (KJS::globalFuncDecodeURI):
              (KJS::globalFuncDecodeURIComponent):
              (KJS::globalFuncEncodeURI):
              (KJS::globalFuncEncodeURIComponent):
              (KJS::globalFuncEscape):
              (KJS::globalFuncUnEscape):
              (KJS::globalFuncKJSPrint):
              (KJS::PrototypeFunction::PrototypeFunction):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (KJS::FunctionPrototype::FunctionPrototype):
              (KJS::functionProtoFuncToString):
              (KJS::functionProtoFuncApply):
              (KJS::functionProtoFuncCall):
              * kjs/function_object.h:
              * kjs/number_object.cpp:
              (KJS::NumberPrototype::NumberPrototype):
              (KJS::numberProtoFuncToString):
              (KJS::numberProtoFuncToLocaleString):
              (KJS::numberProtoFuncValueOf):
              (KJS::numberProtoFuncToFixed):
              (KJS::numberProtoFuncToExponential):
              (KJS::numberProtoFuncToPrecision):
              * kjs/number_object.h:
              (KJS::NumberInstance::classInfo):
              (KJS::NumberObjectImp::classInfo):
              (KJS::NumberObjectImp::):
              * kjs/object_object.cpp:
              (KJS::ObjectPrototype::ObjectPrototype):
              (KJS::objectProtoFuncValueOf):
              (KJS::objectProtoFuncHasOwnProperty):
              (KJS::objectProtoFuncIsPrototypeOf):
              (KJS::objectProtoFuncDefineGetter):
              (KJS::objectProtoFuncDefineSetter):
              (KJS::objectProtoFuncLookupGetter):
              (KJS::objectProtoFuncLookupSetter):
              (KJS::objectProtoFuncPropertyIsEnumerable):
              (KJS::objectProtoFuncToLocaleString):
              (KJS::objectProtoFuncToString):
              * kjs/object_object.h:
              * kjs/regexp_object.cpp:
              (KJS::RegExpPrototype::RegExpPrototype):
              (KJS::regExpProtoFuncTest):
              (KJS::regExpProtoFuncExec):
              (KJS::regExpProtoFuncCompile):
              (KJS::regExpProtoFuncToString):
              * kjs/regexp_object.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      415e1c52
  23. 01 Jan, 2008 1 commit
    • darin@apple.com's avatar
      Reviewed by Geoff. · c6f36966
      darin@apple.com authored
              - http://bugs.webkit.org/show_bug.cgi?id=16685
                eliminate List::empty() to cut down on PIC branches
      
              Also included one other speed-up -- remove the call to reserveCapacity from
              FunctionBodyNode::processDeclarations in all but the most unusual cases.
      
              Together these make SunSpider 1.016x as fast.
      
              * JavaScriptCore.exp: Updated.
              * kjs/ExecState.cpp:
              (KJS::globalEmptyList): Added. Called only when creating global ExecState
              instances.
              (KJS::ExecState::ExecState): Broke constructor up into three separate functions,
              for the three separate node types. Also went through each of the three and
              streamlined as much as possible, removing dead code. This prevents us from having
              to access the global in the function body version of the constructor.
      
              * kjs/ExecState.h: Added emptyList(). Replaced the constructor with a set of
              three that are specific to the different node types that can create new execution
              state objects.
      
              * kjs/array_object.cpp:
              (KJS::ArrayProtoFuncToLocaleString::callAsFunction): Use exec->emptyList() instead
              of List::empty().
              (KJS::ArrayProtoFuncConcat::callAsFunction): Ditto.
              (KJS::ArrayProtoFuncSlice::callAsFunction): Ditto.
              (KJS::ArrayProtoFuncSplice::callAsFunction): Ditto.
              (KJS::ArrayProtoFuncFilter::callAsFunction): Ditto.
              * kjs/function.cpp:
              (KJS::FunctionImp::callAsFunction): Updated to call new ExecState constructor.
              (KJS::GlobalFuncImp::callAsFunction): Ditto (for eval).
              * kjs/function_object.cpp:
              (FunctionObjectImp::construct): Use exec->emptyList() instead of List::empty().
      
              * kjs/list.cpp: Removed List::empty.
              * kjs/list.h: Ditto.
      
              * kjs/nodes.cpp:
              (KJS::ElementNode::evaluate): Use exec->emptyList() instead of List::empty().
              (KJS::ArrayNode::evaluate): Ditto.
              (KJS::ObjectLiteralNode::evaluate): Ditto.
              (KJS::PropertyListNode::evaluate): Ditto.
              (KJS::FunctionBodyNode::processDeclarations): Another speed-up. Check the capacity
              before calling reserveCapacity, because it doesn't get inlined the local storage
              vector is almost always big enough -- saving the function call overhead is a big
              deal.
              (KJS::FuncDeclNode::makeFunction): Use exec->emptyList() instead of List::empty().
              (KJS::FuncExprNode::evaluate): Ditto.
              * kjs/object.cpp:
              (KJS::tryGetAndCallProperty): Ditto.
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::functionGetter): Ditto.
              * kjs/string_object.cpp:
              (KJS::StringProtoFuncSplit::callAsFunction): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6f36966
  24. 10 Dec, 2007 2 commits
    • ggaren@apple.com's avatar
      JavaScriptCore: · e65a290f
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Split this:
              
                                  FunctionBodyNode
                                          ^
                                          |
                                      ProgramNode
                  
              into this:
                  
                                      ScopeNode
                      ^                   ^                   ^
                      |                   |                   |
              FunctionBodyNode        ProgramNode         EvalNode
      
              in preparation for specializing each class more while optimizing global
              variable access.
              
              Also removed some cruft from the FunctionBodyNode interface to simplify
              things.
              
              SunSpider says this patch is a .8% speedup, which seems reasonable,
              since it eliminates a few branches and adds KJS_FAST_CALL in a few
              places.
              
              Layout tests and JS tests pass. Also, this baby builds on Windows! (Qt
              mileage may vary...)
      
      WebCore:
      
              Reviewed by Sam Weinig.
      
              Updated for rename in JavaScriptCore.
      
              * bridge/mac/WebCoreScriptDebugger.mm:
              (-[WebCoreScriptCallFrame scopeChain]):
              (-[WebCoreScriptCallFrame functionName]):
              (-[WebCoreScriptCallFrame evaluateWebScript:]):
      
      WebKit/win:
      
              Reviewed by Sam Weinig.
      
              Updated for rename in JavaScriptCore.
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::functionName):
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e65a290f
    • ggaren@apple.com's avatar
      Reviewed by Sam Weinig. · 7fd592c7
      ggaren@apple.com authored
              
              Merged different implementations of Parser::parse into a single,
              templatized implementation, in preparation for adding yet another
              implementation for "eval" code.
              
              JS and layout tests pass.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7fd592c7
  25. 07 Dec, 2007 1 commit
  26. 05 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 1b4d90ba
      ggaren@apple.com authored
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and 
              functions accessing data members from Interpreter to JSGlobalObject.
              Changed Interpreter member functions to static functions.
              
              This resolves a bug in global object bootstrapping, where the global
              ExecState could be used when uninitialized.
              
              This is a big change, but it's mostly code motion and renaming.
              
              Layout and JS tests, and testjsglue and testapi, pass. SunSpider reports
              a .7% regression, but Shark sees no difference related to this patch,
              and SunSpider reported a .7% speedup from an earlier step in this 
              refactoring, so I think it's fair to call that a wash.
      
      JavaScriptGlue:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
              subclass with JSGlobalObject subclass.
              
              * JSRun.cpp:
              (JSRun::JSRun):
              (JSRun::Evaluate):
              (JSRun::CheckSyntax):
              * JSRun.h:
              (JSGlueGlobalObject::JSGlueGlobalObject):
              * JSUtils.cpp:
              (KJSValueToCFTypeInternal):
              * JSValueWrapper.cpp:
              (getThreadGlobalExecState):
      
      WebCore:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject. Changed Interpreter
              member functions to static functions. Same for the subclass, 
              ScriptInterpreter.
              
              This is a big change, but it's mostly code motion and renaming.
      
      WebKit/mac:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject.
              
              * WebView/WebFrame.mm:
              (-[WebFrame _attachScriptDebugger]):
      
      WebKit/win:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject.
              
              * WebFrame.cpp:
              (WebFrame::globalContext):
              (WebFrame::attachScriptDebugger):
              (WebFrame::windowObjectCleared):
              * WebScriptDebugger.cpp:
              (WebScriptDebugger::WebScriptDebugger):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b4d90ba
  27. 15 Nov, 2007 1 commit
    • ggaren@apple.com's avatar
      Reviewed by Eric Seidel. · 7dc06ffa
      ggaren@apple.com authored
              Another round of grammar / parsing cleanup.
              
              1. Created distinct parser calls for parsing function bodies vs
              programs. This will help later with optimizing global variable access.
              
              2. Turned Parser into a singleton. Cleaned up Lexer's singleton 
              interface.
              
              3. Modified Lexer to free a little more memory when done lexing. (Added
              FIXMEs for similar issues that I didn't fix.)
              
              4. Changed Lexer::makeIdentifier and Lexer::makeUString to start 
              respecting the arguments passed to them. (No behavior change, but this
              problem could have caused serious problems for an unsuspecting user of
              these functions.)
              
              5. Removed KJS_DEBUG_MEM because it was bit-rotted.
              
              6. Removed Parser::prettyPrint because the same work was simpler to do
              at the call site.
              
              7. Some renames:
              
                  "Parser::accept" => "Parser::didFinishParsing"
                  "Parser::sid" => "Parser::m_sourceID"
                  "Lexer::doneParsing" => "Lexer::clear"
                  "sid" => "sourceId"
                  "lineno" => "lineNo"
              
              * JavaScriptCore.exp:
              * kjs/Parser.cpp:
              (KJS::Parser::Parser):
              (KJS::Parser::parseProgram):
              (KJS::Parser::parseFunctionBody):
              (KJS::Parser::parse):
              (KJS::Parser::didFinishParsing):
              (KJS::parser):
              * kjs/Parser.h:
              (KJS::Parser::sourceId):
              * kjs/function.cpp:
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function_object.cpp:
              (FunctionObjectImp::construct):
              * kjs/grammar.y:
              * kjs/interpreter.cpp:
              (KJS::Interpreter::checkSyntax):
              (KJS::Interpreter::evaluate):
              * kjs/interpreter.h:
              * kjs/lexer.cpp:
              (kjsyylex):
              (KJS::lexer):
              (KJS::Lexer::Lexer):
              (KJS::Lexer::~Lexer):
              (KJS::Lexer::scanRegExp):
              (KJS::Lexer::doneParsing):
              (KJS::Lexer::makeIdentifier):
              (KJS::Lexer::makeUString):
              * kjs/lexer.h:
              (KJS::Lexer::pattern):
              (KJS::Lexer::flags):
              (KJS::Lexer::sawError):
              * kjs/nodes.cpp:
              (KJS::Node::Node):
              (KJS::FunctionBodyNode::FunctionBodyNode):
              * kjs/nodes.h:
              * kjs/testkjs.cpp:
              (prettyPrintScript):
              (kjsmain):
              * kjs/ustring.cpp:
              * kjs/ustring.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dc06ffa
  28. 05 Nov, 2007 1 commit
    • ggaren's avatar
      JavaScriptCore: · 879ab75a
      ggaren authored
              Reviewed by Darin Adler.
              
              http://bugs.webkit.org/show_bug.cgi?id=15835
      
              Switched List implementation from a custom heap allocator to an inline
              Vector, for a disappointing .5% SunSpider speedup.
              
              Also renamed List::slice to List::getSlice because "get" is the 
              conventional prefix for functions returning a value through an out 
              parameter.
      
              * kjs/array_object.cpp:
              (KJS::ArrayProtoFunc::callAsFunction): Removed some redundant function
              calls and memory accesses.
      
              * kjs/bool_object.cpp:
              (BooleanObjectImp::construct): Removed questionable use of iterator.
      
              * kjs/list.cpp:
              * kjs/list.h: New List class, implemented in terms of Vector. Two 
              interesting differences:
                  1. The inline capacity is 8, not 5. Many of the Lists constructed 
                  during a SunSpider run are larger than 5; almost none are larger
                  than 8.
      
                  2. The growth factor is 4, not 2. Since we can guarantee that Lists
                  aren't long-lived, we can grow them more aggressively, to avoid
                  excessive copying.
      
              * kjs/regexp_object.cpp:
              (RegExpObjectImp::construct): Removed redundant function calls.
      
              * kjs/string_object.cpp:
              (KJS::StringObjectImp::construct): Removed questionable use of iterator.
      
              * wtf/Vector.h:
              (WTF::::uncheckedAppend): Added a fast, unchecked version of append.
      
      WebCore:
      
              Reviewed by Darin Adler.
              
              http://bugs.webkit.org/show_bug.cgi?id=15835
      
              Small adaptations to new KJS::List class.
      
              * bindings/js/kjs_window.cpp:
              (KJS::WindowFunc::callAsFunction):
              (KJS::ScheduledAction::ScheduledAction):
      
      WebKit:
      
              Reviewed by Darin Adler.
              
              http://bugs.webkit.org/show_bug.cgi?id=15835
      
              Small adaptations to new KJS::List class.
      
              * ForwardingHeaders/kjs/value.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      879ab75a
  29. 01 Nov, 2007 1 commit
    • ggaren's avatar
      JavaScriptCore: · f6701b3f
      ggaren authored
              Reviewed by Maciej Stachowiak.
              
              In preparation for making List a simple stack-allocated Vector:
      
              Removed all instances of List copying and/or assignment, and made List 
              inherit from Noncopyable.
              
              Functions that used to return a List by copy now take List& out 
              parameters.
              
              Layout tests and JS tests pass.
      
              * kjs/list.cpp:
              (KJS::List::slice): Replaced copyTail with a more generic slice 
              alternative. (JavaScriptCore only calls slice(1), but WebCore calls 
              slice(2)).
      
      WebCore:
      
              Reviewed by Maciej Stachowiak.
              
              In preparation for making List a simple stack-allocated Vector:
      
              Removed all instances of List copying, assignment, and/or storage.
              
              Layout tests and JS tests pass.
      
              * bindings/js/kjs_window.cpp:
              (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 
              JSValue*'s instead of a List now. Converts to List on the fly when 
              calling the timer function. This is slightly less efficient, but the 
              common case is 0-2 arguments, so it's no biggie.
      
              (HTML iBench shows no regression. PLT does not use JS timers.)
              
              (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
              List::slice now.
              (KJS::ScheduledAction::ScheduledAction): ditto
      
              * bindings/objc/WebScriptObject.mm:
              (getListFromNSArray): Takes a List out parameter now, to avoid copying.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6701b3f
  30. 25 Oct, 2007 1 commit
    • mjs's avatar
      Reviewed by Adam. · 07781951
      mjs authored
              
              - add header includes needed on platforms that don't use AllInOneFile.cpp
      
              * API/JSCallbackObject.cpp:
              * kjs/Context.cpp:
              * kjs/ExecState.cpp:
              * kjs/array_instance.cpp:
              * kjs/function_object.cpp:
              * kjs/interpreter.cpp:
              * kjs/nodes.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07781951
  31. 17 Oct, 2007 1 commit
    • ggaren's avatar
      Reviewed by Darin Adler. · 22b47e43
      ggaren authored
              
              Merged DeclaredFunctionImp into FunctionImp (the base class) because 
              the distinction between the two was unused.
              
              Removed codeType() from FunctionImp because FunctionImp and its 
              subclasses all returned FunctionCode, so it was unused, practically 
              speaking.
              
              Removed a different codeType() from GlobalFuncImp because it was unused.
              (Perhaps it was vestigial from a time when GlobalFuncImp used to 
              inherit from FunctionImp.)
      
              * bindings/runtime_method.cpp:
              * bindings/runtime_method.h:
              * kjs/function.cpp:
              (KJS::):
              (KJS::FunctionImp::FunctionImp):
              (KJS::FunctionImp::callAsFunction):
              (KJS::FunctionImp::construct):
              (KJS::FunctionImp::execute):
              (KJS::FunctionImp::processVarDecls):
              * kjs/function.h:
              (KJS::FunctionImp::implementsConstruct):
              (KJS::FunctionImp::scope):
              * kjs/function_object.cpp:
              (FunctionProtoFunc::callAsFunction):
              (FunctionObjectImp::construct):
              * kjs/nodes.cpp:
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::evaluate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@26715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22b47e43
  32. 16 Oct, 2007 1 commit
  33. 23 Apr, 2007 1 commit
    • mjs's avatar
      Reviewed by Darin. · 870bdffd
      mjs authored
              
              - shrink FunctionImp / DeclaredFunctionImp by 4 bytes, by moving parameter list to function body
              
              I reconciled this with a similar change in KDE kjs by Maks Orlovich <maksim@kde.org>.
      
              * kjs/function.cpp:
              (KJS::FunctionImp::callAsFunction):
              (KJS::FunctionImp::passInParameters):
              (KJS::FunctionImp::lengthGetter):
              (KJS::FunctionImp::getParameterName):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (FunctionProtoFunc::callAsFunction):
              (FunctionObjectImp::construct):
              * kjs/nodes.cpp:
              (FunctionBodyNode::addParam):
              (FunctionBodyNode::paramString):
              (FuncDeclNode::addParams):
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::addParams):
              (FuncExprNode::evaluate):
              * kjs/nodes.h:
              (KJS::Parameter::Parameter):
              (KJS::FunctionBodyNode::numParams):
              (KJS::FunctionBodyNode::paramName):
              (KJS::FunctionBodyNode::parameters):
              (KJS::FuncExprNode::FuncExprNode):
              (KJS::FuncDeclNode::FuncDeclNode):
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Disable 64-bit warnings because
              they handle size_t badly.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      870bdffd