1. 27 Jun, 2008 1 commit
    • 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 3 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: · 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
  7. 21 May, 2008 1 commit
  8. 12 May, 2008 1 commit
  9. 02 May, 2008 1 commit
  10. 28 Apr, 2008 1 commit
  11. 08 Apr, 2008 1 commit
    • aroben@apple.com's avatar
      Move callOnMainThread to WTF · 614f946c
      aroben@apple.com authored
      JavaScriptCore:
      
              Move callOnMainThread to WTF
      
              Reviewed by Alexey Proskuryakov.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              Added new files.
      
              * wtf/MainThread.cpp:
              * wtf/MainThread.h:
              * wtf/gtk/MainThreadGtk.cpp:
              * wtf/mac/MainThreadMac.mm:
              * wtf/qt/MainThreadQt.cpp:
              * wtf/win/MainThreadWin.cpp:
              * wtf/wx/MainThreadWx.cpp:
              Moved here from WebCore/platform. Replaced all instances of "WebCore"
              with "WTF".
      
              * kjs/bool_object.cpp: Touched to force JavaScriptCore.vcproj to
              build.
              to the WTF namespace.
              * wtf/ThreadingWin.cpp:
              (WTF::initializeThreading): Call initializeMainThread.
      
      WebCore:
      
              Move callOnMainThread to WTF
      
              Reviewed by Alexey Proskuryakov.
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCoreSources.bkl:
              Removed MainThread files.
      
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * loader/icon/IconDatabase.cpp:
              (WebCore::iconDatabase):
              * storage/Database.cpp:
              (WebCore::Database::Database):
              * storage/DatabaseTracker.cpp:
              Updated #includes and replaced calls to
              WebCore::initializeThreadingAndMainThread with calls to
              KJS::initializeThreading.
      
              * platform/MainThread.cpp: Removed.
              * platform/MainThread.h: Removed.
              * platform/gtk/MainThreadGtk.cpp: Removed.
              * platform/mac/MainThreadMac.mm: Removed.
              * platform/qt/MainThreadQt.cpp: Removed.
              * platform/win/MainThreadWin.cpp: Removed.
              * platform/wx/MainThreadWx.cpp: Removed.
      
      WebKit/gtk:
      
              Move callOnMainThread to WTF
      
              Reviewed by Alexey Proskuryakov.
      
              * webkit/webkitprivate.cpp: Updated #include.
              (webkit_init): Changed to call KJS::initializeThreading.
      
      WebKit/win:
      
              Move callOnMainThread to WTF
      
              Reviewed by Alexey Proskuryakov.
      
              * WebIconDatabase.cpp: Updated #include
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      614f946c
  12. 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
  13. 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
  14. 05 Dec, 2007 2 commits
    • ggaren@apple.com's avatar
      Build fix: added an #include. · 52d34893
      ggaren@apple.com authored
              * kjs/bool_object.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52d34893
    • 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
  15. 28 Nov, 2007 2 commits
    • mrowe@apple.com's avatar
      Roll out r28106 and r28108. These introduced a frequent assertion failure on... · 397036ad
      mrowe@apple.com authored
      Roll out r28106 and r28108.  These introduced a frequent assertion failure on page load and broke all non-Mac builds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      397036ad
    • mjs@apple.com's avatar
      JavaScriptCore: · d342e879
      mjs@apple.com authored
              Reviewed by Darin and Geoff.
      
              - Fixed "Stack overflow crash in JavaScript garbage collector mark pass"
              http://bugs.webkit.org/show_bug.cgi?id=12216
              
              Implement mark stack. This version is not suitable for prime time because it makes a
              huge allocation on every collect, and potentially makes marking of detached subtrees
              slow. But it is an 0.4% SunSpider speedup even without much tweaking.
              
              The basic approach is to replace mark() methods with
              markChildren(MarkStack&) methods. Reachable references are pushed
              onto a mark stack (which encapsulates ignoring already-marked
              references). 
              
              Objects are no longer responsible for actually setting their own
              mark bits, the collector does that. This means that for objects on
              the number heap we don't have to call markChildren() at all since
              we know there aren't any.
              
              The mark phase of collect pushes roots onto the mark stack
              and drains it as often as possible.
              
              To make this approach viable requires a constant-size mark stack
              and a slow fallback approach for when the stack size is exceeded,
              plus optimizations to make the required stack small in common
              cases. This should be doable.
      
              * JavaScriptCore.exp: Export new symbols.
              * JavaScriptCore.xcodeproj/project.pbxproj: Add new file.
              * kjs/collector.cpp:
              (KJS::Collector::heapAllocate):
              (KJS::drainMarkStack): Helper for all of the below.
              (KJS::Collector::markStackObjectsConservatively): Use mark stack.
              (KJS::Collector::markCurrentThreadConservatively): ditto
              (KJS::Collector::markOtherThreadConservatively): ditto
              (KJS::Collector::markProtectedObjects): ditto
              (KJS::Collector::markMainThreadOnlyObjects): ditto
              (KJS::Collector::collect): ditto
              * kjs/collector.h:
              (KJS::Collector::cellMayHaveRefs): Helper for MarkStack.
      
              * kjs/MarkStack.h: Added. The actual mark stack implementation.
              (KJS::MarkStack::push):
              (KJS::MarkStack::pushAtom):
              (KJS::MarkStack::pop):
              (KJS::MarkStack::isEmpty):
              (KJS::MarkStack::reserveCapacity):
      
              Changed mark() methods to markChildren() methods:
              
              * kjs/ExecState.cpp:
              (KJS::ExecState::markChildren):
              * kjs/ExecState.h:
              * kjs/JSWrapperObject.cpp:
              (KJS::JSWrapperObject::markChildren):
              * kjs/JSWrapperObject.h:
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::markChildren):
              * kjs/array_instance.h:
              * kjs/bool_object.cpp:
              (BooleanInstance::markChildren):
              * kjs/bool_object.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::markChildren):
              (KJS::Arguments::Arguments):
              (KJS::Arguments::markChildren):
              (KJS::ActivationImp::markChildren):
              * kjs/function.h:
              * kjs/internal.cpp:
              (KJS::GetterSetterImp::markChildren):
              * kjs/interpreter.cpp:
              (KJS::Interpreter::markRoots):
              * kjs/interpreter.h:
              * kjs/list.cpp:
              (KJS::List::markProtectedListsSlowCase):
              * kjs/list.h:
              (KJS::List::markProtectedLists):
              * kjs/object.cpp:
              (KJS::JSObject::markChildren):
              * kjs/object.h:
              (KJS::ScopeChain::markChildren):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::markChildren):
              * kjs/property_map.h:
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              (KJS::StringInstance::markChildren):
              * kjs/string_object.h:
      
      JavaScriptGlue:
      
              Reviewed by Darin and Geoff.
      
              Fixups for JavaScriptCore mark stack.
      
              * JSObject.cpp:
              (JSUserObject::Mark):
              * JSObject.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectMark):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              * UserObjectImp.h:
      
      WebCore:
      
              Reviewed by Darin and Geoff.
      
              Implement mark stack. This version is not suitable for prime time because it makes a
              huge allocation on every collect, and potentially makes marking of detached subtrees
              slow. But it is a .2% - .4% speedup even without much tweaking.
      
              I replaced mark() methods with markChildren() as usual. One
              optimization that is lost is avoiding walking detached DOM
              subtrees more than once to mark them; since marking is not
              recursive there's no obvious way to bracket operation on the tree
              any more.
      
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::markChildren):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::markChildren):
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::markChildren):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::markChildren):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::markChildren):
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::JSXMLHttpRequest::markChildren):
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::markDOMNodesForDocument):
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::JSUnprotectedEventListener::markChildren):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::markChildren):
              * bindings/js/kjs_window.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/Node.cpp:
              (WebCore::Node::Node):
              * dom/Node.h:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.h:
      
      LayoutTests:
      
              Not reviewed.
              
              - Test cases for "Stack overflow crash in JavaScript garbage collector mark pass"
              http://bugs.webkit.org/show_bug.cgi?id=12216
      
              I have fixed this with the mark stack work.
              
              * fast/js/gc-breadth-2-expected.txt: Added.
              * fast/js/gc-breadth-2.html: Added.
              * fast/js/gc-breadth-expected.txt: Added.
              * fast/js/gc-breadth.html: Added.
              * fast/js/gc-depth-expected.txt: Added.
              * fast/js/gc-depth.html: Added.
              * fast/js/resources/gc-breadth-2.js: Added.
              * fast/js/resources/gc-breadth.js: Added.
              * fast/js/resources/gc-depth.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d342e879
  16. 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
  17. 03 Nov, 2007 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · a845d282
      weinig@apple.com authored
              Reviewed by Oliver.
      
              Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
              The variable had been kept around for binary compatibility, but since nothing
              else is there is no point in continuing to keep it around.
      
              * API/JSCallbackConstructor.cpp:
              (KJS::):
              * API/JSCallbackFunction.cpp:
              (KJS::):
              * API/JSCallbackObject.cpp:
              (KJS::):
              * bindings/objc/objc_runtime.mm:
              * bindings/runtime_array.cpp:
              * bindings/runtime_object.cpp:
              * kjs/array_instance.cpp:
              (KJS::):
              * kjs/array_object.cpp:
              (KJS::):
              * kjs/bool_object.cpp:
              * kjs/date_object.cpp:
              (KJS::):
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              (KJS::):
              * kjs/internal.cpp:
              (KJS::):
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/number_object.cpp:
              * kjs/object.h:
              * kjs/regexp_object.cpp:
              * kjs/string_object.cpp:
              (KJS::):
      
      WebCore:
      
              Reviewed by Oliver.
      
              Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
              The variable had been kept around for binary compatibility, but since nothing
              else is there is no point in continuing to keep it around.
      
              * bindings/js/JSDOMExceptionConstructor.cpp:
              (WebCore::):
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::):
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::):
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::):
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::):
              * bindings/js/kjs_css.cpp:
              (WebCore::):
              * bindings/js/kjs_events.cpp:
              (WebCore::):
              * bindings/js/kjs_navigator.cpp:
              (KJS::):
              * bindings/js/kjs_window.cpp:
              (KJS::):
              * bindings/scripts/CodeGeneratorJS.pm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a845d282
  18. 16 Oct, 2007 1 commit
  19. 18 Mar, 2007 1 commit
    • mjs's avatar
      JavaScriptCore: · 23fc88db
      mjs authored
              Reviewed by Mark.
              
              - avoid static construction (and global variable access) in a smarter, more portable way,
              to later enable MUTLI_THREAD mode to work on other platforms and compilers.
              
              * kjs/CommonIdentifiers.cpp: Added. New class to hold all the shared identifiers.
              (KJS::CommonIdentifiers::CommonIdentifiers):
              (KJS::CommonIdentifiers::shared):
              * kjs/CommonIdentifiers.h: Added.
      
              * kjs/ExecState.h:
              (KJS::ExecState::propertyNames): Hand the CommonIdentifiers instance here for easy access.
              (KJS::ExecState::ExecState):
      
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              * CMakeLists.txt:
              * JavaScriptCore.exp:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * bindings/runtime_array.cpp:
              (RuntimeArray::getOwnPropertySlot):
              (RuntimeArray::put):
              * bindings/runtime_method.cpp:
              (RuntimeMethod::getOwnPropertySlot):
              * kjs/array_object.cpp:
              (ArrayInstance::getOwnPropertySlot):
              (ArrayInstance::put):
              (ArrayInstance::deleteProperty):
              (ArrayProtoFunc::ArrayProtoFunc):
              (ArrayProtoFunc::callAsFunction):
              (ArrayObjectImp::ArrayObjectImp):
              * kjs/bool_object.cpp:
              (BooleanPrototype::BooleanPrototype):
              (BooleanProtoFunc::BooleanProtoFunc):
              (BooleanProtoFunc::callAsFunction):
              (BooleanObjectImp::BooleanObjectImp):
              * kjs/completion.h:
              (KJS::Completion::Completion):
              * kjs/date_object.cpp:
              (KJS::DateProtoFunc::DateProtoFunc):
              (KJS::DateObjectImp::DateObjectImp):
              (KJS::DateObjectFuncImp::DateObjectFuncImp):
              * kjs/error_object.cpp:
              (ErrorPrototype::ErrorPrototype):
              (ErrorProtoFunc::ErrorProtoFunc):
              (ErrorProtoFunc::callAsFunction):
              (ErrorObjectImp::ErrorObjectImp):
              (ErrorObjectImp::construct):
              (NativeErrorPrototype::NativeErrorPrototype):
              (NativeErrorImp::NativeErrorImp):
              (NativeErrorImp::construct):
              (NativeErrorImp::callAsFunction):
              * kjs/function.cpp:
              (KJS::FunctionImp::getOwnPropertySlot):
              (KJS::FunctionImp::put):
              (KJS::FunctionImp::deleteProperty):
              (KJS::FunctionImp::getParameterName):
              (KJS::DeclaredFunctionImp::construct):
              (KJS::IndexToNameMap::unMap):
              (KJS::Arguments::Arguments):
              (KJS::ActivationImp::getOwnPropertySlot):
              (KJS::ActivationImp::deleteProperty):
              (KJS::GlobalFuncImp::GlobalFuncImp):
              * kjs/function_object.cpp:
              (FunctionPrototype::FunctionPrototype):
              (FunctionProtoFunc::FunctionProtoFunc):
              (FunctionProtoFunc::callAsFunction):
              (FunctionObjectImp::FunctionObjectImp):
              (FunctionObjectImp::construct):
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              * kjs/interpreter.cpp:
              (KJS::Interpreter::init):
              (KJS::Interpreter::initGlobalObject):
              * kjs/interpreter.h:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              (MathFuncImp::MathFuncImp):
              * kjs/nodes.cpp:
              (ArrayNode::evaluate):
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::evaluate):
              * kjs/number_object.cpp:
              (NumberPrototype::NumberPrototype):
              (NumberProtoFunc::NumberProtoFunc):
              (NumberObjectImp::NumberObjectImp):
              * kjs/object.cpp:
              (KJS::JSObject::put):
              (KJS::JSObject::defaultValue):
              (KJS::JSObject::hasInstance):
              * kjs/object.h:
              (KJS::JSObject::getOwnPropertySlot):
              * kjs/object_object.cpp:
              (ObjectPrototype::ObjectPrototype):
              (ObjectProtoFunc::ObjectProtoFunc):
              (ObjectObjectImp::ObjectObjectImp):
              * kjs/regexp_object.cpp:
              (RegExpPrototype::RegExpPrototype):
              (RegExpProtoFunc::RegExpProtoFunc):
              (RegExpObjectImp::RegExpObjectImp):
              * kjs/string_object.cpp:
              (KJS::StringInstance::getOwnPropertySlot):
              (KJS::StringInstance::put):
              (KJS::StringInstance::deleteProperty):
              (KJS::StringPrototype::StringPrototype):
              (KJS::StringProtoFunc::StringProtoFunc):
              (KJS::StringProtoFunc::callAsFunction):
              (KJS::StringObjectImp::StringObjectImp):
              (KJS::StringObjectFuncImp::StringObjectFuncImp):
              * kjs/testkjs.cpp:
              (TestFunctionImp::TestFunctionImp):
      
      WebCore:
      
              Reviewed by Mark.
      
              - avoid static construction (and global variable access) in a smarter, more portable way,
              to later enable MUTLI_THREAD mode to work on other platforms and compilers.
              
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::JSHTMLInputElementBaseFunction::JSHTMLInputElementBaseFunction):
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
              * bindings/js/kjs_dom.cpp:
              (KJS::DOMNamedNodeMap::getOwnPropertySlot):
              (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
              * bindings/js/kjs_events.cpp:
              (KJS::JSAbstractEventListener::handleEvent):
              * bindings/js/kjs_html.cpp:
              (KJS::HTMLElementFunction::HTMLElementFunction):
              (KJS::JSHTMLCollection::getOwnPropertySlot):
              * bindings/js/kjs_window.cpp:
              (KJS::ScheduledAction::execute):
              * bindings/objc/WebScriptObject.mm:
              * bindings/scripts/CodeGeneratorJS.pm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23fc88db
  20. 27 Oct, 2006 1 commit
    • darin's avatar
      Reviewed by Geoff. · b847b44b
      darin authored
              - made changes so the code compiles with the highest warning level
                under MSVC (disabling some warnings, making some code fixes)
      
              * API/JSCallbackConstructor.cpp:
              (KJS::JSCallbackConstructor::construct):
              * API/JSCallbackFunction.cpp:
              (KJS::JSCallbackFunction::callAsFunction):
              * API/JSCallbackObject.cpp:
              (KJS::JSCallbackObject::init):
              (KJS::JSCallbackObject::construct):
              (KJS::JSCallbackObject::callAsFunction):
              * API/JSObjectRef.cpp:
              (JSPropertyNameArrayGetNameAtIndex):
              * API/JSStringRef.cpp:
              (JSStringCreateWithCharacters):
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * bindings/c/c_utility.cpp:
              (KJS::Bindings::convertUTF8ToUTF16):
              (KJS::Bindings::coerceValueToNPVariantStringType):
              (KJS::Bindings::convertValueToNPVariant):
              * kjs/DateMath.h:
              (KJS::GregorianDateTime::GregorianDateTime):
              * kjs/ExecState.h:
              (KJS::ExecState::hadException):
              * kjs/JSImmediate.h:
              (KJS::JSImmediate::fromDouble):
              (KJS::JSImmediate::toDouble):
              (KJS::JSImmediate::NanAsBits):
              (KJS::JSImmediate::oneAsBits):
              * kjs/Parser.h:
              * kjs/PropertyNameArray.h:
              (KJS::PropertyNameArray::size):
              * kjs/array_object.cpp:
              (ArrayObjectImp::callAsFunction):
              * kjs/bool_object.cpp:
              (BooleanObjectImp::callAsFunction):
              * kjs/collector.cpp:
              (KJS::Collector::allocate):
              (KJS::Collector::markCurrentThreadConservatively):
              (KJS::Collector::collect):
              * kjs/completion.h:
              (KJS::Completion::isValueCompletion):
              * kjs/date_object.cpp:
              (KJS::findMonth):
              * kjs/debugger.cpp:
              (Debugger::sourceParsed):
              (Debugger::sourceUnused):
              (Debugger::exception):
              (Debugger::atStatement):
              (Debugger::callEvent):
              (Debugger::returnEvent):
              * kjs/dtoa.cpp:
              * kjs/error_object.cpp:
              (ErrorObjectImp::callAsFunction):
              (NativeErrorImp::callAsFunction):
              * kjs/function.cpp:
              (KJS::FunctionImp::processVarDecls):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function_object.cpp:
              (FunctionPrototype::callAsFunction):
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              (KJS::CStringTranslator::translate):
              (KJS::Identifier::add):
              * kjs/internal.h:
              * kjs/lexer.cpp:
              (Lexer::lex):
              (Lexer::isIdentStart):
              (Lexer::isIdentPart):
              (isDecimalDigit):
              (Lexer::isHexDigit):
              (Lexer::isOctalDigit):
              (Lexer::matchPunctuator):
              (Lexer::singleEscape):
              (Lexer::convertOctal):
              (Lexer::convertHex):
              (Lexer::convertUnicode):
              (Lexer::record8):
              * kjs/lexer.h:
              * kjs/math_object.cpp:
              (MathFuncImp::callAsFunction):
              * kjs/number_object.cpp:
              (integer_part_noexp):
              (intPow10):
              (NumberProtoFunc::callAsFunction):
              (NumberObjectImp::callAsFunction):
              * kjs/object.cpp:
              (KJS::JSObject::deleteProperty):
              (KJS::JSObject::callAsFunction):
              (KJS::JSObject::toBoolean):
              (KJS::JSObject::toObject):
              * kjs/object.h:
              (KJS::JSObject::getPropertySlot):
              * kjs/property_map.cpp:
              (KJS::isValid):
              (KJS::PropertyMap::put):
              (KJS::PropertyMap::insert):
              (KJS::PropertyMap::containsGettersOrSetters):
              * kjs/property_map.h:
              (KJS::PropertyMap::hasGetterSetterProperties):
              * kjs/property_slot.h:
              * kjs/string_object.cpp:
              (StringInstance::getPropertyNames):
              (StringObjectImp::callAsFunction):
              (StringObjectFuncImp::callAsFunction):
              * kjs/ustring.cpp:
              (KJS::UString::Rep::computeHash):
              (KJS::UString::UString):
              (KJS::UString::from):
              (KJS::UString::append):
              (KJS::UString::ascii):
              (KJS::UString::operator=):
              (KJS::UString::find):
              (KJS::UString::rfind):
              * kjs/ustring.h:
              (KJS::UChar::high):
              (KJS::UChar::low):
              (KJS::UCharReference::low):
              (KJS::UCharReference::high):
              * kjs/value.cpp:
              (KJS::JSValue::toUInt16):
              * kjs/value.h:
              * pcre/pcre_compile.c:
              (get_othercase_range):
              * pcre/pcre_exec.c:
              (match):
              * pcre/pcre_internal.h:
              * wtf/HashFunctions.h:
              (WTF::intHash):
              (WTF::PtrHash::hash):
              * wtf/MathExtras.h:
              (isnan):
              (lround):
              (lroundf):
              * wtf/StringExtras.h:
              (strncasecmp):
              * wtf/unicode/icu/UnicodeIcu.h:
              (WTF::Unicode::isPrintableChar):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b847b44b
  21. 13 Aug, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · 308be5ab
      mjs authored
              Reviewed (and tweaked a little) by Maciej.
              
              - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
              in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
      
              This was done by removing _scope and _internalValue data members
              from JSObject and moving them only to the subclasses that actually
              make use of them.
              
              * kjs/object.cpp: 
              (KJS::JSObject::mark): No need to mark scope or internal value here.
              * kjs/object.h:
              (KJS::JSObject::JSObject): Don't initialize them.
              * kjs/JSWrapperObject.cpp: Added. New base class for object types that
              wrap primitive values (Number, String, Boolean, Date).
              (KJS::JSWrapperObject::mark): 
              * kjs/JSWrapperObject.h: Added.
              (KJS::JSWrapperObject::JSWrapperObject):
              (KJS::JSWrapperObject::internalValue):
              (KJS::JSWrapperObject::setInternalValue):
              * kjs/array_object.cpp:
              (ArrayPrototype::ArrayPrototype): Don't set useless internal value.
              * kjs/bool_object.cpp:
              (BooleanInstance::BooleanInstance): Inherit from JSWrapperObject.
              (BooleanProtoFunc::callAsFunction): Fixed to account for fact that not all
              JSObjects have an internal value.
              (BooleanObjectImp::construct): ditto.
              * kjs/bool_object.h:
              * kjs/collector.cpp: Lowered cell size to 48.
              (KJS::Collector::allocate): meaningless whitespace change
              * kjs/date_object.cpp:
              (KJS::DateInstance::DateInstance): Inherit from JSWrapperObject.
              (KJS::DateProtoFunc::callAsFunction): adjusted for move of internalValue
              (KJS::DateObjectImp::construct): ditto
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              (ErrorPrototype::ErrorPrototype): don't set internal value
              * kjs/function.cpp: move _scope and related handling here
              (KJS::FunctionImp::mark): mark scope
              * kjs/function.h:
              (KJS::FunctionImp::scope): moved here from JSObject
              (KJS::FunctionImp::setScope): ditto
              * kjs/number_object.cpp:
              (NumberInstance::NumberInstance): inherit from JSWrapperObject
              (NumberProtoFunc::callAsFunction): adjusted
              (NumberObjectImp::construct): adjusted
              * kjs/number_object.h: shring RegExp-related objects a little
              * kjs/regexp_object.cpp:
              (RegExpPrototype::RegExpPrototype): Adjust for size tweaks
              (RegExpObjectImp::RegExpObjectImp): ditto
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstance::StringInstance): inherit from JSWrapperObject
              (StringProtoFunc::callAsFunction): adjusted
              * kjs/string_object.h:
              * JavaScriptCore.exp: Exported new methods as needed.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added new files to build.
      
      WebCore:
      
              Reviewed (and tweaked a little) by Maciej.
              
              - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
              in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
      
              The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
              
              * bindings/js/kjs_events.cpp:
              (KJS::JSLazyEventListener::parseCode):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      308be5ab
  22. 13 Jun, 2006 1 commit
    • ggaren's avatar
      JavaScriptCore: · 01b2e77a
      ggaren authored
              Reviewed by TimO, Maciej.
              
              - Merged InterpreterImp code into Interpreter, which implements
              all interpreter functionality now. This is part of my continuing quest
              to create an external notion of JS "execution context" that is unified and simple --
              something to replace the mix of Context, ContextImp, ExecState, Interpreter,
              InterpreterImp, and JSRun.
              
              All tests pass. Leaks test has not regressed from its baseline ~207 leaks
              with ~3460 leaked nodes.
      
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/NP_jsobject.cpp:
              * bindings/objc/WebScriptObject.mm:
              (+[WebScriptObject throwException:]):
              * bindings/runtime_root.cpp:
              * bindings/runtime_root.h:
              * kjs/Context.cpp:
              (KJS::Context::Context):
              * kjs/ExecState.cpp: Added.
              (KJS::ExecState::lexicalInterpreter):
              * kjs/ExecState.h: Added.
              (KJS::ExecState::dynamicInterpreter):
              * kjs/SavedBuiltins.h: Added.
              * kjs/bool_object.cpp:
              (BooleanPrototype::BooleanPrototype):
              * kjs/collector.cpp:
              (KJS::Collector::collect):
              (KJS::Collector::numInterpreters):
              * kjs/context.h:
              * kjs/debugger.cpp:
              (Debugger::attach):
              (Debugger::detach):
              * kjs/function.cpp:
              (KJS::FunctionImp::callAsFunction):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function_object.cpp:
              (FunctionObjectImp::construct):
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/interpreter.cpp:
              (KJS::interpreterMap):
              (KJS::Interpreter::Interpreter):
              (KJS::Interpreter::init):
              (KJS::Interpreter::~Interpreter):
              (KJS::Interpreter::globalObject):
              (KJS::Interpreter::initGlobalObject):
              (KJS::Interpreter::globalExec):
              (KJS::Interpreter::checkSyntax):
              (KJS::Interpreter::evaluate):
              (KJS::Interpreter::builtinObject):
              (KJS::Interpreter::builtinFunction):
              (KJS::Interpreter::builtinArray):
              (KJS::Interpreter::builtinBoolean):
              (KJS::Interpreter::builtinString):
              (KJS::Interpreter::builtinNumber):
              (KJS::Interpreter::builtinDate):
              (KJS::Interpreter::builtinRegExp):
              (KJS::Interpreter::builtinError):
              (KJS::Interpreter::builtinObjectPrototype):
              (KJS::Interpreter::builtinFunctionPrototype):
              (KJS::Interpreter::builtinArrayPrototype):
              (KJS::Interpreter::builtinBooleanPrototype):
              (KJS::Interpreter::builtinStringPrototype):
              (KJS::Interpreter::builtinNumberPrototype):
              (KJS::Interpreter::builtinDatePrototype):
              (KJS::Interpreter::builtinRegExpPrototype):
              (KJS::Interpreter::builtinErrorPrototype):
              (KJS::Interpreter::builtinEvalError):
              (KJS::Interpreter::builtinRangeError):
              (KJS::Interpreter::builtinReferenceError):
              (KJS::Interpreter::builtinSyntaxError):
              (KJS::Interpreter::builtinTypeError):
              (KJS::Interpreter::builtinURIError):
              (KJS::Interpreter::builtinEvalErrorPrototype):
              (KJS::Interpreter::builtinRangeErrorPrototype):
              (KJS::Interpreter::builtinReferenceErrorPrototype):
              (KJS::Interpreter::builtinSyntaxErrorPrototype):
              (KJS::Interpreter::builtinTypeErrorPrototype):
              (KJS::Interpreter::builtinURIErrorPrototype):
              (KJS::Interpreter::mark):
              (KJS::Interpreter::interpreterWithGlobalObject):
              (KJS::Interpreter::saveBuiltins):
              (KJS::Interpreter::restoreBuiltins):
              * kjs/interpreter.h:
              (KJS::Interpreter::setCompatMode):
              (KJS::Interpreter::compatMode):
              (KJS::Interpreter::firstInterpreter):
              (KJS::Interpreter::nextInterpreter):
              (KJS::Interpreter::prevInterpreter):
              (KJS::Interpreter::debugger):
              (KJS::Interpreter::setDebugger):
              (KJS::Interpreter::setContext):
              (KJS::Interpreter::context):
              * kjs/nodes.cpp:
              (StatementNode::hitStatement):
              (RegExpNode::evaluate):
              * kjs/protect.h:
      
      JavaScriptGlue:
      
              Reviewed by TimO, Maciej.
              
              - JSGlue part of merging InterpreterImp into Interpreter.
              
              Since there's now a kjs forwarding header, I moved all forwarding
              headers into a "ForwardingHeaders" directory, like in WebCore.
      
              * ForwardingHeaders: Added.
              * ForwardingHeaders/kjs: Added.
              * ForwardingHeaders/kjs/ExecState.h: Added.
              * ForwardingHeaders/wtf: Added.
              * JavaScriptGlue.xcodeproj/project.pbxproj:
              * config.h:
              * wtf: Removed.
              * wtf/AlwaysInline.h: Removed.
              * wtf/Assertions.h: Removed.
              * wtf/FastMalloc.h: Removed.
              * wtf/Forward.h: Removed.
              * wtf/HashCountedSet.h: Removed.
              * wtf/HashSet.h: Removed.
              * wtf/Noncopyable.h: Removed.
              * wtf/OwnArrayPtr.h: Removed.
              * wtf/OwnPtr.h: Removed.
              * wtf/PassRefPtr.h: Removed.
              * wtf/Platform.h: Removed.
              * wtf/RefPtr.h: Removed.
              * wtf/Vector.h: Removed.
      
      WebCore:
      
              Reviewed by TimO, Maciej.
      
              - WebCore part of merging InterpreterImp into Interpreter. No test
              because there's no behavior change.
              
              A substantive change here is that ScriptInterpreter::mark must now chain to
              Interpreter::mark, since Interpreter needs to mark the things that
              InterpreterImp used to mark.
              
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::put):
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCoreScriptDebugger.mm:
              (-[WebCoreScriptCallFrame evaluateWebScript:]):
              * kwq/KWQPageState.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01b2e77a
  23. 11 Apr, 2006 1 commit
    • darin's avatar
      JavaScriptCore: · 36d1136a
      darin authored
              Rubber-stamped by John Sullivan.
      
              - switched from a shell script to a makefile for generated files
              - removed lots of unneeded includes
              - added new Forward.h and HashForward.h headers that allow compiling with
                fewer unneeded templates
      
              * DerivedSources.make: Added.
              * generate-derived-sources: Removed.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, changed to use
              DerivedSources.make.
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
              * kxmlcore/HashCountedSet.h: Include HashForward for default args.
              * kxmlcore/HashMap.h: Ditto.
              * kxmlcore/HashSet.h: Ditto.
      
              * kjs/object.h:
              * kjs/object.cpp:
              Moved KJS_MAX_STACK into the .cpp file.
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_instance.h:
              * bindings/jni/jni_class.h:
              * bindings/jni/jni_runtime.h:
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.h:
              * bindings/runtime_array.cpp:
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.h:
              * kjs/JSImmediate.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.h:
              * kjs/context.h:
              * kjs/debugger.cpp:
              * kjs/error_object.h:
              * kjs/function_object.h:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object_object.cpp:
              * kjs/operations.cpp:
              * kjs/protected_reference.h:
              * kjs/reference.h:
              * kjs/reference_list.h:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/value.cpp:
              * kjs/value.h:
              * kxmlcore/HashTable.h:
              * kxmlcore/ListRefPtr.h:
              * kxmlcore/TCPageMap.h:
              * kxmlcore/Vector.h:
              Removed unneeded header includes.
      
      JavaScriptGlue:
      
              Rubber-stamped by John Sullivan.
      
              - added forwarding headers for the new Forward.h and HashForward.h files
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
      WebCore:
      
              Rubber-stamped by John Sullivan (except for pbxproj change).
      
              - updated to use the new Forward.h and HashForward.h headers
              - moved the showTree debugging functions out of the WebCore
                namespace so they are easier to call from gdb, and renamed
                the showTree member functions so they don't get in the way;
                now you can do "call showTree(x)" in gdb and it just works
              - removed a lot of unneeded includes
      
              * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
              were not relative to the enclosing group.
      
              * ForwardingHeaders/kxmlcore/Forward.h: Added.
              * ForwardingHeaders/kxmlcore/HashForward.h: Added.
              * bindings/js/JSCanvasRenderingContext2DBase.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_traversal.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMCore.h:
              * bindings/objc/DOMEvents.mm:
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/objc/DOMInternal.mm:
              * bindings/objc/DOMUtility.mm:
              * bindings/objc/DOMViews.mm:
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.mm:
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCoreFrameNamespaces.mm:
              * bridge/mac/WebCoreJavaScript.mm:
              * bridge/win/PageWin.cpp:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/css_base.h:
              * css/css_ruleimpl.h:
              * css/css_valueimpl.cpp:
              * css/cssparser.cpp:
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              * css/cssstyleselector.h:
              * dom/AbstractView.h:
              * dom/AtomicStringList.h:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/Comment.cpp:
              * dom/ContainerNode.cpp:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Element.h:
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::dump):
              (WebCore::forbidEventDispatch):
              (WebCore::allowEventDispatch):
              (WebCore::eventDispatchForbidden):
              * dom/EventTargetNode.h:
              (WebCore::EventTargetNode::postDispatchEventHandler):
              * dom/NamedAttrMap.h:
              * dom/Node.cpp:
              (WebCore::Node::showNode):
              (WebCore::Node::showTree):
              (WebCore::Node::showTreeAndMark):
              (showTree):
              * dom/Node.h:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/Position.cpp:
              (showTree):
              * dom/Position.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/dom2_eventsimpl.cpp:
              * dom/dom2_eventsimpl.h:
              * dom/dom2_traversalimpl.h:
              * dom/dom_xmlimpl.cpp:
              * dom/xml_tokenizer.cpp:
              * dom/xml_tokenizer.h:
              * editing/AppendNodeCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/ApplyStyleCommand.h:
              * editing/BreakBlockquoteCommand.cpp:
              * editing/CompositeEditCommand.cpp:
              * editing/CreateLinkCommand.cpp:
              * editing/DeleteFromTextNodeCommand.cpp:
              * editing/DeleteFromTextNodeCommand.h:
              * editing/DeleteSelectionCommand.cpp:
              * editing/EditCommand.cpp:
              * editing/EditCommand.h:
              * editing/HTMLInterchange.cpp:
              * editing/InsertIntoTextNodeCommand.cpp:
              * editing/InsertIntoTextNodeCommand.h:
              * editing/InsertLineBreakCommand.cpp:
              * editing/InsertNodeBeforeCommand.cpp:
              * editing/InsertParagraphSeparatorCommand.cpp:
              * editing/InsertTextCommand.cpp:
              * editing/JSEditor.cpp:
              * editing/JoinTextNodesCommand.cpp:
              * editing/MergeIdenticalElementsCommand.cpp:
              * editing/ModifySelectionListLevelCommand.cpp:
              * editing/MoveSelectionCommand.cpp:
              * editing/RebalanceWhitespaceCommand.h:
              * editing/RemoveCSSPropertyCommand.h:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/Selection.cpp:
              (WebCore::Selection::formatForDebugger):
              (WebCore::Selection::showTree):
              (showTree):
              * editing/Selection.h:
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::formatForDebugger):
              (WebCore::SelectionController::showTree):
              (showTree):
              * editing/SelectionController.h:
              * editing/TextIterator.cpp:
              * editing/TextIterator.h:
              * editing/TypingCommand.cpp:
              * editing/TypingCommand.h:
              * editing/UnlinkCommand.cpp:
              * editing/VisiblePosition.cpp:
              (WebCore::isEqualIgnoringAffinity):
              (WebCore::VisiblePosition::formatForDebugger):
              (WebCore::VisiblePosition::showTree):
              (showTree):
              * editing/VisiblePosition.h:
              (WebCore::VisiblePosition::VisiblePosition):
              (WebCore::operator==):
              * editing/WrapContentsInDummySpanCommand.cpp:
              * editing/htmlediting.h:
              * editing/markup.cpp:
              * editing/markup.h:
              (WebCore::):
              * editing/visible_units.cpp:
              * html/CanvasGradient.cpp:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.cpp:
              * html/CanvasStyle.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLElement.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLParser.cpp:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/html_baseimpl.cpp:
              * html/html_headimpl.h:
              * kcanvas/KCanvasCreator.cpp:
              * kcanvas/KCanvasFilters.h:
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasResources.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderPath.h:
              * kcanvas/device/KRenderingDevice.h:
              * kcanvas/device/KRenderingPaintServerGradient.h:
              * kcanvas/device/KRenderingPaintServerPattern.h:
              * kcanvas/device/KRenderingPaintServerSolid.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/decoder.h:
              * khtml/xsl/XSLStyleSheet.cpp:
              * khtml/xsl/XSLTProcessor.cpp:
              * khtml/xsl/XSLTProcessor.h:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/ecma/GlobalObject.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimatedColor.h:
              * ksvg2/svg/SVGAnimatedLengthList.h:
              * ksvg2/svg/SVGAnimatedNumberList.h:
              * ksvg2/svg/SVGAnimatedString.h:
              * ksvg2/svg/SVGAnimatedTransformList.h:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGHelper.h:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGTransform.h:
              * kwq/AccessibilityObjectCache.mm:
              * kwq/ClipboardMac.mm:
              * kwq/JavaAppletWidget.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQKHTMLSettings.h:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQLoader.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/RegularExpression.h:
              * kwq/RenderTreeAsText.cpp:
              * kwq/RenderTreeAsText.h:
              * kwq/WebCoreAXObject.mm:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedObject.h:
              * loader/CachedScript.cpp:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              (WebCore::Plugin::Plugin):
              (WebCore::Plugin::view):
              * platform/Color.cpp:
              * platform/FloatRect.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontFamily.cpp:
              * platform/GraphicsContext.cpp:
              * platform/Image.cpp:
              * platform/Image.h:
              * platform/IntRect.h:
              * platform/KURL.cpp:
              * platform/KURL.h:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StreamingTextDecoder.cpp:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextEncoding.h:
              * platform/Timer.cpp:
              * platform/Timer.h:
              * platform/TransferJob.cpp:
              * platform/TransferJob.h:
              * platform/TransferJobInternal.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              * platform/cairo/ImageCairo.cpp:
              * platform/cairo/ImageSourceCairo.cpp:
              * platform/image-decoders/gif/GIFImageReader.cpp:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/mac/FontFamilyMac.mm:
              * platform/mac/FontMac.mm:
              * platform/mac/ImageMac.mm:
              * platform/mac/TextEncodingMac.cpp:
              * platform/mac/TransferJobMac.mm:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/TransferJobWin.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderCanvas.cpp:
              * rendering/RenderCanvas.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              (showTree):
              * rendering/RenderObject.h:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextField.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeWin.cpp:
              * rendering/bidi.cpp:
              * rendering/render_form.h:
              * rendering/render_line.cpp:
              (showTree):
              * rendering/render_line.h:
              * rendering/render_list.cpp:
              * rendering/render_replaced.cpp:
              * rendering/render_replaced.h:
              * rendering/render_style.cpp:
              * rendering/render_style.h:
              * xml/xmlhttprequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36d1136a
  24. 27 Feb, 2006 1 commit
    • mjs's avatar
      Reviewed by Darin. · 05585423
      mjs authored
              
              - Turn off -Wno-unused-param for JavaScriptCore and get rid of unused params
              http://bugzilla.opendarwin.org/show_bug.cgi?id=7384
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/NP_jsobject.cpp:
              (jsAllocate):
              (_NPN_InvokeDefault):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_SetProperty):
              (_NPN_RemoveProperty):
              (_NPN_HasProperty):
              (_NPN_HasMethod):
              * bindings/c/c_class.h:
              (KJS::Bindings::CClass::constructorAt):
              * bindings/c/c_utility.cpp:
              (KJS::Bindings::convertNPVariantToValue):
              * bindings/jni/jni_class.cpp:
              (JavaClass::methodsNamed):
              (JavaClass::fieldNamed):
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::invokeDefaultMethod):
              * bindings/jni/jni_jsobject.cpp:
              * bindings/jni/jni_objc.mm:
              (-[NSObject KJS::Bindings::]):
              * bindings/objc/WebScriptObject.mm:
              (+[WebUndefined allocWithZone:]):
              (-[WebUndefined initWithCoder:]):
              (-[WebUndefined encodeWithCoder:]):
              (-[WebUndefined copyWithZone:]):
              * bindings/objc/objc_class.h:
              (KJS::Bindings::ObjcClass::constructorAt):
              * bindings/objc/objc_class.mm:
              (KJS::Bindings::ObjcClass::methodsNamed):
              (KJS::Bindings::ObjcClass::fallbackObject):
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::getValueOfUndefinedField):
              * bindings/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::getOwnPropertySlot):
              (ObjcFallbackObjectImp::put):
              (ObjcFallbackObjectImp::canPut):
              (ObjcFallbackObjectImp::deleteProperty):
              (ObjcFallbackObjectImp::toBoolean):
              * bindings/runtime.cpp:
              (KJS::Bindings::Instance::createLanguageInstanceForValue):
              * bindings/runtime.h:
              (KJS::Bindings::Instance::getValueOfUndefinedField):
              (KJS::Bindings::Instance::setValueOfUndefinedField):
              * bindings/runtime_array.cpp:
              (RuntimeArray::lengthGetter):
              (RuntimeArray::indexGetter):
              (RuntimeArray::put):
              (RuntimeArray::deleteProperty):
              * bindings/runtime_method.cpp:
              (RuntimeMethod::lengthGetter):
              (RuntimeMethod::execute):
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::fallbackObjectGetter):
              (RuntimeObjectImp::fieldGetter):
              (RuntimeObjectImp::methodGetter):
              (RuntimeObjectImp::put):
              (RuntimeObjectImp::canPut):
              (RuntimeObjectImp::deleteProperty):
              (RuntimeObjectImp::defaultValue):
              (RuntimeObjectImp::callAsFunction):
              * bindings/runtime_root.cpp:
              (performJavaScriptAccess):
              * kjs/array_object.cpp:
              (ArrayInstance::lengthGetter):
              (ArrayInstance::getOwnPropertySlot):
              (ArrayPrototype::ArrayPrototype):
              (ArrayPrototype::getOwnPropertySlot):
              * kjs/bool_object.cpp:
              (BooleanObjectImp::BooleanObjectImp):
              * kjs/date_object.cpp:
              (KJS::DateObjectFuncImp::DateObjectFuncImp):
              (KJS::DateObjectFuncImp::callAsFunction):
              * kjs/error_object.cpp:
              (ErrorObjectImp::ErrorObjectImp):
              (NativeErrorPrototype::NativeErrorPrototype):
              (NativeErrorImp::NativeErrorImp):
              * kjs/function.cpp:
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::Arguments::mappedIndexGetter):
              (KJS::ActivationImp::argumentsGetter):
              (KJS::ActivationImp::put):
              * kjs/function_object.cpp:
              (FunctionObjectImp::FunctionObjectImp):
              * kjs/internal.cpp:
              (KJS::GetterSetterImp::toPrimitive):
              (KJS::GetterSetterImp::toBoolean):
              * kjs/interpreter.cpp:
              (KJS::Interpreter::evaluate):
              * kjs/interpreter.h:
              (KJS::Interpreter::isGlobalObject):
              (KJS::Interpreter::interpreterForGlobalObject):
              (KJS::Interpreter::isSafeScript):
              * kjs/lexer.cpp:
              (Lexer::makeIdentifier):
              (Lexer::makeUString):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              * kjs/nodes.cpp:
              (StatementNode::processFuncDecl):
              (PropertyNode::evaluate):
              (PropertyNameNode::evaluate):
              * kjs/number_object.cpp:
              (NumberObjectImp::NumberObjectImp):
              (NumberObjectImp::getOwnPropertySlot):
              * kjs/object.cpp:
              (KJS::JSObject::defineGetter):
              (KJS::JSObject::defineSetter):
              (KJS::JSObject::hasInstance):
              (KJS::JSObject::propertyIsEnumerable):
              * kjs/object_object.cpp:
              (ObjectObjectImp::ObjectObjectImp):
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::undefinedGetter):
              (KJS::PropertySlot::functionGetter):
              * kjs/reference.cpp:
              (KJS::Reference::getPropertyName):
              * kjs/reference_list.cpp:
              (ReferenceListIterator::operator++):
              * kjs/regexp_object.cpp:
              (RegExpObjectImp::RegExpObjectImp):
              (RegExpObjectImp::getValueProperty):
              (RegExpObjectImp::putValueProperty):
              * kjs/string_object.cpp:
              (StringInstance::lengthGetter):
              (StringInstance::indexGetter):
              (StringPrototype::StringPrototype):
              * kxmlcore/Assertions.mm:
              * kxmlcore/FastMalloc.cpp:
              (KXMLCore::TCMalloc_PageHeap::CheckList):
              * kxmlcore/HashTable.h:
              (KXMLCore::HashTableConstIterator::checkValidity):
              (KXMLCore::IdentityHashTranslator::translate):
              * pcre/pcre_get.c:
              (pcre_get_stringnumber):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05585423
  25. 21 Feb, 2006 2 commits
    • darin's avatar
      Reviewed by John Sullivan. · 45d8ba10
      darin authored
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=7404
                remove a bunch of extra implementsCall overrides
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Sorted files.
      
              * kjs/internal.h: Made InternalFunctionImp::callAsFunction pure virtual so that
              we'll get a compile error if some derived class neglects to implement it.
      
              * kjs/function.cpp: (KJS::FunctionImp::FunctionImp): Remove unneeded initialization
              of param, which is an OwnPtr so it gets initialized by default.
      
              * bindings/runtime_method.cpp:
              * bindings/runtime_method.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/function_object.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object_object.cpp:
              * kjs/object_object.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              Removed many rendundant implementations of implementsCall from subclasses of
              InternalFunctionImp.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45d8ba10
    • mjs's avatar
      Reviewed by Geoff and Darin. · 3e13aa6b
      mjs authored
              
              Patch from Maks Orlovich, based on work by David Faure, hand-applied and 
              significantly reworked by me.
              
              - Patch: give internal function names (KJS merge)
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6279
      
              * tests/mozilla/expected.html: Updated for newly fixed test.
      
              * kjs/array_object.cpp:
              (ArrayProtoFunc::ArrayProtoFunc):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (BooleanPrototype::BooleanPrototype):
              (BooleanProtoFunc::BooleanProtoFunc):
              * kjs/bool_object.h:
              * kjs/date_object.cpp:
              (KJS::DateProtoFunc::DateProtoFunc):
              (KJS::DateObjectImp::DateObjectImp):
              (KJS::DateObjectFuncImp::DateObjectFuncImp):
              * kjs/error_object.cpp:
              (ErrorPrototype::ErrorPrototype):
              (ErrorProtoFunc::ErrorProtoFunc):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::FunctionImp):
              (KJS::GlobalFuncImp::GlobalFuncImp):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (FunctionPrototype::FunctionPrototype):
              (FunctionProtoFunc::FunctionProtoFunc):
              (FunctionProtoFunc::callAsFunction):
              * kjs/function_object.h:
              * kjs/internal.cpp:
              (KJS::InterpreterImp::initGlobalObject):
              (KJS::InternalFunctionImp::InternalFunctionImp):
              * kjs/internal.h:
              (KJS::InternalFunctionImp::functionName):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::HashEntryFunction::HashEntryFunction):
              (KJS::HashEntryFunction::implementsCall):
              (KJS::HashEntryFunction::toBoolean):
              (KJS::HashEntryFunction::implementsHasInstance):
              (KJS::HashEntryFunction::hasInstance):
              * kjs/math_object.cpp:
              (MathFuncImp::MathFuncImp):
              * kjs/math_object.h:
              * kjs/number_object.cpp:
              (NumberPrototype::NumberPrototype):
              (NumberProtoFunc::NumberProtoFunc):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::JSObject::putDirectFunction):
              (KJS::Error::create):
              * kjs/object.h:
              * kjs/object_object.cpp:
              (ObjectPrototype::ObjectPrototype):
              (ObjectProtoFunc::ObjectProtoFunc):
              * kjs/object_object.h:
              * kjs/regexp_object.cpp:
              (RegExpPrototype::RegExpPrototype):
              (RegExpProtoFunc::RegExpProtoFunc):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringProtoFunc::StringProtoFunc):
              (StringObjectImp::StringObjectImp):
              (StringObjectFuncImp::StringObjectFuncImp):
              * kjs/string_object.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e13aa6b
  26. 23 Jan, 2006 1 commit
    • mjs's avatar
      Reviewed by Tim Hatcher. · cdff33bb
      mjs authored
              
              - it's "Franklin Street", not "Franklin Steet"
      
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/context.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/debugger.cpp:
              * kjs/debugger.h:
              * kjs/dtoa.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/function_object.h:
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lexer.cpp:
              * kjs/lexer.h:
              * kjs/list.cpp:
              * kjs/list.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/object_object.cpp:
              * kjs/object_object.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/property_slot.cpp:
              * kjs/property_slot.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/reference_list.cpp:
              * kjs/reference_list.h:
              * kjs/regexp.cpp:
              * kjs/regexp.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/scope_chain.cpp:
              * kjs/scope_chain.h:
              * kjs/simple_number.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/types.h:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              * kjs/value.cpp:
              * kjs/value.h:
              * kxmlcore/AlwaysInline.h:
              * kxmlcore/ListRefPtr.h:
              * kxmlcore/PassRefPtr.h:
              * kxmlcore/RefPtr.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cdff33bb
  27. 10 Dec, 2005 2 commits
    • darin's avatar
      JavaScriptCore: · 35940e83
      darin authored
              Rubber stamped by Maciej.
      
              - did long-promised KJS renaming:
      
                  ValueImp -> JSValue
                  ObjectImp -> JSObject
                  AllocatedValueImp -> JSCell
      
              A renaming to get a class out of the way
      
                  KJS::Bindings::JSObject -> JavaJSObject
      
              and some other "imp-reduction" renaming
      
                  *InstanceImp -> *Instance
                  *ProtoFuncImp -> *ProtoFunc
                  *PrototypeImp -> *Prototype
                  ArgumentsImp -> Arguments
                  RuntimeArrayImp -> RuntimeArray
                  RuntimeMethodImp -> RuntimeMethod
      
              * most files and functions
      
      WebCore:
      
              Rubber stamped by Maciej.
      
              - updated for KJS class renaming
      
              * many files and functions
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35940e83
    • darin's avatar
      JavaScriptCore: · 7fcaf3a2
      darin authored
              Reviewed by Maciej.
      
              - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
      
              Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
      
              * bindings/NP_jsobject.cpp:
              (_NPN_Evaluate):
              * bindings/c/c_instance.cpp:
              (KJS::Bindings::CInstance::invokeMethod):
              (KJS::Bindings::CInstance::invokeDefaultMethod):
              * bindings/c/c_runtime.cpp:
              (CField::valueFromInstance):
              * bindings/c/c_utility.cpp:
              (KJS::Bindings::convertNPVariantToValue):
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              (JavaInstance::invokeDefaultMethod):
              * bindings/jni/jni_jsobject.cpp:
              (JSObject::eval):
              (JSObject::convertJObjectToValue):
              * bindings/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::valueFromInstance):
              (JavaArray::valueAt):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::getValueOfUndefinedField):
              * bindings/objc/objc_runtime.mm:
              (ObjcField::valueFromInstance):
              (ObjcFallbackObjectImp::callAsFunction):
              * bindings/objc/objc_utility.mm:
              (KJS::Bindings::convertNSStringToString):
              (KJS::Bindings::convertObjcValueToValue):
              * bindings/runtime.h:
              (KJS::Bindings::Class::fallbackObject):
              (KJS::Bindings::Instance::getValueOfUndefinedField):
              (KJS::Bindings::Instance::valueOf):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::lengthGetter):
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::lengthGetter):
              (RuntimeMethodImp::callAsFunction):
              (RuntimeMethodImp::execute):
              * kjs/array_object.cpp:
              (ArrayInstanceImp::lengthGetter):
              (CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments):
              (ArrayPrototypeImp::ArrayPrototypeImp):
              (ArrayProtoFuncImp::ArrayProtoFuncImp):
              (ArrayProtoFuncImp::callAsFunction):
              (ArrayObjectImp::ArrayObjectImp):
              * kjs/bool_object.cpp:
              (BooleanPrototypeImp::BooleanPrototypeImp):
              (BooleanProtoFuncImp::callAsFunction):
              (BooleanObjectImp::BooleanObjectImp):
              (BooleanObjectImp::callAsFunction):
              * kjs/error_object.cpp:
              (ErrorPrototypeImp::ErrorPrototypeImp):
              (ErrorProtoFuncImp::ErrorProtoFuncImp):
              (ErrorProtoFuncImp::callAsFunction):
              (ErrorObjectImp::ErrorObjectImp):
              (NativeErrorImp::NativeErrorImp):
              * kjs/function.cpp:
              (KJS::FunctionImp::callAsFunction):
              (KJS::FunctionImp::processParameters):
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::DeclaredFunctionImp::execute):
              (KJS::encode):
              (KJS::decode):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function_object.cpp:
              (FunctionPrototypeImp::FunctionPrototypeImp):
              (FunctionPrototypeImp::callAsFunction):
              (FunctionProtoFuncImp::callAsFunction):
              (FunctionObjectImp::FunctionObjectImp):
              * kjs/internal.cpp:
              (KJS::InterpreterImp::initGlobalObject):
              * kjs/interpreter.h:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              (MathObjectImp::getValueProperty):
              (MathFuncImp::callAsFunction):
              * kjs/nodes.cpp:
              (Node::setExceptionDetailsIfNeeded):
              (NullNode::evaluate):
              (PropertyNode::evaluate):
              (FunctionCallBracketNode::evaluate):
              (FunctionCallDotNode::evaluate):
              (PostfixBracketNode::evaluate):
              (PostfixDotNode::evaluate):
              (VoidNode::evaluate):
              (PrefixBracketNode::evaluate):
              (PrefixDotNode::evaluate):
              (ShiftNode::evaluate):
              (valueForReadModifyAssignment):
              (AssignDotNode::evaluate):
              (AssignBracketNode::evaluate):
              (VarDeclNode::evaluate):
              (VarDeclNode::processVarDecls):
              (VarDeclListNode::evaluate):
              (ReturnNode::execute):
              (CaseClauseNode::evalStatements):
              (ParameterNode::evaluate):
              (FuncDeclNode::processFuncDecl):
              * kjs/nodes.h:
              (KJS::StatementNode::evaluate):
              * kjs/number_object.cpp:
              (NumberPrototypeImp::NumberPrototypeImp):
              (NumberProtoFuncImp::callAsFunction):
              (NumberObjectImp::NumberObjectImp):
              (NumberObjectImp::getValueProperty):
              (NumberObjectImp::callAsFunction):
              * kjs/object.cpp:
              (KJS::ObjectImp::get):
              (KJS::Error::create):
              * kjs/object_object.cpp:
              (ObjectPrototypeImp::ObjectPrototypeImp):
              (ObjectProtoFuncImp::callAsFunction):
              (ObjectObjectImp::ObjectObjectImp):
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::undefinedGetter):
              * kjs/regexp_object.cpp:
              (RegExpPrototypeImp::RegExpPrototypeImp):
              (RegExpProtoFuncImp::callAsFunction):
              (RegExpObjectImp::RegExpObjectImp):
              (RegExpObjectImp::arrayOfMatches):
              (RegExpObjectImp::getBackref):
              (RegExpObjectImp::getLastMatch):
              (RegExpObjectImp::getLastParen):
              (RegExpObjectImp::getLeftContext):
              (RegExpObjectImp::getRightContext):
              (RegExpObjectImp::getValueProperty):
              (RegExpObjectImp::construct):
              * kjs/string_object.cpp:
              (StringInstanceImp::StringInstanceImp):
              (StringPrototypeImp::StringPrototypeImp):
              (replace):
              (StringProtoFuncImp::callAsFunction):
              (StringObjectImp::StringObjectImp):
              (StringObjectImp::callAsFunction):
              (StringObjectFuncImp::StringObjectFuncImp):
              (StringObjectFuncImp::callAsFunction):
              * kjs/testkjs.cpp:
              (TestFunctionImp::callAsFunction):
              (VersionFunctionImp::callAsFunction):
              * kjs/value.h:
      
      WebCore:
      
              Reviewed by Maciej.
      
              - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
      
              Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
      
              * khtml/ecma/domparser.cpp:
              (KJS::DOMParserProtoFunc::callAsFunction):
              * khtml/ecma/kjs_binding.cpp:
              (KJS::jsStringOrNull):
              (KJS::setDOMException):
              * khtml/ecma/kjs_binding.h:
              (KJS::DOMFunction::toPrimitive):
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::indexGetter):
              (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
              (KJS::DOMCSSStyleDeclaration::getValueProperty):
              (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
              (KJS::DOMStyleSheet::getValueProperty):
              (KJS::getDOMStyleSheet):
              (KJS::DOMStyleSheetList::getValueProperty):
              (KJS::getDOMStyleSheetList):
              (KJS::DOMStyleSheetListFunc::callAsFunction):
              (KJS::DOMMediaList::getValueProperty):
              (KJS::DOMMediaList::indexGetter):
              (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
              (KJS::DOMCSSStyleSheet::getValueProperty):
              (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
              (KJS::DOMCSSRuleList::getValueProperty):
              (KJS::DOMCSSRuleListFunc::callAsFunction):
              (KJS::DOMCSSRule::getValueProperty):
              (KJS::DOMCSSRuleFunc::callAsFunction):
              (KJS::CSSRuleConstructor::getValueProperty):
              (KJS::DOMCSSValue::getValueProperty):
              (KJS::getDOMCSSValue):
              (KJS::CSSValueConstructor::getValueProperty):
              (KJS::DOMCSSPrimitiveValue::getValueProperty):
              (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
              (KJS::CSSPrimitiveValueConstructor::getValueProperty):
              (KJS::DOMCSSValueList::getValueProperty):
              (KJS::DOMCSSValueListFunc::callAsFunction):
              (KJS::DOMCounter::getValueProperty):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getValueProperty):
              (KJS::DOMNode::toPrimitive):
              (KJS::DOMNode::getListener):
              (KJS::DOMNodeProtoFunc::callAsFunction):
              (KJS::DOMNodeList::toPrimitive):
              (KJS::DOMNodeList::getValueProperty):
              (KJS::DOMNodeList::callAsFunction):
              (KJS::DOMAttr::getValueProperty):
              (KJS::DOMDocument::getValueProperty):
              (KJS::DOMDocumentProtoFunc::callAsFunction):
              (KJS::DOMElement::getValueProperty):
              (KJS::DOMElement::attributeGetter):
              (KJS::DOMElementProtoFunc::callAsFunction):
              (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
              (KJS::DOMDocumentType::getValueProperty):
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
              (KJS::DOMProcessingInstruction::getValueProperty):
              (KJS::DOMNotation::getValueProperty):
              (KJS::DOMEntity::getValueProperty):
              (KJS::getDOMNode):
              (KJS::NodeConstructor::getValueProperty):
              (KJS::DOMExceptionConstructor::getValueProperty):
              (KJS::DOMNamedNodesCollection::lengthGetter):
              (KJS::DOMCharacterData::getValueProperty):
              (KJS::DOMCharacterDataProtoFunc::callAsFunction):
              (KJS::DOMTextProtoFunc::callAsFunction):
              * khtml/ecma/kjs_events.cpp:
              (KJS::JSLazyEventListener::parseCode):
              (KJS::EventConstructor::getValueProperty):
              (KJS::DOMEvent::getValueProperty):
              (KJS::DOMEventProtoFunc::callAsFunction):
              (KJS::getDOMEvent):
              (KJS::EventExceptionConstructor::getValueProperty):
              (KJS::DOMUIEvent::getValueProperty):
              (KJS::DOMUIEventProtoFunc::callAsFunction):
              (KJS::DOMMouseEvent::getValueProperty):
              (KJS::DOMMouseEventProtoFunc::callAsFunction):
              (KJS::DOMKeyboardEvent::getValueProperty):
              (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
              (KJS::MutationEventConstructor::getValueProperty):
              (KJS::DOMMutationEvent::getValueProperty):
              (KJS::DOMMutationEventProtoFunc::callAsFunction):
              (KJS::DOMWheelEvent::getValueProperty):
              (KJS::DOMWheelEventProtoFunc::callAsFunction):
              (KJS::stringOrUndefined):
              (KJS::Clipboard::getValueProperty):
              (KJS::ClipboardProtoFunc::callAsFunction):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLDocFunction::callAsFunction):
              (KJS::HTMLDocument::getValueProperty):
              (KJS::HTMLElement::framesetNameGetter):
              (KJS::HTMLElement::frameWindowPropertyGetter):
              (KJS::HTMLElement::runtimeObjectPropertyGetter):
              (KJS::KJS::HTMLElement::callAsFunction):
              (KJS::HTMLElement::htmlGetter):
              (KJS::HTMLElement::headGetter):
              (KJS::HTMLElement::linkGetter):
              (KJS::HTMLElement::titleGetter):
              (KJS::HTMLElement::metaGetter):
              (KJS::HTMLElement::baseGetter):
              (KJS::HTMLElement::isIndexGetter):
              (KJS::HTMLElement::styleGetter):
              (KJS::HTMLElement::bodyGetter):
              (KJS::HTMLElement::formGetter):
              (KJS::HTMLElement::selectGetter):
              (KJS::HTMLElement::optGroupGetter):
              (KJS::HTMLElement::optionGetter):
              (KJS::getInputSelectionStart):
              (KJS::getInputSelectionEnd):
              (KJS::HTMLElement::inputGetter):
              (KJS::HTMLElement::textAreaGetter):
              (KJS::HTMLElement::buttonGetter):
              (KJS::HTMLElement::labelGetter):
              (KJS::HTMLElement::fieldSetGetter):
              (KJS::HTMLElement::legendGetter):
              (KJS::HTMLElement::uListGetter):
              (KJS::HTMLElement::oListGetter):
              (KJS::HTMLElement::dListGetter):
              (KJS::HTMLElement::dirGetter):
              (KJS::HTMLElement::menuGetter):
              (KJS::HTMLElement::liGetter):
              (KJS::HTMLElement::divGetter):
              (KJS::HTMLElement::paragraphGetter):
              (KJS::HTMLElement::headingGetter):
              (KJS::HTMLElement::blockQuoteGetter):
              (KJS::HTMLElement::quoteGetter):
              (KJS::HTMLElement::preGetter):
              (KJS::HTMLElement::brGetter):
              (KJS::HTMLElement::baseFontGetter):
              (KJS::HTMLElement::fontGetter):
              (KJS::HTMLElement::hrGetter):
              (KJS::HTMLElement::modGetter):
              (KJS::HTMLElement::anchorGetter):
              (KJS::HTMLElement::imageGetter):
              (KJS::HTMLElement::objectGetter):
              (KJS::HTMLElement::paramGetter):
              (KJS::HTMLElement::appletGetter):
              (KJS::HTMLElement::mapGetter):
              (KJS::HTMLElement::areaGetter):
              (KJS::HTMLElement::scriptGetter):
              (KJS::HTMLElement::tableGetter):
              (KJS::HTMLElement::tableCaptionGetter):
              (KJS::HTMLElement::tableColGetter):
              (KJS::HTMLElement::tableSectionGetter):
              (KJS::HTMLElement::tableRowGetter):
              (KJS::HTMLElement::tableCellGetter):
              (KJS::HTMLElement::frameSetGetter):
              (KJS::HTMLElement::frameGetter):
              (KJS::HTMLElement::iFrameGetter):
              (KJS::HTMLElement::marqueeGetter):
              (KJS::HTMLElement::getValueProperty):
              (KJS::HTMLElementFunction::HTMLElementFunction):
              (KJS::KJS::HTMLElementFunction::callAsFunction):
              (KJS::HTMLCollection::lengthGetter):
              (KJS::KJS::HTMLCollection::callAsFunction):
              (KJS::KJS::HTMLCollection::getNamedItems):
              (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::HTMLSelectCollection::selectedIndexGetter):
              (KJS::HTMLSelectCollection::getOwnPropertySlot):
              (KJS::OptionConstructorImp::OptionConstructorImp):
              (KJS::Image::getValueProperty):
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Context2D::getValueProperty):
              (KJS::Context2D::Context2D):
              (KJS::GradientFunction::callAsFunction):
              (KJS::Gradient::getValueProperty):
              (KJS::ImagePattern::getValueProperty):
              (KJS::getSelectHTMLCollection):
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Navigator::getValueProperty):
              (KJS::Plugins::getValueProperty):
              (KJS::Plugins::nameGetter):
              (KJS::MimeTypes::getValueProperty):
              (KJS::MimeTypes::nameGetter):
              (KJS::Plugin::getValueProperty):
              (KJS::Plugin::nameGetter):
              (KJS::MimeType::getValueProperty):
              (KJS::PluginsFunc::callAsFunction):
              (KJS::NavigatorFunc::callAsFunction):
              * khtml/ecma/kjs_proxy.cpp:
              (TestFunctionImp::callAsFunction):
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getValueProperty):
              (KJS::DOMRangeProtoFunc::callAsFunction):
              (KJS::RangeConstructor::getValueProperty):
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getValueProperty):
              (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
              (KJS::NodeFilterConstructor::getValueProperty):
              (KJS::DOMNodeFilterProtoFunc::callAsFunction):
              (KJS::DOMTreeWalker::getValueProperty):
              (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractViewProtoFunc::callAsFunction):
              * khtml/ecma/kjs_window.cpp:
              (KJS::Screen::getValueProperty):
              (KJS::Window::retrieve):
              (KJS::showModalDialog):
              (KJS::Window::getValueProperty):
              (KJS::Window::getListener):
              (KJS::WindowFunc::callAsFunction):
              (KJS::FrameArray::getValueProperty):
              (KJS::FrameArray::indexGetter):
              (KJS::FrameArray::nameGetter):
              (KJS::Location::getValueProperty):
              (KJS::Location::toPrimitive):
              (KJS::LocationFunc::callAsFunction):
              (KJS::Selection::getValueProperty):
              (KJS::Selection::toPrimitive):
              (KJS::SelectionFunc::callAsFunction):
              (KJS::BarInfo::getValueProperty):
              (KJS::History::getValueProperty):
              (KJS::HistoryFunc::callAsFunction):
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequest::getValueProperty):
              (KJS::XMLHttpRequest::getAllResponseHeaders):
              (KJS::XMLHttpRequest::getResponseHeader):
              (KJS::XMLHttpRequest::getStatus):
              (KJS::XMLHttpRequest::getStatusText):
              (KJS::XMLHttpRequestProtoFunc::callAsFunction):
              * khtml/ecma/xmlserializer.cpp:
              (KJS::XMLSerializerProtoFunc::callAsFunction):
              * ksvg2/ecma/Ecma.cpp:
              (KSVG::getSVGPathSeg):
              * ksvg2/ecma/GlobalObject.cpp:
              (GlobalObject::get):
              * kwq/WebCoreScriptDebugger.mm:
              (-[WebCoreScriptCallFrame evaluateWebScript:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7fcaf3a2
  28. 03 Oct, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · b64c50a2
      mjs authored
              Reviewed by Darin.
      
      	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
      
      	A number of optimizations to the new threadsafe malloc that make it actually as fast
      	as dlmalloc (I measured wrong before) and as memory-efficient as the system malloc.
      
      	- use fastMalloc for everything - it now gets applied to all new/delete allocations
      	via a private inline operator new that is now included into every file via config.h.
      
      	- tweaked some of the numeric parameters for size classes and amount of wasted memory
      	allowed per allocation - this saves on memory use and consequently improves speed.
      
      	- so long as the allocator is not being used on background threads, get the per-thread
      	cache from a global variable instead of from pthread_getspecific, since the latter is slow.
      
      	- inline more functions, and force the ones GCC refuses to inline with
      	attribute(always_inline), nearly all of these have one call site so inlining them has
      	to be a win.
      
      	- use some tricks to calculate allocation size more efficiently and fewer times for small
      	allocations, to avoid hitting the huge size table array.
      
      	- avoid hitting the per-thread cache on code paths that don't need it.
      
      	- implement inline assembly version of spinlock for PowerPC (was already done for x86)
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_class.cpp:
              * bindings/c/c_instance.cpp:
              * bindings/c/c_runtime.cpp:
              * bindings/c/c_utility.cpp:
              * bindings/jni/jni_class.cpp:
              * bindings/jni/jni_instance.cpp:
              * bindings/jni/jni_jsobject.cpp:
              * bindings/jni/jni_objc.mm:
              * bindings/jni/jni_runtime.cpp:
              * bindings/jni/jni_utility.cpp:
              * bindings/npruntime.cpp:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.cpp:
              * bindings/runtime_array.cpp:
              * bindings/runtime_method.cpp:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.cpp:
              * bindings/testbindings.cpp:
              * bindings/testbindings.mm:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::~ArrayInstanceImp):
              (ArrayInstanceImp::resizeStorage):
              * kjs/bool_object.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::registerThread):
              * kjs/config.h:
              * kjs/debugger.cpp:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function_object.cpp:
              * kjs/identifier.cpp:
              (KJS::Identifier::rehash):
              * kjs/internal.cpp:
              (KJS::Parser::saveNewNode):
              (KJS::clearNewNodes):
              * kjs/interpreter.cpp:
              * kjs/lexer.cpp:
              (Lexer::doneParsing):
              (Lexer::makeIdentifier):
              (Lexer::makeUString):
              * kjs/list.cpp:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/number_object.cpp:
              (integer_part_noexp):
              (char_sequence):
              * kjs/object.cpp:
              * kjs/object_object.cpp:
              * kjs/property_map.cpp:
              * kjs/property_slot.cpp:
              * kjs/protected_values.cpp:
              (KJS::ProtectedValues::rehash):
              * kjs/reference.cpp:
              * kjs/reference_list.cpp:
              * kjs/regexp.cpp:
              * kjs/regexp_object.cpp:
              * kjs/scope_chain.cpp:
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              * kjs/testkjs.cpp:
              * kjs/ustring.h:
              * kjs/value.cpp:
              * kxmlcore/Assertions.mm:
              * kxmlcore/FastMalloc.cpp:
              (KXMLCore::InitSizeClasses):
              (KXMLCore::DLL_IsEmpty):
              (KXMLCore::DLL_Prepend):
              (KXMLCore::TCMalloc_Central_FreeList::Insert):
              (KXMLCore::TCMalloc_Central_FreeList::Remove):
              (KXMLCore::TCMalloc_Central_FreeList::Populate):
              (KXMLCore::TCMalloc_ThreadCache::Allocate):
              (KXMLCore::TCMalloc_ThreadCache::FetchFromCentralCache):
              (KXMLCore::fastMallocRegisterThread):
              (KXMLCore::TCMalloc_ThreadCache::GetCache):
              (KXMLCore::TCMalloc_ThreadCache::GetCacheIfPresent):
              (KXMLCore::TCMalloc_ThreadCache::CreateCacheIfNecessary):
              (KXMLCore::do_malloc):
              (KXMLCore::do_free):
              (KXMLCore::realloc):
              * kxmlcore/FastMalloc.h:
              (operator new):
              (operator delete):
              (operator new[]):
              (operator delete[]):
              * kxmlcore/HashTable.cpp:
              * kxmlcore/TCSpinLock.h:
              (TCMalloc_SpinLock::Lock):
              (TCMalloc_SpinLock::Unlock):
              (TCMalloc_SlowLock):
              * kxmlcore/TCSystemAlloc.cpp:
      
      WebCore:
      
              Reviewed by Darin.
      
      	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
      
      	- use fastMalloc for everything - it now gets applied to all new/delete allocations
              via a private inline operator new that is now included into every file via config.h
      
              * WebCore.xcodeproj/project.pbxproj:
              * WebCorePrefix.h:
              * khtml/css/css_base.cpp:
              * khtml/css/css_base.h:
              * khtml/css/css_computedstyle.cpp:
              * khtml/css/css_ruleimpl.cpp:
              * khtml/css/css_stylesheetimpl.cpp:
              * khtml/css/css_valueimpl.cpp:
              * khtml/css/css_valueimpl.h:
              * khtml/css/csshelper.cpp:
              * khtml/css/cssparser.cpp:
              (ValueList::ValueList):
              (ValueList::~ValueList):
              (ValueList::addValue):
              (CSSParser::CSSParser):
              (CSSParser::~CSSParser):
              (CSSParser::setupParser):
              (CSSParser::addProperty):
              * khtml/css/cssstyleselector.cpp:
              * khtml/css/cssstyleselector.h:
              * khtml/dom/dom2_events.cpp:
              * khtml/dom/dom2_traversal.cpp:
              * khtml/dom/dom_misc.cpp:
              * khtml/dom/dom_string.cpp:
              * khtml/ecma/domparser.cpp:
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Gradient::~Gradient):
              (KJS::Gradient::addColorStop):
              (KJS::Gradient::colorStops):
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_proxy.cpp:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/xmlhttprequest.cpp:
              * khtml/ecma/xmlserializer.cpp:
              * khtml/editing/SelectionController.cpp:
              * khtml/editing/append_node_command.cpp:
              * khtml/editing/apply_style_command.cpp:
              * khtml/editing/break_blockquote_command.cpp:
              * khtml/editing/composite_edit_command.cpp:
              * khtml/editing/delete_from_text_node_command.cpp:
              * khtml/editing/delete_selection_command.cpp:
              * khtml/editing/edit_command.cpp:
              * khtml/editing/html_interchange.cpp:
              * khtml/editing/htmlediting.cpp:
              * khtml/editing/insert_into_text_node_command.cpp:
              * khtml/editing/insert_line_break_command.cpp:
              * khtml/editing/insert_node_before_command.cpp:
              * khtml/editing/insert_paragraph_separator_command.cpp:
              * khtml/editing/insert_text_command.cpp:
              * khtml/editing/join_text_nodes_command.cpp:
              * khtml/editing/jsediting.cpp:
              * khtml/editing/markup.cpp:
              * khtml/editing/merge_identical_elements_command.cpp:
              * khtml/editing/move_selection_command.cpp:
              * khtml/editing/rebalance_whitespace_command.cpp:
              * khtml/editing/remove_css_property_command.cpp:
              * khtml/editing/remove_node_attribute_command.cpp:
              * khtml/editing/remove_node_command.cpp:
              * khtml/editing/remove_node_preserving_children_command.cpp:
              * khtml/editing/replace_selection_command.cpp:
              * khtml/editing/set_node_attribute_command.cpp:
              * khtml/editing/split_element_command.cpp:
              * khtml/editing/split_text_node_command.cpp:
              * khtml/editing/split_text_node_containing_element.cpp:
              * khtml/editing/typing_command.cpp:
              * khtml/editing/visible_position.cpp:
              * khtml/editing/visible_range.cpp:
              * khtml/editing/visible_text.cpp:
              (khtml::CircularSearchBuffer::~CircularSearchBuffer):
              (khtml::CircularSearchBuffer::CircularSearchBuffer):
              * khtml/editing/visible_units.cpp:
              * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
              * khtml/html/html_baseimpl.cpp:
              * khtml/html/html_blockimpl.cpp:
              * khtml/html/html_canvasimpl.cpp:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_elementimpl.cpp:
              * khtml/html/html_formimpl.cpp:
              * khtml/html/html_headimpl.cpp:
              * khtml/html/html_imageimpl.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/html_listimpl.cpp:
              * khtml/html/html_miscimpl.cpp:
              * khtml/html/html_objectimpl.cpp:
              * khtml/html/html_tableimpl.cpp:
              * khtml/html/htmlfactory.cpp:
              * khtml/html/htmlnames.cpp:
              * khtml/html/htmlparser.cpp:
              * khtml/html/htmltokenizer.cpp:
              (khtml::HTMLTokenizer::enlargeBuffer):
              (khtml::HTMLTokenizer::enlargeScriptBuffer):
              * khtml/khtml_events.cpp:
              * khtml/khtml_part.cpp:
              * khtml/khtmlview.cpp:
              * khtml/misc/arena.cpp:
              * khtml/misc/arena.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/formdata.cpp:
              * khtml/misc/helper.cpp:
              * khtml/misc/loader.cpp:
              * khtml/misc/stringit.cpp:
              * khtml/rendering/bidi.cpp:
              * khtml/rendering/break_lines.cpp:
              * khtml/rendering/font.cpp:
              * khtml/rendering/render_arena.cpp:
              * khtml/rendering/render_block.cpp:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_br.cpp:
              * khtml/rendering/render_canvas.cpp:
              * khtml/rendering/render_canvasimage.cpp:
              (RenderCanvasImage::~RenderCanvasImage):
              (RenderCanvasImage::createDrawingContext):
              * khtml/rendering/render_container.cpp:
              * khtml/rendering/render_flexbox.cpp:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_form.cpp:
              * khtml/rendering/render_frames.cpp:
              * khtml/rendering/render_image.cpp:
              * khtml/rendering/render_inline.cpp:
              * khtml/rendering/render_layer.cpp:
              * khtml/rendering/render_line.cpp:
              * khtml/rendering/render_list.cpp:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_replaced.cpp:
              * khtml/rendering/render_style.cpp:
              * khtml/rendering/render_style.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_theme.cpp:
              * khtml/rendering/render_theme_mac.mm:
              * khtml/rendering/table_layout.cpp:
              * khtml/xbl/xbl_binding.cpp:
              * khtml/xbl/xbl_binding_manager.cpp:
              * khtml/xbl/xbl_docimpl.cpp:
              * khtml/xbl/xbl_protobinding.cpp:
              * khtml/xbl/xbl_protohandler.cpp:
              * khtml/xbl/xbl_protoimplementation.cpp:
              * khtml/xbl/xbl_tokenizer.cpp:
              * khtml/xml/EventNames.cpp:
              * khtml/xml/dom2_eventsimpl.cpp:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/dom2_rangeimpl.cpp:
              * khtml/xml/dom2_rangeimpl.h:
              * khtml/xml/dom2_traversalimpl.cpp:
              * khtml/xml/dom2_traversalimpl.h:
              * khtml/xml/dom2_viewsimpl.cpp:
              * khtml/xml/dom2_viewsimpl.h:
              * khtml/xml/dom_atomicstring.cpp:
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_elementimpl.cpp:
              * khtml/xml/dom_elementimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_position.cpp:
              * khtml/xml/dom_qname.cpp:
              * khtml/xml/dom_stringimpl.cpp:
              * khtml/xml/dom_stringimpl.h:
              * khtml/xml/dom_textimpl.cpp:
              * khtml/xml/dom_xmlimpl.cpp:
              * khtml/xml/xml_tokenizer.cpp:
              * khtml/xsl/xsl_stylesheetimpl.cpp:
              * khtml/xsl/xslt_processorimpl.cpp:
              * kwq/DOM-CSS.mm:
              * kwq/DOM.mm:
              * kwq/DOMEvents.mm:
              * kwq/DOMHTML.mm:
              * kwq/DOMInternal.mm:
              (DOMString::DOMString):
              * kwq/DOMUtility.mm:
              * kwq/DOMViews.mm:
              * kwq/KWQAccObject.mm:
              * kwq/KWQAccObjectCache.mm:
              * kwq/KWQApplication.mm:
              * kwq/KWQArrayImpl.h:
              * kwq/KWQArrayImpl.mm:
              * kwq/KWQBuffer.mm:
              * kwq/KWQButton.mm:
              * kwq/KWQCString.mm:
              * kwq/KWQCharsets.mm:
              * kwq/KWQClipboard.mm:
              * kwq/KWQCollection.mm:
              * kwq/KWQColor.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQCursor.mm:
              * kwq/KWQDateTime.mm:
              * kwq/KWQDictImpl.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQEvent.mm:
              * kwq/KWQExceptions.mm:
              * kwq/KWQFile.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQFont.mm:
              * kwq/KWQFontFamily.h:
              * kwq/KWQFontFamily.mm:
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQFormData.mm:
              * kwq/KWQFrame.mm:
              * kwq/KWQGlobal.mm:
              * kwq/KWQGuardedPtr.mm:
              * kwq/KWQKCharsets.mm:
              * kwq/KWQKConfigBase.mm:
              * kwq/KWQKCookieJar.mm:
              * kwq/KWQKCursor.mm:
              * kwq/KWQKGlobal.mm:
              * kwq/KWQKGlobalSettings.mm:
              * kwq/KWQKHTMLFactory.mm:
              * kwq/KWQKHTMLPart.cpp:
              * kwq/KWQKHTMLPart.mm:
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              * kwq/KWQKHTMLView.mm:
              * kwq/KWQKHistoryProvider.mm:
              * kwq/KWQKJavaAppletWidget.mm:
              * kwq/KWQKJob.mm:
              * kwq/KWQKJobClasses.mm:
              * kwq/KWQKLocale.mm:
              * kwq/KWQKPartsBrowserInterface.mm:
              * kwq/KWQKPartsEvent.mm:
              * kwq/KWQKPartsPart.mm:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQKStandardDirs.mm:
              * kwq/KWQKStringHandler.mm:
              * kwq/KWQKURL.mm:
              (KURL::KURL):
              (KURL::decode_string):
              (KURL::parse):
              (KURL::encode_string):
              (encodeRelativeString):
              * kwq/KWQKWin.mm:
              * kwq/KWQKWinModule.mm:
              * kwq/KWQLabel.mm:
              * kwq/KWQLineEdit.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQListImpl.mm:
              * kwq/KWQLoader.mm:
              (KWQIsResponseURLEqualToURL):
              * kwq/KWQMapImpl.h:
              * kwq/KWQMapImpl.mm:
              * kwq/KWQMovie.mm:
              * kwq/KWQObject.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQPaintDeviceMetrics.mm:
              * kwq/KWQPainter.mm:
              * kwq/KWQPalette.mm:
              * kwq/KWQPen.mm:
              * kwq/KWQPixmap.mm:
              * kwq/KWQPoint.mm:
              * kwq/KWQPointArray.mm:
              * kwq/KWQPtrDictImpl.mm:
              * kwq/KWQPushButton.mm:
              * kwq/KWQRect.mm:
              * kwq/KWQRegExp.mm:
              * kwq/KWQRegion.mm:
              * kwq/KWQRenderTreeDebug.cpp:
              * kwq/KWQResourceLoader.mm:
              * kwq/KWQScrollBar.mm:
              * kwq/KWQScrollView.mm:
              * kwq/KWQSignal.mm:
              * kwq/KWQSignalStubs.mm:
              * kwq/KWQSize.mm:
              * kwq/KWQSlider.mm:
              * kwq/KWQSlot.mm:
              * kwq/KWQString.h:
              * kwq/KWQString.mm:
              (ALLOC_CHAR):
              (REALLOC_CHAR):
              (DELETE_CHAR):
              (ALLOC_QCHAR):
              (REALLOC_QCHAR):
              (DELETE_QCHAR):
              (_printQStringAllocationStatistics):
              (allocateHandle):
              (KWQStringData::operator new):
              (KWQStringData::operator delete):
              (freeHandle):
              * kwq/KWQStringList.mm:
              * kwq/KWQStyle.mm:
              * kwq/KWQTextArea.mm:
              * kwq/KWQTextCodec.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/KWQTextField.mm:
              * kwq/KWQTextStream.mm:
              * kwq/KWQTextUtilities.mm:
              * kwq/KWQTimer.mm:
              * kwq/KWQValueListImpl.h:
              * kwq/KWQValueListImpl.mm:
              * kwq/KWQVariant.mm:
              * kwq/KWQVectorImpl.mm:
              (KWQVectorImpl::KWQVectorImpl):
              (KWQVectorImpl::~KWQVectorImpl):
              (KWQVectorImpl::clear):
              (KWQVectorImpl::resize):
              (KWQVectorImpl::assign):
              * kwq/KWQWMatrix.mm:
              * kwq/KWQWidget.mm:
              * kwq/KWQWindowWidget.mm:
              * kwq/WebCoreBridge.mm:
              * kwq/WebCoreCache.mm:
              * kwq/WebCoreEncodings.mm:
              * kwq/WebCoreJavaScript.mm:
              * kwq/WebCoreScriptDebugger.mm:
              * kwq/WebCoreSettings.mm:
              * kwq/WebCoreTextRendererFactory.mm:
              * kwq/can-convert.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b64c50a2
  29. 15 Aug, 2005 1 commit
    • darin's avatar
      JavaScriptCore: · 98e28606
      darin authored
              Reviewed by Geoff.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4437
                clean up error creation with new throwError function
      
              * bindings/NP_jsobject.cpp:
              (_NPN_SetException):
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              * bindings/jni/jni_runtime.cpp:
              (JavaField::dispatchValueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject _initializeWithObjectImp:originExecutionContext:executionContext:]):
              (-[WebScriptObject _initWithObjectImp:originExecutionContext:executionContext:]):
              (+[WebScriptObject throwException:]):
              (-[WebScriptObject setException:]):
              (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
              * bindings/objc/objc_class.h:
              (KJS::Bindings::ObjcClass::~ObjcClass):
              (KJS::Bindings::ObjcClass::ObjcClass):
              (KJS::Bindings::ObjcClass::operator=):
              (KJS::Bindings::ObjcClass::constructorAt):
              (KJS::Bindings::ObjcClass::numConstructors):
              * bindings/objc/objc_header.h:
              * bindings/objc/objc_runtime.h:
              (KJS::Bindings::ObjcField::~ObjcField):
              (KJS::Bindings::ObjcField::ObjcField):
              (KJS::Bindings::ObjcField::operator=):
              (KJS::Bindings::ObjcMethod::ObjcMethod):
              (KJS::Bindings::ObjcMethod::~ObjcMethod):
              (KJS::Bindings::ObjcMethod::operator=):
              * bindings/objc/objc_runtime.mm:
              (ObjcField::valueFromInstance):
              (ObjcField::setValueToInstance):
              (ObjcArray::setValueAt):
              (ObjcArray::valueAt):
              * bindings/objc/objc_utility.h:
              * bindings/objc/objc_utility.mm:
              (KJS::Bindings::JSMethodNameToObjCMethodName):
              (KJS::Bindings::convertValueToObjcValue):
              (KJS::Bindings::convertNSStringToString):
              (KJS::Bindings::convertObjcValueToValue):
              (KJS::Bindings::objcValueTypeForType):
              (KJS::Bindings::createObjcInstanceForValue):
              (KJS::Bindings::throwError):
              * bindings/runtime.h:
              (KJS::Bindings::Parameter::~Parameter):
              (KJS::Bindings::Method::~Method):
              (KJS::Bindings::Instance::Instance):
              (KJS::Bindings::Instance::begin):
              (KJS::Bindings::Instance::end):
              (KJS::Bindings::Instance::getValueOfUndefinedField):
              (KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
              (KJS::Bindings::Instance::setValueOfUndefinedField):
              (KJS::Bindings::Instance::valueOf):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::put):
              * bindings/runtime_object.h:
              (KJS::RuntimeObjectImp::setInternalInstance):
              (KJS::RuntimeObjectImp::getInternalInstance):
              * kjs/array_object.cpp:
              (getProperty):
              (ArrayProtoFuncImp::callAsFunction):
              (ArrayObjectImp::construct):
              * kjs/bool_object.cpp:
              (BooleanProtoFuncImp::callAsFunction):
              * kjs/date_object.cpp:
              (KJS::DateProtoFuncImp::callAsFunction):
              * kjs/function.cpp:
              (KJS::decode):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function_object.cpp:
              (FunctionProtoFuncImp::callAsFunction):
              (FunctionObjectImp::construct):
              * kjs/internal.cpp:
              (KJS::UndefinedImp::toObject):
              (KJS::NullImp::toObject):
              (KJS::InterpreterImp::evaluate):
              (KJS::InternalFunctionImp::hasInstance):
              * kjs/nodes.cpp:
              (Node::throwError):
              (substitute):
              (Node::setExceptionDetailsIfNeeded):
              (undefinedVariableError):
              (ProgramNode::ProgramNode):
              * kjs/number_object.cpp:
              (NumberProtoFuncImp::callAsFunction):
              * kjs/object.cpp:
              (KJS::ObjectImp::call):
              (KJS::ObjectImp::defaultValue):
              (KJS::Error::create):
              (KJS::throwError):
              * kjs/object.h:
              (KJS::ObjectImp::clearProperties):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::getOwnPropertySlot):
              * kjs/object_object.cpp:
              (ObjectProtoFuncImp::callAsFunction):
              * kjs/reference.cpp:
              (KJS::Reference::getBase):
              (KJS::Reference::getValue):
              (KJS::Reference::putValue):
              (KJS::Reference::deleteValue):
              * kjs/regexp_object.cpp:
              (RegExpProtoFuncImp::callAsFunction):
              (RegExpObjectImp::construct):
              * kjs/string_object.cpp:
              (StringProtoFuncImp::callAsFunction):
      
      WebCore:
      
              Reviewed by Geoff.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4437
                clean up error creation with new throwError function
      
              * khtml/css/cssstyleselector.cpp:
              (khtml::CSSStyleSelector::CSSStyleSelector):
              (khtml::parseUASheet):
              (khtml::CSSStyleSelector::initElementAndPseudoState):
              (khtml::checkPseudoState):
              (khtml::CSSStyleSelector::locateCousinList):
              (khtml::CSSStyleSelector::locateSharedStyle):
              (khtml::CSSStyleSelector::adjustRenderStyle):
              (khtml::CSSStyleSelector::checkOneSelector):
              (khtml::CSSRuleSet::addToRuleSet):
              (khtml::colorForCSSValue):
              (khtml::CSSStyleSelector::applyProperty):
              (khtml::CSSStyleSelector::mapBackgroundAttachment):
              (khtml::CSSStyleSelector::mapBackgroundImage):
              (khtml::CSSStyleSelector::mapBackgroundRepeat):
              (khtml::CSSStyleSelector::mapBackgroundXPosition):
              (khtml::CSSStyleSelector::mapBackgroundYPosition):
              (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
              * khtml/ecma/domparser.cpp:
              (KJS::DOMParserProtoFunc::callAsFunction):
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::putDOMObject):
              (KJS::ScriptInterpreter::putDOMNodeForDocument):
              (KJS::setDOMException):
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
              (KJS::DOMStyleSheetListFunc::callAsFunction):
              (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
              (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
              (KJS::DOMCSSRuleListFunc::callAsFunction):
              (KJS::DOMCSSRuleFunc::callAsFunction):
              (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
              (KJS::DOMCSSValueListFunc::callAsFunction):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNodeProtoFunc::callAsFunction):
              (KJS::DOMNodeListFunc::callAsFunction):
              (KJS::DOMDocumentProtoFunc::callAsFunction):
              (KJS::DOMElementProtoFunc::callAsFunction):
              (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
              (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
              (KJS::DOMCharacterDataProtoFunc::callAsFunction):
              (KJS::DOMTextProtoFunc::callAsFunction):
              * khtml/ecma/kjs_events.cpp:
              (KJS::DOMEventProtoFunc::callAsFunction):
              (KJS::DOMUIEventProtoFunc::callAsFunction):
              (KJS::DOMMouseEventProtoFunc::callAsFunction):
              (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
              (KJS::DOMMutationEventProtoFunc::callAsFunction):
              (KJS::DOMWheelEventProtoFunc::callAsFunction):
              (KJS::ClipboardProtoFunc::callAsFunction):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLDocFunction::callAsFunction):
              (KJS::KJS::HTMLElementFunction::callAsFunction):
              (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Context2D::putValueProperty):
              (KJS::GradientFunction::callAsFunction):
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::NavigatorFunc::callAsFunction):
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRangeProtoFunc::callAsFunction):
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
              (KJS::DOMNodeFilterProtoFunc::callAsFunction):
              (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractViewFunc::callAsFunction):
              * khtml/ecma/kjs_window.cpp:
              (KJS::Window::interpreter):
              (KJS::Window::retrieveWindow):
              (KJS::Window::retrieveActive):
              (KJS::Window::isSafeScript):
              (KJS::Window::clear):
              (KJS::WindowFunc::callAsFunction):
              (KJS::ScheduledAction::execute):
              (KJS::WindowQObject::pauseTimeouts):
              (KJS::LocationFunc::callAsFunction):
              (KJS::Selection::toString):
              (KJS::SelectionFunc::callAsFunction):
              (KJS::HistoryFunc::callAsFunction):
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequestProtoFunc::callAsFunction):
              * khtml/ecma/xmlserializer.cpp:
              (KJS::XMLSerializerProtoFunc::callAsFunction):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98e28606
  30. 07 Aug, 2005 1 commit
    • darin's avatar
      JavaScriptCore: · c13d2caf
      darin authored
              Rubber stamped by Maciej.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4313
                eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Removed object_wrapper.h.
      
              Global replaces and other wonderful stuff.
      
              * bindings/NP_jsobject.cpp:
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_SetProperty):
              (_NPN_HasMethod):
              (_NPN_SetException):
              * bindings/c/c_instance.cpp:
              (KJS::Bindings::CInstance::CInstance):
              (KJS::Bindings::CInstance::invokeMethod):
              (KJS::Bindings::CInstance::invokeDefaultMethod):
              (KJS::Bindings::CInstance::defaultValue):
              (KJS::Bindings::CInstance::stringValue):
              (KJS::Bindings::CInstance::numberValue):
              (KJS::Bindings::CInstance::booleanValue):
              (KJS::Bindings::CInstance::valueOf):
              * bindings/c/c_instance.h:
              * bindings/c/c_runtime.cpp:
              (CField::valueFromInstance):
              (CField::setValueToInstance):
              * bindings/c/c_runtime.h:
              * bindings/c/c_utility.cpp:
              (convertNPStringToUTF16):
              (convertUTF8ToUTF16):
              (coerceValueToNPVariantStringType):
              (convertValueToNPVariant):
              (convertNPVariantToValue):
              * bindings/c/c_utility.h:
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::invokeDefaultMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bindings/jni/jni_instance.h:
              * bindings/jni/jni_jsobject.cpp:
              (JSObject::invoke):
              (JSObject::call):
              (JSObject::eval):
              (JSObject::getMember):
              (JSObject::getSlot):
              (JSObject::toString):
              (JSObject::convertValueToJObject):
              (JSObject::convertJObjectToValue):
              (JSObject::listFromJArray):
              * bindings/jni/jni_jsobject.h:
              * bindings/jni/jni_objc.mm:
              (KJS::Bindings::dispatchJNICall):
              * bindings/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bindings/jni/jni_runtime.h:
              (KJS::Bindings::JavaString::ustring):
              * bindings/jni/jni_utility.cpp:
              (KJS::Bindings::getJavaVM):
              (KJS::Bindings::getJNIEnv):
              (KJS::Bindings::getMethodID):
              (KJS::Bindings::callJNIVoidMethod):
              (KJS::Bindings::callJNIObjectMethod):
              (KJS::Bindings::callJNIBooleanMethod):
              (KJS::Bindings::callJNIStaticBooleanMethod):
              (KJS::Bindings::callJNIByteMethod):
              (KJS::Bindings::callJNICharMethod):
              (KJS::Bindings::callJNIShortMethod):
              (KJS::Bindings::callJNIIntMethod):
              (KJS::Bindings::callJNILongMethod):
              (KJS::Bindings::callJNIFloatMethod):
              (KJS::Bindings::callJNIDoubleMethod):
              (KJS::Bindings::callJNIVoidMethodA):
              (KJS::Bindings::callJNIObjectMethodA):
              (KJS::Bindings::callJNIByteMethodA):
              (KJS::Bindings::callJNICharMethodA):
              (KJS::Bindings::callJNIShortMethodA):
              (KJS::Bindings::callJNIIntMethodA):
              (KJS::Bindings::callJNILongMethodA):
              (KJS::Bindings::callJNIFloatMethodA):
              (KJS::Bindings::callJNIDoubleMethodA):
              (KJS::Bindings::callJNIBooleanMethodA):
              (KJS::Bindings::callJNIVoidMethodIDA):
              (KJS::Bindings::callJNIObjectMethodIDA):
              (KJS::Bindings::callJNIByteMethodIDA):
              (KJS::Bindings::callJNICharMethodIDA):
              (KJS::Bindings::callJNIShortMethodIDA):
              (KJS::Bindings::callJNIIntMethodIDA):
              (KJS::Bindings::callJNILongMethodIDA):
              (KJS::Bindings::callJNIFloatMethodIDA):
              (KJS::Bindings::callJNIDoubleMethodIDA):
              (KJS::Bindings::callJNIBooleanMethodIDA):
              (KJS::Bindings::getCharactersFromJString):
              (KJS::Bindings::releaseCharactersForJString):
              (KJS::Bindings::getCharactersFromJStringInEnv):
              (KJS::Bindings::releaseCharactersForJStringInEnv):
              (KJS::Bindings::getUCharactersFromJStringInEnv):
              (KJS::Bindings::releaseUCharactersForJStringInEnv):
              (KJS::Bindings::JNITypeFromClassName):
              (KJS::Bindings::signatureFromPrimitiveType):
              (KJS::Bindings::JNITypeFromPrimitiveType):
              (KJS::Bindings::getJNIField):
              (KJS::Bindings::convertValueToJValue):
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              (_didExecute):
              (-[WebScriptObject _initializeWithObjectImp:originExecutionContext:Bindings::executionContext:Bindings::]):
              (-[WebScriptObject _initWithObjectImp:originExecutionContext:Bindings::executionContext:Bindings::]):
              (-[WebScriptObject _imp]):
              (-[WebScriptObject _executionContext]):
              (-[WebScriptObject _setExecutionContext:]):
              (-[WebScriptObject _originExecutionContext]):
              (-[WebScriptObject _setOriginExecutionContext:]):
              (+[WebScriptObject throwException:]):
              (listFromNSArray):
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject setValue:forKey:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject removeWebScriptKey:]):
              (-[WebScriptObject stringRepresentation]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (-[WebScriptObject setException:]):
              (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:Bindings::]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              (KJS::Bindings::ObjcClass::fallbackObject):
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfField):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bindings/objc/objc_runtime.h:
              * bindings/objc/objc_runtime.mm:
              (ObjcField::valueFromInstance):
              (convertValueToObjcObject):
              (ObjcField::setValueToInstance):
              (ObjcArray::setValueAt):
              (ObjcArray::valueAt):
              (ObjcFallbackObjectImp::put):
              (ObjcFallbackObjectImp::callAsFunction):
              (ObjcFallbackObjectImp::defaultValue):
              * bindings/objc/objc_utility.h:
              * bindings/objc/objc_utility.mm:
              (Bindings::JSMethodNameToObjCMethodName):
              (Bindings::convertValueToObjcValue):
              (Bindings::convertNSStringToString):
              (Bindings::convertObjcValueToValue):
              (Bindings::objcValueTypeForType):
              (Bindings::createObjcInstanceForValue):
              * bindings/runtime.cpp:
              (Instance::getValueOfField):
              (Instance::setValueOfField):
              (Instance::createRuntimeObject):
              (Instance::createLanguageInstanceForValue):
              * bindings/runtime.h:
              (KJS::Bindings::Constructor::~Constructor):
              (KJS::Bindings::Field::~Field):
              (KJS::Bindings::MethodList::MethodList):
              (KJS::Bindings::Class::fallbackObject):
              (KJS::Bindings::Class::~Class):
              (KJS::Bindings::Instance::Instance):
              (KJS::Bindings::Instance::getValueOfUndefinedField):
              (KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
              (KJS::Bindings::Instance::setValueOfUndefinedField):
              (KJS::Bindings::Instance::valueOf):
              (KJS::Bindings::Instance::setExecutionContext):
              (KJS::Bindings::Instance::~Instance):
              (KJS::Bindings::Array::~Array):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::RuntimeArrayImp):
              (RuntimeArrayImp::lengthGetter):
              (RuntimeArrayImp::indexGetter):
              (RuntimeArrayImp::put):
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::lengthGetter):
              (RuntimeMethodImp::callAsFunction):
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::fallbackObjectGetter):
              (RuntimeObjectImp::fieldGetter):
              (RuntimeObjectImp::methodGetter):
              (RuntimeObjectImp::getOwnPropertySlot):
              (RuntimeObjectImp::put):
              (RuntimeObjectImp::defaultValue):
              (RuntimeObjectImp::callAsFunction):
              * bindings/runtime_object.h:
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::lengthGetter):
              (ArrayInstanceImp::getOwnPropertySlot):
              (ArrayInstanceImp::put):
              (ArrayInstanceImp::propList):
              (ArrayInstanceImp::setLength):
              (compareByStringForQSort):
              (compareWithCompareFunctionForQSort):
              (ArrayInstanceImp::sort):
              (ArrayInstanceImp::pushUndefinedObjectsToEnd):
              (ArrayPrototypeImp::ArrayPrototypeImp):
              (ArrayProtoFuncImp::ArrayProtoFuncImp):
              (ArrayProtoFuncImp::callAsFunction):
              (ArrayObjectImp::ArrayObjectImp):
              (ArrayObjectImp::construct):
              (ArrayObjectImp::callAsFunction):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (BooleanPrototypeImp::BooleanPrototypeImp):
              (BooleanProtoFuncImp::BooleanProtoFuncImp):
              (BooleanProtoFuncImp::callAsFunction):
              (BooleanObjectImp::BooleanObjectImp):
              (BooleanObjectImp::construct):
              (BooleanObjectImp::callAsFunction):
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              (KJS::Collector::markStackObjectsConservatively):
              (KJS::Collector::collect):
              (KJS::className):
              * kjs/completion.h:
              (KJS::Completion::Completion):
              (KJS::Completion::value):
              (KJS::Completion::isValueCompletion):
              * kjs/context.h:
              (KJS::ContextImp::variableObject):
              (KJS::ContextImp::setVariableObject):
              (KJS::ContextImp::thisValue):
              (KJS::ContextImp::activationObject):
              (KJS::ContextImp::pushScope):
              * kjs/date_object.cpp:
              (formatLocaleDate):
              (KJS::timeFromArgs):
              (KJS::DatePrototypeImp::DatePrototypeImp):
              (KJS::DateProtoFuncImp::DateProtoFuncImp):
              (KJS::DateProtoFuncImp::callAsFunction):
              (KJS::DateObjectImp::DateObjectImp):
              (KJS::DateObjectImp::construct):
              (KJS::DateObjectImp::callAsFunction):
              (KJS::DateObjectFuncImp::DateObjectFuncImp):
              (KJS::DateObjectFuncImp::callAsFunction):
              (KJS::parseDate):
              (KJS::KRFCDate_parseDate):
              (KJS::timeClip):
              * kjs/date_object.h:
              * kjs/debugger.cpp:
              (Debugger::exception):
              (Debugger::callEvent):
              (Debugger::returnEvent):
              * kjs/debugger.h:
              * kjs/error_object.cpp:
              (ErrorPrototypeImp::ErrorPrototypeImp):
              (ErrorProtoFuncImp::ErrorProtoFuncImp):
              (ErrorProtoFuncImp::callAsFunction):
              (ErrorObjectImp::ErrorObjectImp):
              (ErrorObjectImp::construct):
              (ErrorObjectImp::callAsFunction):
              (NativeErrorPrototypeImp::NativeErrorPrototypeImp):
              (NativeErrorImp::NativeErrorImp):
              (NativeErrorImp::construct):
              (NativeErrorImp::callAsFunction):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::FunctionImp):
              (KJS::FunctionImp::callAsFunction):
              (KJS::FunctionImp::processParameters):
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::FunctionImp::put):
              (KJS::DeclaredFunctionImp::DeclaredFunctionImp):
              (KJS::DeclaredFunctionImp::construct):
              (KJS::ArgumentsImp::ArgumentsImp):
              (KJS::ArgumentsImp::mappedIndexGetter):
              (KJS::ArgumentsImp::put):
              (KJS::ActivationImp::argumentsGetter):
              (KJS::GlobalFuncImp::GlobalFuncImp):
              (KJS::encode):
              (KJS::decode):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (FunctionPrototypeImp::FunctionPrototypeImp):
              (FunctionPrototypeImp::callAsFunction):
              (FunctionProtoFuncImp::FunctionProtoFuncImp):
              (FunctionProtoFuncImp::callAsFunction):
              (FunctionObjectImp::FunctionObjectImp):
              (FunctionObjectImp::construct):
              (FunctionObjectImp::callAsFunction):
              * kjs/function_object.h:
              * kjs/internal.cpp:
              (KJS::UndefinedImp::toPrimitive):
              (KJS::UndefinedImp::toObject):
              (KJS::NullImp::toPrimitive):
              (KJS::NullImp::toObject):
              (KJS::BooleanImp::toPrimitive):
              (KJS::BooleanImp::toObject):
              (KJS::StringImp::toPrimitive):
              (KJS::StringImp::toObject):
              (KJS::NumberImp::toPrimitive):
              (KJS::NumberImp::toObject):
              (KJS::NumberImp::getUInt32):
              (KJS::LabelStack::push):
              (KJS::ContextImp::ContextImp):
              (KJS::InterpreterImp::globalInit):
              (KJS::InterpreterImp::globalClear):
              (KJS::InterpreterImp::InterpreterImp):
              (KJS::InterpreterImp::initGlobalObject):
              (KJS::InterpreterImp::clear):
              (KJS::InterpreterImp::mark):
              (KJS::InterpreterImp::evaluate):
              (KJS::InternalFunctionImp::hasInstance):
              (KJS::roundValue):
              (KJS::printInfo):
              * kjs/internal.h:
              (KJS::InterpreterImp::builtinObject):
              (KJS::InterpreterImp::builtinFunction):
              (KJS::InterpreterImp::builtinArray):
              (KJS::InterpreterImp::builtinBoolean):
              (KJS::InterpreterImp::builtinString):
              (KJS::InterpreterImp::builtinNumber):
              (KJS::InterpreterImp::builtinDate):
              (KJS::InterpreterImp::builtinRegExp):
              (KJS::InterpreterImp::builtinError):
              (KJS::InterpreterImp::builtinObjectPrototype):
              (KJS::InterpreterImp::builtinFunctionPrototype):
              (KJS::InterpreterImp::builtinArrayPrototype):
              (KJS::InterpreterImp::builtinBooleanPrototype):
              (KJS::InterpreterImp::builtinStringPrototype):
              (KJS::InterpreterImp::builtinNumberPrototype):
              (KJS::InterpreterImp::builtinDatePrototype):
              (KJS::InterpreterImp::builtinRegExpPrototype):
              (KJS::InterpreterImp::builtinErrorPrototype):
              (KJS::InterpreterImp::builtinEvalError):
              (KJS::InterpreterImp::builtinRangeError):
              (KJS::InterpreterImp::builtinReferenceError):
              (KJS::InterpreterImp::builtinSyntaxError):
              (KJS::InterpreterImp::builtinTypeError):
              (KJS::InterpreterImp::builtinURIError):
              (KJS::InterpreterImp::builtinEvalErrorPrototype):
              (KJS::InterpreterImp::builtinRangeErrorPrototype):
              (KJS::InterpreterImp::builtinReferenceErrorPrototype):
              (KJS::InterpreterImp::builtinSyntaxErrorPrototype):
              (KJS::InterpreterImp::builtinTypeErrorPrototype):
              (KJS::InterpreterImp::builtinURIErrorPrototype):
              * kjs/interpreter.cpp:
              (Context::variableObject):
              (Context::thisValue):
              (Interpreter::Interpreter):
              (Interpreter::globalObject):
              (Interpreter::evaluate):
              (Interpreter::builtinObject):
              (Interpreter::builtinFunction):
              (Interpreter::builtinArray):
              (Interpreter::builtinBoolean):
              (Interpreter::builtinString):
              (Interpreter::builtinNumber):
              (Interpreter::builtinDate):
              (Interpreter::builtinRegExp):
              (Interpreter::builtinError):
              (Interpreter::builtinObjectPrototype):
              (Interpreter::builtinFunctionPrototype):
              (Interpreter::builtinArrayPrototype):
              (Interpreter::builtinBooleanPrototype):
              (Interpreter::builtinStringPrototype):
              (Interpreter::builtinNumberPrototype):
              (Interpreter::builtinDatePrototype):
              (Interpreter::builtinRegExpPrototype):
              (Interpreter::builtinErrorPrototype):
              (Interpreter::builtinEvalError):
              (Interpreter::builtinRangeError):
              (Interpreter::builtinReferenceError):
              (Interpreter::builtinSyntaxError):
              (Interpreter::builtinTypeError):
              (Interpreter::builtinURIError):
              (Interpreter::builtinEvalErrorPrototype):
              (Interpreter::builtinRangeErrorPrototype):
              (Interpreter::builtinReferenceErrorPrototype):
              (Interpreter::builtinSyntaxErrorPrototype):
              (Interpreter::builtinTypeErrorPrototype):
              (Interpreter::builtinURIErrorPrototype):
              (Interpreter::createLanguageInstanceForValue):
              * kjs/interpreter.h:
              (KJS::Interpreter::isGlobalObject):
              (KJS::ExecState::setException):
              (KJS::ExecState::clearException):
              (KJS::ExecState::exception):
              (KJS::ExecState::hadException):
              (KJS::ExecState::ExecState):
              * kjs/list.cpp:
              (KJS::List::at):
              * kjs/list.h:
              (KJS::List::operator[]):
              (KJS::ListIterator::operator->):
              (KJS::ListIterator::operator*):
              (KJS::ListIterator::operator++):
              (KJS::ListIterator::operator--):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              (KJS::lookupPut):
              (KJS::cacheGlobalObject):
              * kjs/math_object.cpp:
              (MathObjectImp::getValueProperty):
              (MathFuncImp::MathFuncImp):
              (MathFuncImp::callAsFunction):
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              (Node::evaluateReference):
              (Node::throwError):
              (Node::setExceptionDetailsIfNeeded):
              (NullNode::evaluate):
              (BooleanNode::evaluate):
              (NumberNode::evaluate):
              (StringNode::evaluate):
              (RegExpNode::evaluate):
              (ThisNode::evaluate):
              (ResolveNode::evaluate):
              (ResolveNode::evaluateReference):
              (GroupNode::evaluate):
              (ElementNode::evaluate):
              (ArrayNode::evaluate):
              (ObjectLiteralNode::evaluate):
              (PropertyValueNode::evaluate):
              (PropertyNode::evaluate):
              (AccessorNode1::evaluate):
              (AccessorNode1::evaluateReference):
              (AccessorNode2::evaluate):
              (AccessorNode2::evaluateReference):
              (ArgumentListNode::evaluate):
              (ArgumentListNode::evaluateList):
              (ArgumentsNode::evaluate):
              (NewExprNode::evaluate):
              (FunctionCallNode::evaluate):
              (PostfixNode::evaluate):
              (DeleteNode::evaluate):
              (VoidNode::evaluate):
              (TypeOfNode::evaluate):
              (PrefixNode::evaluate):
              (UnaryPlusNode::evaluate):
              (NegateNode::evaluate):
              (BitwiseNotNode::evaluate):
              (LogicalNotNode::evaluate):
              (MultNode::evaluate):
              (AddNode::evaluate):
              (ShiftNode::evaluate):
              (RelationalNode::evaluate):
              (EqualNode::evaluate):
              (BitOperNode::evaluate):
              (BinaryLogicalNode::evaluate):
              (ConditionalNode::evaluate):
              (AssignNode::evaluate):
              (CommaNode::evaluate):
              (StatListNode::execute):
              (AssignExprNode::evaluate):
              (VarDeclNode::evaluate):
              (VarDeclNode::processVarDecls):
              (VarDeclListNode::evaluate):
              (ExprStatementNode::execute):
              (IfNode::execute):
              (DoWhileNode::execute):
              (WhileNode::execute):
              (ForNode::execute):
              (ForInNode::execute):
              (ContinueNode::execute):
              (BreakNode::execute):
              (ReturnNode::execute):
              (WithNode::execute):
              (CaseClauseNode::evaluate):
              (ClauseListNode::evaluate):
              (CaseBlockNode::evaluate):
              (CaseBlockNode::evalBlock):
              (SwitchNode::execute):
              (ThrowNode::execute):
              (CatchNode::execute):
              (TryNode::execute):
              (ParameterNode::evaluate):
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::evaluate):
              (SourceElementsNode::execute):
              * kjs/nodes.h:
              (KJS::StatementNode::evaluate):
              * kjs/number_object.cpp:
              (NumberPrototypeImp::NumberPrototypeImp):
              (NumberProtoFuncImp::NumberProtoFuncImp):
              (NumberProtoFuncImp::callAsFunction):
              (NumberObjectImp::NumberObjectImp):
              (NumberObjectImp::getValueProperty):
              (NumberObjectImp::construct):
              (NumberObjectImp::callAsFunction):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::ObjectImp::call):
              (KJS::ObjectImp::mark):
              (KJS::ObjectImp::classInfo):
              (KJS::ObjectImp::get):
              (KJS::ObjectImp::getProperty):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::put):
              (KJS::ObjectImp::hasOwnProperty):
              (KJS::ObjectImp::defaultValue):
              (KJS::ObjectImp::findPropertyHashEntry):
              (KJS::ObjectImp::construct):
              (KJS::ObjectImp::callAsFunction):
              (KJS::ObjectImp::hasInstance):
              (KJS::ObjectImp::propList):
              (KJS::ObjectImp::toPrimitive):
              (KJS::ObjectImp::toNumber):
              (KJS::ObjectImp::toString):
              (KJS::ObjectImp::toObject):
              (KJS::ObjectImp::putDirect):
              (KJS::Error::create):
              (KJS::error):
              * kjs/object.h:
              (KJS::):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::AllocatedValueImp::isObject):
              (KJS::ObjectImp::ObjectImp):
              (KJS::ObjectImp::internalValue):
              (KJS::ObjectImp::setInternalValue):
              (KJS::ObjectImp::prototype):
              (KJS::ObjectImp::setPrototype):
              (KJS::ObjectImp::inherits):
              * kjs/object_object.cpp:
              (ObjectPrototypeImp::ObjectPrototypeImp):
              (ObjectProtoFuncImp::ObjectProtoFuncImp):
              (ObjectProtoFuncImp::callAsFunction):
              (ObjectObjectImp::ObjectObjectImp):
              (ObjectObjectImp::construct):
              (ObjectObjectImp::callAsFunction):
              * kjs/object_object.h:
              * kjs/operations.cpp:
              (KJS::equal):
              (KJS::strictEqual):
              (KJS::relation):
              (KJS::add):
              (KJS::mult):
              * kjs/operations.h:
              * kjs/property_map.cpp:
              (KJS::PropertyMap::mark):
              (KJS::PropertyMap::addEnumerablesToReferenceList):
              (KJS::PropertyMap::addSparseArrayPropertiesToReferenceList):
              (KJS::PropertyMap::save):
              (KJS::PropertyMap::restore):
              * kjs/property_map.h:
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::undefinedGetter):
              * kjs/property_slot.h:
              (KJS::PropertySlot::getValue):
              * kjs/protect.h:
              (KJS::gcUnprotectNullTolerant):
              (KJS::ProtectedValue::ProtectedValue):
              (KJS::ProtectedValue::~ProtectedValue):
              (KJS::ProtectedValue::operator=):
              (KJS::ProtectedValue::operator ValueImp *):
              (KJS::ProtectedValue::operator->):
              * kjs/protected_object.h:
              (KJS::ProtectedObject::ProtectedObject):
              (KJS::ProtectedObject::operator=):
              (KJS::ProtectedObject::operator ValueImp *):
              (KJS::ProtectedObject::operator ObjectImp *):
              (KJS::ProtectedObject::operator->):
              (KJS::ProtectedReference::ProtectedReference):
              (KJS::ProtectedReference::~ProtectedReference):
              (KJS::ProtectedReference::operator=):
              * kjs/protected_values.cpp:
              (KJS::ProtectedValues::getProtectCount):
              (KJS::ProtectedValues::increaseProtectCount):
              (KJS::ProtectedValues::insert):
              (KJS::ProtectedValues::decreaseProtectCount):
              * kjs/protected_values.h:
              * kjs/reference.cpp:
              (KJS::Reference::Reference):
              (KJS::Reference::makeValueReference):
              (KJS::Reference::getBase):
              (KJS::Reference::getValue):
              (KJS::Reference::putValue):
              (KJS::Reference::deleteValue):
              * kjs/reference.h:
              (KJS::Reference::baseIfMutable):
              * kjs/regexp_object.cpp:
              (RegExpPrototypeImp::RegExpPrototypeImp):
              (RegExpProtoFuncImp::RegExpProtoFuncImp):
              (RegExpProtoFuncImp::callAsFunction):
              (RegExpObjectImp::RegExpObjectImp):
              (RegExpObjectImp::arrayOfMatches):
              (RegExpObjectImp::backrefGetter):
              (RegExpObjectImp::construct):
              (RegExpObjectImp::callAsFunction):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::lengthGetter):
              (StringInstanceImp::indexGetter):
              (StringInstanceImp::getOwnPropertySlot):
              (StringInstanceImp::put):
              (StringPrototypeImp::StringPrototypeImp):
              (StringProtoFuncImp::StringProtoFuncImp):
              (regExpIsGlobal):
              (replace):
              (StringProtoFuncImp::callAsFunction):
              (StringObjectImp::StringObjectImp):
              (StringObjectImp::construct):
              (StringObjectImp::callAsFunction):
              (StringObjectFuncImp::StringObjectFuncImp):
              (StringObjectFuncImp::callAsFunction):
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              (TestFunctionImp::callAsFunction):
              (VersionFunctionImp::callAsFunction):
              (main):
              * kjs/value.cpp:
              (KJS::AllocatedValueImp::operator new):
              (KJS::AllocatedValueImp::getUInt32):
              (KJS::ValueImp::toInteger):
              (KJS::ValueImp::toInt32):
              (KJS::ValueImp::toUInt32):
              (KJS::ValueImp::toUInt16):
              (KJS::ValueImp::toObject):
              (KJS::AllocatedValueImp::getBoolean):
              (KJS::AllocatedValueImp::getNumber):
              (KJS::AllocatedValueImp::getString):
              (KJS::AllocatedValueImp::getObject):
              (KJS::jsString):
              (KJS::jsNumber):
              (KJS::ConstantValues::init):
              (KJS::ConstantValues::clear):
              (KJS::ConstantValues::mark):
              * kjs/value.h:
              (KJS::):
              (KJS::jsUndefined):
              (KJS::jsNull):
              (KJS::jsBoolean):
              (KJS::jsNaN):
              (KJS::ValueImp::ValueImp):
              (KJS::ValueImp::~ValueImp):
              (KJS::AllocatedValueImp::AllocatedValueImp):
              (KJS::AllocatedValueImp::~AllocatedValueImp):
              (KJS::AllocatedValueImp::isBoolean):
              (KJS::AllocatedValueImp::isNumber):
              (KJS::AllocatedValueImp::isString):
              (KJS::AllocatedValueImp::isObject):
              (KJS::AllocatedValueImp::marked):
              (KJS::AllocatedValueImp::mark):
              (KJS::ValueImp::downcast):
              (KJS::ValueImp::isUndefined):
              (KJS::ValueImp::isNull):
              (KJS::ValueImp::isUndefinedOrNull):
              (KJS::ValueImp::isBoolean):
              (KJS::ValueImp::isNumber):
              (KJS::ValueImp::isString):
              (KJS::ValueImp::isObject):
              (KJS::ValueImp::getBoolean):
              (KJS::ValueImp::getNumber):
              (KJS::ValueImp::getString):
              (KJS::ValueImp::getObject):
              (KJS::ValueImp::getUInt32):
              (KJS::ValueImp::mark):
              (KJS::ValueImp::marked):
              (KJS::ValueImp::type):
              (KJS::ValueImp::toPrimitive):
              (KJS::ValueImp::toBoolean):
              (KJS::ValueImp::toNumber):
              (KJS::ValueImp::toString):
              (KJS::jsZero):
              (KJS::jsOne):
              (KJS::jsTwo):
              (KJS::Undefined):
              (KJS::Null):
              (KJS::Boolean):
              (KJS::Number):
              (KJS::String):
      
      WebCore:
      
              Rubber stamped by Maciej.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4313
                eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
      
              * khtml/ecma/domparser.cpp:
              (KJS::DOMParserConstructorImp::construct):
              (KJS::DOMParserProtoFunc::callAsFunction):
              * khtml/ecma/domparser.h:
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::ScriptInterpreter):
              (KJS::ScriptInterpreter::isGlobalObject):
              (KJS::ScriptInterpreter::createLanguageInstanceForValue):
              (KJS::getStringOrNull):
              (KJS::ValueToVariant):
              (KJS::setDOMException):
              * khtml/ecma/kjs_binding.h:
              (KJS::DOMFunction::toPrimitive):
              (KJS::cacheDOMObject):
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::indexGetter):
              (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
              (KJS::DOMCSSStyleDeclaration::getValueProperty):
              (KJS::DOMCSSStyleDeclaration::put):
              (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
              (KJS::DOMStyleSheet::getValueProperty):
              (KJS::DOMStyleSheet::put):
              (KJS::DOMStyleSheetList::getValueProperty):
              (KJS::DOMStyleSheetList::indexGetter):
              (KJS::DOMStyleSheetList::nameGetter):
              (KJS::DOMStyleSheetListFunc::callAsFunction):
              (KJS::DOMMediaList::getValueProperty):
              (KJS::DOMMediaList::indexGetter):
              (KJS::DOMMediaList::put):
              (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
              (KJS::DOMCSSStyleSheet::getValueProperty):
              (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
              (KJS::DOMCSSRuleList::getValueProperty):
              (KJS::DOMCSSRuleList::indexGetter):
              (KJS::DOMCSSRuleListFunc::callAsFunction):
              (KJS::DOMCSSRule::getValueProperty):
              (KJS::DOMCSSRule::put):
              (KJS::DOMCSSRule::putValueProperty):
              (KJS::DOMCSSRuleFunc::callAsFunction):
              (KJS::CSSRuleConstructor::getValueProperty):
              (KJS::getCSSRuleConstructor):
              (KJS::DOMCSSValue::getValueProperty):
              (KJS::DOMCSSValue::put):
              (KJS::getDOMCSSValue):
              (KJS::CSSValueConstructor::getValueProperty):
              (KJS::getCSSValueConstructor):
              (KJS::DOMCSSPrimitiveValue::getValueProperty):
              (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
              (KJS::CSSPrimitiveValueConstructor::getValueProperty):
              (KJS::getCSSPrimitiveValueConstructor):
              (KJS::DOMCSSValueList::getValueProperty):
              (KJS::DOMCSSValueList::indexGetter):
              (KJS::DOMCSSValueListFunc::callAsFunction):
              (KJS::DOMRGBColor::getValueProperty):
              (KJS::DOMRect::getValueProperty):
              (KJS::DOMCounter::getValueProperty):
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getValueProperty):
              (KJS::DOMNode::put):
              (KJS::DOMNode::putValueProperty):
              (KJS::DOMNode::toPrimitive):
              (KJS::DOMNode::getListener):
              (KJS::DOMNodeProtoFunc::callAsFunction):
              (KJS::DOMNodeList::toPrimitive):
              (KJS::DOMNodeList::getValueProperty):
              (KJS::DOMNodeList::indexGetter):
              (KJS::DOMNodeList::nameGetter):
              (KJS::DOMNodeList::callAsFunction):
              (KJS::DOMNodeListFunc::DOMNodeListFunc):
              (KJS::DOMNodeListFunc::callAsFunction):
              (KJS::DOMAttr::getValueProperty):
              (KJS::DOMAttr::put):
              (KJS::DOMAttr::putValueProperty):
              (KJS::DOMDocument::getValueProperty):
              (KJS::DOMDocument::put):
              (KJS::DOMDocument::putValueProperty):
              (KJS::DOMDocumentProtoFunc::callAsFunction):
              (KJS::DOMElement::getValueProperty):
              (KJS::DOMElement::attributeGetter):
              (KJS::DOMElement::getOwnPropertySlot):
              (KJS::DOMElementProtoFunc::callAsFunction):
              (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
              (KJS::DOMDocumentType::getValueProperty):
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMap::indexGetter):
              (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
              (KJS::DOMProcessingInstruction::getValueProperty):
              (KJS::DOMProcessingInstruction::put):
              (KJS::DOMNotation::getValueProperty):
              (KJS::DOMEntity::getValueProperty):
              (KJS::NodeConstructor::getValueProperty):
              (KJS::DOMExceptionConstructor::getValueProperty):
              (KJS::DOMNamedNodesCollection::lengthGetter):
              (KJS::DOMNamedNodesCollection::indexGetter):
              (KJS::DOMCharacterData::getValueProperty):
              (KJS::DOMCharacterData::put):
              (KJS::DOMCharacterDataProtoFunc::callAsFunction):
              (KJS::DOMTextProtoFunc::callAsFunction):
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::JSAbstractEventListener::handleEvent):
              (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener):
              (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
              (KJS::JSUnprotectedEventListener::listenerObj):
              (KJS::JSUnprotectedEventListener::windowObj):
              (KJS::JSUnprotectedEventListener::mark):
              (KJS::JSEventListener::JSEventListener):
              (KJS::JSEventListener::~JSEventListener):
              (KJS::JSEventListener::listenerObj):
              (KJS::JSEventListener::windowObj):
              (KJS::JSLazyEventListener::JSLazyEventListener):
              (KJS::JSLazyEventListener::handleEvent):
              (KJS::JSLazyEventListener::listenerObj):
              (KJS::JSLazyEventListener::parseCode):
              (KJS::getNodeEventListener):
              (KJS::EventConstructor::getValueProperty):
              (KJS::getEventConstructor):
              (KJS::DOMEvent::getValueProperty):
              (KJS::DOMEvent::put):
              (KJS::DOMEvent::putValueProperty):
              (KJS::DOMEventProtoFunc::callAsFunction):
              (KJS::getDOMEvent):
              (KJS::EventExceptionConstructor::getValueProperty):
              (KJS::getEventExceptionConstructor):
              (KJS::DOMUIEvent::getValueProperty):
              (KJS::DOMUIEventProtoFunc::callAsFunction):
              (KJS::DOMMouseEvent::getValueProperty):
              (KJS::DOMMouseEventProtoFunc::callAsFunction):
              (KJS::DOMKeyboardEvent::getValueProperty):
              (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
              (KJS::MutationEventConstructor::getValueProperty):
              (KJS::getMutationEventConstructor):
              (KJS::DOMMutationEvent::getValueProperty):
              (KJS::DOMMutationEventProtoFunc::callAsFunction):
              (KJS::DOMWheelEvent::getValueProperty):
              (KJS::DOMWheelEventProtoFunc::callAsFunction):
              (KJS::stringOrUndefined):
              (KJS::Clipboard::getValueProperty):
              (KJS::Clipboard::put):
              (KJS::Clipboard::putValueProperty):
              (KJS::ClipboardProtoFunc::callAsFunction):
              * khtml/ecma/kjs_events.h:
              (KJS::JSAbstractEventListener::listenerObjImp):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLDocFunction::callAsFunction):
              (KJS::HTMLDocument::namedItemGetter):
              (KJS::HTMLDocument::getValueProperty):
              (KJS::KJS::HTMLDocument::put):
              (KJS::KJS::HTMLDocument::putValueProperty):
              (KJS::HTMLElement::formIndexGetter):
              (KJS::HTMLElement::formNameGetter):
              (KJS::HTMLElement::selectIndexGetter):
              (KJS::HTMLElement::framesetNameGetter):
              (KJS::HTMLElement::frameWindowPropertyGetter):
              (KJS::HTMLElement::runtimeObjectGetter):
              (KJS::HTMLElement::runtimeObjectPropertyGetter):
              (KJS::HTMLElement::getOwnPropertySlot):
              (KJS::KJS::HTMLElement::implementsCall):
              (KJS::KJS::HTMLElement::callAsFunction):
              (KJS::HTMLElement::htmlGetter):
              (KJS::HTMLElement::headGetter):
              (KJS::HTMLElement::linkGetter):
              (KJS::HTMLElement::titleGetter):
              (KJS::HTMLElement::metaGetter):
              (KJS::HTMLElement::baseGetter):
              (KJS::HTMLElement::isIndexGetter):
              (KJS::HTMLElement::styleGetter):
              (KJS::HTMLElement::bodyGetter):
              (KJS::HTMLElement::formGetter):
              (KJS::HTMLElement::selectGetter):
              (KJS::HTMLElement::optGroupGetter):
              (KJS::HTMLElement::optionGetter):
              (KJS::getInputSelectionStart):
              (KJS::getInputSelectionEnd):
              (KJS::HTMLElement::inputGetter):
              (KJS::HTMLElement::textAreaGetter):
              (KJS::HTMLElement::buttonGetter):
              (KJS::HTMLElement::labelGetter):
              (KJS::HTMLElement::fieldSetGetter):
              (KJS::HTMLElement::legendGetter):
              (KJS::HTMLElement::uListGetter):
              (KJS::HTMLElement::oListGetter):
              (KJS::HTMLElement::dListGetter):
              (KJS::HTMLElement::dirGetter):
              (KJS::HTMLElement::menuGetter):
              (KJS::HTMLElement::liGetter):
              (KJS::HTMLElement::divGetter):
              (KJS::HTMLElement::paragraphGetter):
              (KJS::HTMLElement::headingGetter):
              (KJS::HTMLElement::blockQuoteGetter):
              (KJS::HTMLElement::quoteGetter):
              (KJS::HTMLElement::preGetter):
              (KJS::HTMLElement::brGetter):
              (KJS::HTMLElement::baseFontGetter):
              (KJS::HTMLElement::fontGetter):
              (KJS::HTMLElement::hrGetter):
              (KJS::HTMLElement::modGetter):
              (KJS::HTMLElement::anchorGetter):
              (KJS::HTMLElement::imageGetter):
              (KJS::HTMLElement::objectGetter):
              (KJS::HTMLElement::paramGetter):
              (KJS::HTMLElement::appletGetter):
              (KJS::HTMLElement::mapGetter):
              (KJS::HTMLElement::areaGetter):
              (KJS::HTMLElement::scriptGetter):
              (KJS::HTMLElement::tableGetter):
              (KJS::HTMLElement::tableCaptionGetter):
              (KJS::HTMLElement::tableColGetter):
              (KJS::HTMLElement::tableSectionGetter):
              (KJS::HTMLElement::tableRowGetter):
              (KJS::HTMLElement::tableCellGetter):
              (KJS::HTMLElement::frameSetGetter):
              (KJS::HTMLElement::frameGetter):
              (KJS::HTMLElement::iFrameGetter):
              (KJS::HTMLElement::marqueeGetter):
              (KJS::HTMLElement::getValueProperty):
              (KJS::HTMLElementFunction::HTMLElementFunction):
              (KJS::KJS::HTMLElementFunction::callAsFunction):
              (KJS::KJS::HTMLElement::put):
              (KJS::HTMLElement::htmlSetter):
              (KJS::HTMLElement::headSetter):
              (KJS::HTMLElement::linkSetter):
              (KJS::HTMLElement::titleSetter):
              (KJS::HTMLElement::metaSetter):
              (KJS::HTMLElement::baseSetter):
              (KJS::HTMLElement::isIndexSetter):
              (KJS::HTMLElement::styleSetter):
              (KJS::HTMLElement::bodySetter):
              (KJS::HTMLElement::formSetter):
              (KJS::HTMLElement::selectSetter):
              (KJS::HTMLElement::optGroupSetter):
              (KJS::HTMLElement::optionSetter):
              (KJS::HTMLElement::inputSetter):
              (KJS::HTMLElement::textAreaSetter):
              (KJS::HTMLElement::buttonSetter):
              (KJS::HTMLElement::labelSetter):
              (KJS::HTMLElement::fieldSetSetter):
              (KJS::HTMLElement::legendSetter):
              (KJS::HTMLElement::uListSetter):
              (KJS::HTMLElement::oListSetter):
              (KJS::HTMLElement::dListSetter):
              (KJS::HTMLElement::dirSetter):
              (KJS::HTMLElement::menuSetter):
              (KJS::HTMLElement::liSetter):
              (KJS::HTMLElement::divSetter):
              (KJS::HTMLElement::paragraphSetter):
              (KJS::HTMLElement::headingSetter):
              (KJS::HTMLElement::blockQuoteSetter):
              (KJS::HTMLElement::quoteSetter):
              (KJS::HTMLElement::preSetter):
              (KJS::HTMLElement::brSetter):
              (KJS::HTMLElement::baseFontSetter):
              (KJS::HTMLElement::fontSetter):
              (KJS::HTMLElement::hrSetter):
              (KJS::HTMLElement::modSetter):
              (KJS::HTMLElement::anchorSetter):
              (KJS::HTMLElement::imageSetter):
              (KJS::HTMLElement::objectSetter):
              (KJS::HTMLElement::paramSetter):
              (KJS::HTMLElement::appletSetter):
              (KJS::HTMLElement::mapSetter):
              (KJS::HTMLElement::areaSetter):
              (KJS::HTMLElement::scriptSetter):
              (KJS::HTMLElement::tableSetter):
              (KJS::HTMLElement::tableCaptionSetter):
              (KJS::HTMLElement::tableColSetter):
              (KJS::HTMLElement::tableSectionSetter):
              (KJS::HTMLElement::tableRowSetter):
              (KJS::HTMLElement::tableCellSetter):
              (KJS::HTMLElement::frameSetSetter):
              (KJS::HTMLElement::frameSetter):
              (KJS::HTMLElement::iFrameSetter):
              (KJS::HTMLElement::marqueeSetter):
              (KJS::HTMLElement::putValueProperty):
              (KJS::HTMLCollection::lengthGetter):
              (KJS::HTMLCollection::indexGetter):
              (KJS::HTMLCollection::nameGetter):
              (KJS::HTMLCollection::getOwnPropertySlot):
              (KJS::KJS::HTMLCollection::callAsFunction):
              (KJS::KJS::HTMLCollection::getNamedItems):
              (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::HTMLSelectCollection::selectedIndexGetter):
              (KJS::KJS::HTMLSelectCollection::put):
              (KJS::OptionConstructorImp::construct):
              (KJS::ImageConstructorImp::construct):
              (KJS::Image::getValueProperty):
              (KJS::Image::put):
              (KJS::Image::putValueProperty):
              (KJS::isGradient):
              (KJS::isImagePattern):
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Context2D::getValueProperty):
              (KJS::Context2D::put):
              (KJS::colorRefFromValue):
              (KJS::colorFromValue):
              (KJS::Context2D::setShadow):
              (KJS::Context2D::updateFillImagePattern):
              (KJS::Context2D::updateStrokeImagePattern):
              (KJS::Context2D::putValueProperty):
              (KJS::Context2D::Context2D):
              (KJS::Context2D::mark):
              (KJS::GradientFunction::callAsFunction):
              (KJS::Gradient::getValueProperty):
              (KJS::Gradient::put):
              (KJS::Gradient::putValueProperty):
              (KJS::ImagePattern::getValueProperty):
              (KJS::ImagePattern::put):
              (KJS::ImagePattern::putValueProperty):
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Navigator::getValueProperty):
              (KJS::Plugins::getValueProperty):
              (KJS::Plugins::indexGetter):
              (KJS::Plugins::nameGetter):
              (KJS::MimeTypes::getValueProperty):
              (KJS::MimeTypes::indexGetter):
              (KJS::MimeTypes::nameGetter):
              (KJS::Plugin::getValueProperty):
              (KJS::Plugin::indexGetter):
              (KJS::Plugin::nameGetter):
              (KJS::MimeType::getValueProperty):
              (KJS::PluginsFunc::callAsFunction):
              (KJS::NavigatorFunc::callAsFunction):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_proxy.cpp:
              (KJSProxyImpl::evaluate):
              (TestFunctionImp::callAsFunction):
              (KJSProxyImpl::initScript):
              (KJSProxy::proxy):
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getValueProperty):
              (KJS::DOMRangeProtoFunc::callAsFunction):
              (KJS::RangeConstructor::getValueProperty):
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getValueProperty):
              (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
              (KJS::NodeFilterConstructor::getValueProperty):
              (KJS::getNodeFilterConstructor):
              (KJS::DOMNodeFilterProtoFunc::callAsFunction):
              (KJS::DOMTreeWalker::getValueProperty):
              (KJS::DOMTreeWalker::put):
              (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
              (KJS::JSNodeFilterCondition::JSNodeFilterCondition):
              (KJS::JSNodeFilterCondition::acceptNode):
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::getValueProperty):
              (KJS::DOMAbstractViewFunc::callAsFunction):
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::Screen::getValueProperty):
              (KJS::Window::retrieveWindow):
              (KJS::Window::retrieveActive):
              (KJS::Window::retrieve):
              (KJS::parseFeatures):
              (KJS::showModalDialog):
              (KJS::Window::getValueProperty):
              (KJS::Window::childFrameGetter):
              (KJS::Window::namedFrameGetter):
              (KJS::Window::indexGetter):
              (KJS::Window::namedItemGetter):
              (KJS::Window::put):
              (KJS::Window::installTimeout):
              (KJS::Window::setListener):
              (KJS::Window::getListener):
              (KJS::Window::getJSEventListener):
              (KJS::Window::getJSUnprotectedEventListener):
              (KJS::Window::getJSLazyEventListener):
              (KJS::WindowFunc::callAsFunction):
              (KJS::ScheduledAction::ScheduledAction):
              (KJS::ScheduledAction::execute):
              (KJS::WindowQObject::installTimeout):
              (KJS::FrameArray::getValueProperty):
              (KJS::FrameArray::indexGetter):
              (KJS::FrameArray::nameGetter):
              (KJS::Location::getValueProperty):
              (KJS::Location::put):
              (KJS::Location::toPrimitive):
              (KJS::LocationFunc::callAsFunction):
              (KJS::Selection::getValueProperty):
              (KJS::Selection::toPrimitive):
              (KJS::SelectionFunc::callAsFunction):
              (KJS::BarInfo::getValueProperty):
              (KJS::History::getValueProperty):
              (KJS::HistoryFunc::callAsFunction):
              (KJS::Konqueror::get):
              (KJS::KonquerorFunc::callAsFunction):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequestConstructorImp::construct):
              (KJS::XMLHttpRequest::getValueProperty):
              (KJS::XMLHttpRequest::put):
              (KJS::XMLHttpRequest::putValueProperty):
              (KJS::XMLHttpRequest::getAllResponseHeaders):
              (KJS::XMLHttpRequest::getResponseHeader):
              (KJS::XMLHttpRequest::getStatus):
              (KJS::XMLHttpRequest::getStatusText):
              (KJS::XMLHttpRequestProtoFunc::callAsFunction):
              * khtml/ecma/xmlhttprequest.h:
              * khtml/ecma/xmlserializer.cpp:
              (KJS::XMLSerializerConstructorImp::construct):
              (KJS::XMLSerializerProtoFunc::callAsFunction):
              * khtml/ecma/xmlserializer.h:
              * kwq/DOMUtility.mm:
              (KJS::ScriptInterpreter::createObjcInstanceForValue):
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::bindingRootObject):
              (KWQKHTMLPart::windowScriptObject):
              (KWQKHTMLPart::windowScriptNPObject):
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge executionContextForView:]):
              * kwq/WebCoreScriptDebugger.mm:
              (WebCoreScriptDebuggerImp::callEvent):
              (WebCoreScriptDebuggerImp::returnEvent):
              (-[WebCoreScriptDebugger finalize]):
              (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
              (-[WebCoreScriptCallFrame scopeChain]):
              (-[WebCoreScriptCallFrame evaluateWebScript:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13d2caf
  31. 14 Jul, 2005 1 commit
    • ggaren's avatar
      -rolled in patches for http://bugzilla.opendarwin.org/show_bug.cgi?id=3945 · 07d4ce61
      ggaren authored
              [PATCH] Safe merges of comments and other trivialities from KDE's kjs
      
              -patch by Martijn Klingens <klingens@kde.org>
      
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/context.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/debugger.cpp:
              * kjs/debugger.h:
              * kjs/dtoa.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/function_object.h:
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/interpreter_map.cpp:
              * kjs/interpreter_map.h:
              * kjs/lexer.cpp:
              * kjs/lexer.h:
              * kjs/list.cpp:
              * kjs/list.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/object_object.cpp:
              * kjs/object_object.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/reference_list.cpp:
              * kjs/reference_list.h:
              * kjs/regexp.cpp:
              * kjs/regexp.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/scope_chain.cpp:
              * kjs/scope_chain.h:
              * kjs/simple_number.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/types.h:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              * kjs/value.cpp:
              * kjs/value.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07d4ce61
  32. 28 Apr, 2005 1 commit
    • darin's avatar
      Reviewed by Dave Harrison. · 44b175ce
      darin authored
              - fixed problems preventing us from compiling with gcc 4.0
      
              * JavaScriptCore.pbproj/project.pbxproj: Removed -Wmissing-prototypes from
              WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
      
              * bindings/jni/jni_jsobject.cpp:
              (JSObject::getSlot): Changed some %d to %ld where the parameters where long ints.
              (JSObject::setSlot): Ditto.
              * bindings/jni/jni_utility.cpp:
              (KJS::Bindings::getJavaVM): Ditto.
              (KJS::Bindings::getJNIEnv): Ditto.
              * bindings/objc/objc_utility.mm: Fixed include of <JavascriptCore/internal.h> that needed the
              letter "S" capitalized.
              * kjs/bool_object.cpp: (BooleanProtoFuncImp::call): Rearranged how this function returns to
              avoid incorrect gcc 4.0 warning.
              * kjs/collector.cpp: (KJS::Collector::markStackObjectsConservatively): Changed code to check
              the alignment of the passed-in pointers to only require pointer-level alignment, not 8-byte alignment.
              Prevents a crash on garbage collect when compiled with gcc 4.0.
              * kjs/nodes.cpp:
              (WhileNode::execute): Added a redundant return after an infinite loop to work around incorrect gcc 4.0 warning.
              (ForNode::execute): Ditto.
              (SwitchNode::execute):Rearranged how this function returns to avoid incorrect gcc 4.0 warning.
              (LabelNode::execute): Ditto.
              * kjs/string_object.cpp: (replace): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44b175ce
  33. 09 Apr, 2004 1 commit
    • mjs's avatar
      JavaScriptCore: · ffe98524
      mjs authored
              Reviewed by John.
      
      	Changed things so that newly created objects get a prototype based
      	on the scope chain of the current function, rather than the
      	interpreter that started execution. This fixes the following bugs:
      
      	<rdar://problem/3368523>: ARCH: wrong prototype used to create new objects (hang on lookup.atomica.com)
              <rdar://problem/3559173>: ARCH: Cannot scan using a HP Jetdirect product (JS object prototypes bind incorrectly)
      
      	* JavaScriptCore.pbproj/project.pbxproj:
              * kjs/array_object.cpp:
              (CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments):
              (ArrayProtoFuncImp::ArrayProtoFuncImp):
              (ArrayProtoFuncImp::call):
              (ArrayObjectImp::construct):
              * kjs/bool_object.cpp:
              (BooleanObjectImp::construct):
              * kjs/date_object.cpp:
              (DateProtoFuncImp::DateProtoFuncImp):
              (DateProtoFuncImp::call):
              (DateObjectImp::construct):
              * kjs/error_object.cpp:
              (ErrorObjectImp::construct):
              * kjs/function.cpp:
              (FunctionImp::FunctionImp):
              (FunctionImp::call):
              (DeclaredFunctionImp::construct):
              (ArgumentsImp::ArgumentsImp):
              (GlobalFuncImp::call):
              * kjs/function_object.cpp:
              (FunctionProtoFuncImp::call):
              (FunctionObjectImp::construct):
              * kjs/internal.cpp:
              (BooleanImp::toObject):
              (StringImp::toObject):
              (NumberImp::toObject):
              (InterpreterImp::InterpreterImp):
              (InterpreterImp::clear):
              (InterpreterImp::interpreterWithGlobalObject):
              * kjs/internal.h:
              * kjs/interpreter.cpp:
              (ExecState::lexicalInterpreter):
              * kjs/interpreter.h:
              (KJS::ExecState::dynamicInterpreter):
              (KJS::ExecState::interpreter):
              * kjs/math_object.cpp:
              (MathFuncImp::MathFuncImp):
              * kjs/nodes.cpp:
              (StatementNode::hitStatement):
              (StatementNode::abortStatement):
              (RegExpNode::evaluate):
              (ElementNode::evaluate):
              (ArrayNode::evaluate):
              (ObjectLiteralNode::evaluate):
              (PropertyValueNode::evaluate):
              (FunctionCallNode::evaluate):
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::evaluate):
              * kjs/number_object.cpp:
              (NumberObjectImp::construct):
              * kjs/object.cpp:
              (KJS::ObjectImp::defaultValue):
              (KJS::Error::create):
              * kjs/object_object.cpp:
              (ObjectObjectImp::construct):
              * kjs/reference.cpp:
              (Reference::putValue):
              * kjs/regexp_object.cpp:
              (RegExpProtoFuncImp::call):
              (RegExpObjectImp::arrayOfMatches):
              (RegExpObjectImp::construct):
              * kjs/scope_chain.cpp:
              (KJS::ScopeChain::bottom):
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              (StringProtoFuncImp::StringProtoFuncImp):
              (StringProtoFuncImp::call):
              (StringObjectImp::construct):
      
      WebCore:
      
              Reviewed by John.
      
      	Changed things so that newly created objects get a prototype based
      	on the scope chain of the current function, rather than the
      	interpreter that started execution. This fixes the following bugs:
      
      	<rdar://problem/3368523>: ARCH: wrong prototype used to create new objects (hang on lookup.atomica.com)
              <rdar://problem/3559173>: ARCH: Cannot scan using a HP Jetdirect product (JS object prototypes bind incorrectly)
      
      	* khtml/ecma/kjs_binding.h:
              (KJS::cacheDOMObject):
              (KJS::cacheGlobalObject):
              * khtml/ecma/kjs_css.cpp:
              (KJS::getDOMStyleSheet):
              (KJS::getDOMStyleSheetList):
              (KJS::getDOMCSSValue):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::getDOMDocumentNode):
              (KJS::getDOMNode):
              * khtml/ecma/kjs_events.cpp:
              (KJS::getDOMEvent):
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::tryGet):
              (KJS::HTMLDocument::putValue):
              (KJS::getSelectHTMLCollection):
              * khtml/ecma/kjs_navigator.cpp:
              (Navigator::Navigator):
              (PluginBase::PluginBase):
              * khtml/ecma/kjs_window.cpp:
              (KJS::History::History):
              (KJS::FrameArray::FrameArray):
              (Screen::Screen):
              (Window::retrieveActive):
              (Window::put):
              (Window::isSafeScript):
              (WindowFunc::tryCall):
              (Location::put):
              (LocationFunc::tryCall):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffe98524
  34. 21 Jan, 2003 1 commit