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. 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
  3. 15 Jun, 2008 4 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
    • darin@apple.com's avatar
      JavaScriptCore: · 980c614d
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * JavaScriptCore.exp:
              * VM/Machine.cpp:
              (KJS::jsLess):
              (KJS::jsLessEq):
              (KJS::jsAdd):
              (KJS::callEval):
              (KJS::Machine::execute):
              (KJS::Machine::retrieveArguments):
              (KJS::Machine::retrieveCaller):
              (KJS::Machine::getCallFrame):
              (KJS::Machine::getFunctionAndArguments):
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/DebuggerCallFrame.cpp:
              (KJS::DebuggerCallFrame::functionName):
              * kjs/ExecState.h:
              * kjs/JSActivation.cpp:
              (KJS::JSActivation::createArgumentsObject):
              * kjs/array_instance.cpp:
              (KJS::):
              (KJS::JSArray::checkConsistency):
              (KJS::JSArray::JSArray):
              (KJS::JSArray::~JSArray):
              (KJS::JSArray::getItem):
              (KJS::JSArray::lengthGetter):
              (KJS::JSArray::inlineGetOwnPropertySlot):
              (KJS::JSArray::getOwnPropertySlot):
              (KJS::JSArray::put):
              (KJS::JSArray::deleteProperty):
              (KJS::JSArray::getPropertyNames):
              (KJS::JSArray::increaseVectorLength):
              (KJS::JSArray::setLength):
              (KJS::JSArray::mark):
              (KJS::JSArray::sort):
              (KJS::JSArray::compactForSorting):
              (KJS::JSArray::lazyCreationData):
              (KJS::JSArray::setLazyCreationData):
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (KJS::):
              (KJS::ArrayPrototype::ArrayPrototype):
              (KJS::ArrayPrototype::getOwnPropertySlot):
              (KJS::arrayProtoFuncToString):
              (KJS::arrayProtoFuncToLocaleString):
              (KJS::arrayProtoFuncConcat):
              (KJS::arrayProtoFuncSort):
              (KJS::ArrayObjectImp::construct):
              * kjs/array_object.h:
              * kjs/completion.h:
              * kjs/function.cpp:
              (KJS::):
              (KJS::JSFunction::JSFunction):
              (KJS::JSFunction::mark):
              (KJS::JSFunction::getCallData):
              (KJS::JSFunction::callAsFunction):
              (KJS::JSFunction::argumentsGetter):
              (KJS::JSFunction::callerGetter):
              (KJS::JSFunction::lengthGetter):
              (KJS::JSFunction::getOwnPropertySlot):
              (KJS::JSFunction::put):
              (KJS::JSFunction::deleteProperty):
              (KJS::JSFunction::getParameterName):
              (KJS::JSFunction::getConstructData):
              (KJS::JSFunction::construct):
              (KJS::IndexToNameMap::IndexToNameMap):
              (KJS::Arguments::Arguments):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncToString):
              (KJS::functionProtoFuncApply):
              (KJS::FunctionObjectImp::construct):
              * kjs/internal.cpp:
              (KJS::JSString::toPrimitive):
              (KJS::JSString::getPrimitiveNumber):
              (KJS::JSString::toBoolean):
              (KJS::JSString::toNumber):
              (KJS::JSString::toString):
              (KJS::StringInstance::create):
              (KJS::JSString::toObject):
              (KJS::JSString::toThisObject):
              (KJS::JSString::lengthGetter):
              (KJS::JSString::indexGetter):
              (KJS::JSString::indexNumericPropertyGetter):
              (KJS::JSString::getOwnPropertySlot):
              (KJS::JSNumberCell::type):
              (KJS::JSNumberCell::toPrimitive):
              (KJS::JSNumberCell::getPrimitiveNumber):
              (KJS::JSNumberCell::toBoolean):
              (KJS::JSNumberCell::toNumber):
              (KJS::JSNumberCell::toString):
              (KJS::JSNumberCell::toObject):
              (KJS::JSNumberCell::toThisObject):
              (KJS::JSNumberCell::getUInt32):
              (KJS::JSNumberCell::getTruncatedInt32):
              (KJS::JSNumberCell::getTruncatedUInt32):
              (KJS::GetterSetter::mark):
              (KJS::GetterSetter::toPrimitive):
              (KJS::GetterSetter::getPrimitiveNumber):
              (KJS::GetterSetter::toBoolean):
              (KJS::GetterSetter::toNumber):
              (KJS::GetterSetter::toString):
              (KJS::GetterSetter::toObject):
              (KJS::GetterSetter::getOwnPropertySlot):
              (KJS::GetterSetter::put):
              (KJS::GetterSetter::toThisObject):
              * kjs/internal.h:
              (KJS::JSString::JSString):
              (KJS::JSString::getStringPropertySlot):
              * kjs/nodes.cpp:
              (KJS::FuncDeclNode::makeFunction):
              (KJS::FuncExprNode::makeFunction):
              * kjs/nodes.h:
              * kjs/object.cpp:
              (KJS::JSObject::put):
              (KJS::JSObject::deleteProperty):
              (KJS::JSObject::defineGetter):
              (KJS::JSObject::defineSetter):
              (KJS::JSObject::lookupGetter):
              (KJS::JSObject::lookupSetter):
              (KJS::JSObject::fillGetterPropertySlot):
              * kjs/object.h:
              (KJS::):
              (KJS::GetterSetter::GetterSetter):
              * kjs/operations.cpp:
              (KJS::equal):
              (KJS::strictEqual):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::containsGettersOrSetters):
              * kjs/regexp_object.cpp:
              (KJS::RegExpMatchesArray::getOwnPropertySlot):
              (KJS::RegExpMatchesArray::put):
              (KJS::RegExpMatchesArray::deleteProperty):
              (KJS::RegExpMatchesArray::getPropertyNames):
              (KJS::RegExpMatchesArray::RegExpMatchesArray):
              (KJS::RegExpMatchesArray::fillArrayInstance):
              * kjs/string_object.cpp:
              (KJS::StringInstance::StringInstance):
              (KJS::replace):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              * kjs/string_object.h:
              (KJS::StringInstance::internalValue):
              * kjs/value.cpp:
              (KJS::JSCell::getNumber):
              (KJS::JSCell::getString):
              (KJS::JSCell::getObject):
              (KJS::jsString):
              (KJS::jsOwnedString):
              * kjs/value.h:
              (KJS::JSNumberCell::JSNumberCell):
              (KJS::jsNumberCell):
              (KJS::JSValue::uncheckedGetNumber):
              * profiler/Profiler.cpp:
              (KJS::createCallIdentifier):
              (KJS::createCallIdentifierFromFunctionImp):
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              * bindings/js/kjs_events.cpp:
              (WebCore::JSLazyEventListener::parseCode):
              * bridge/jni/jni_utility.cpp:
              (KJS::Bindings::convertArrayInstanceToJavaArray):
              (KJS::Bindings::convertValueToJValue):
              * bridge/qt/qt_runtime.cpp:
              (KJS::Bindings::valueRealType):
              (KJS::Bindings::convertValueToQVariant):
              (KJS::Bindings::QtConnectionObject::execute):
              * bridge/runtime_array.cpp:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * WebView/WebView.mm:
              (aeDescFromJSValue):
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::functionName):
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      980c614d
  4. 21 May, 2008 1 commit
  5. 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
  6. 15 Jan, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 5902380f
      weinig@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
      
              - This changes the way JS functions that use Lookup tables are handled.  Instead using
                one class per function, which allowed specialization of the virtual callAsFunction
                method, we now use on class, PrototypeFunction, which takes a pointer to a static
                function to use as the implementation.  This significantly decreases the binary size
                of JavaScriptCore (about 145k on an Intel only build) while still keeping some of the
                speedup r27608 garnered (SunSpider says this is 1.005x as slow, which should leave some
                wiggle room from the original 1% speedup) and keeps the functions implementations in separate
                functions to help with optimizations.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/array_object.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/array_object.h:
              * kjs/date_object.cpp:
              (KJS::DatePrototype::getOwnPropertySlot):
              (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::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/function.cpp:
              (KJS::PrototypeFunction::PrototypeFunction):
              (KJS::PrototypeFunction::callAsFunction):
              * kjs/function.h:
              * kjs/lookup.h:
              (KJS::HashEntry::):
              (KJS::staticFunctionGetter):
              * kjs/math_object.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/math_object.h:
              * kjs/string_object.cpp:
              (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/string_object.h:
      
      WebCore:
      
              Reviewed by Geoffrey Garen.
      
              Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
      
              - Update JS Function implementations to use a static function based method. This decreases
                the binary size of an Intel only build by 1013.5K.
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::customGetOwnPropertySlot):
              * bindings/js/JSEventTargetBase.cpp:
              (WebCore::jsEventTargetAddEventListener):
              (WebCore::jsEventTargetRemoveEventListener):
              (WebCore::jsEventTargetDispatchEvent):
              (WebCore::retrieveEventTargetAndCorrespondingNode):
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
              (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSLocation.cpp:
              (WebCore::JSLocation::getOwnPropertySlot):
              (WebCore::jsLocationProtoFuncReplace):
              (WebCore::jsLocationProtoFuncReload):
              (WebCore::jsLocationProtoFuncAssign):
              (WebCore::jsLocationProtoFuncToString):
              * bindings/js/JSLocation.h:
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
              (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
              (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
              (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
              (KJS::jsXMLHttpRequestPrototypeFunctionSend):
              (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
              (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
              (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
              (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
              (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
              (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
              (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
              (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
              (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
              (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
              (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
              (KJS::jsXSLTProcessorPrototypeFunctionReset):
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::jsClipboardPrototypeFunctionClearData):
              (WebCore::jsClipboardPrototypeFunctionGetData):
              (WebCore::jsClipboardPrototypeFunctionSetData):
              (WebCore::jsClipboardPrototypeFunctionSetDragImage):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_navigator.cpp:
              (KJS::pluginsFunctionRefresh):
              (KJS::navigatorProtoFuncJavaEnabled):
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::getOwnPropertySlot):
              (KJS::windowProtoFuncAToB):
              (KJS::windowProtoFuncBToA):
              (KJS::windowProtoFuncOpen):
              (KJS::windowProtoFuncSetTimeout):
              (KJS::windowProtoFuncClearTimeout):
              (KJS::windowProtoFuncSetInterval):
              (KJS::windowProtoFuncAddEventListener):
              (KJS::windowProtoFuncRemoveEventListener):
              (KJS::windowProtoFuncShowModalDialog):
              (KJS::windowProtoFuncNotImplemented):
              * bindings/js/kjs_window.h:
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5902380f
  7. 08 Nov, 2007 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · a73c15f5
      weinig@apple.com authored
              Reviewed by Darin.
      
              Convert JavaScript internal function objects to use one class per
              function.  This avoids a switch statement inside what used to be
              the shared function classes and will allow Shark to better analyze
              the code.
      
              To make this switch, the value property of the HashEntry was changed
              to a union of an intptr_t (which is used to continue handle valueGetters)
              and function pointer which points to a static constructor for the
              individual new function objects.
      
              SunSpider claims this is a 0.5% speedup. 
      
              * kjs/array_object.cpp:
              (KJS::ArrayPrototype::getOwnPropertySlot):
              (KJS::getProperty):
              (KJS::ArrayProtoFuncToString::callAsFunction):
              (KJS::ArrayProtoFuncToLocaleString::callAsFunction):
              (KJS::ArrayProtoFuncJoin::callAsFunction):
              (KJS::ArrayProtoFuncConcat::callAsFunction):
              (KJS::ArrayProtoFuncPop::callAsFunction):
              (KJS::ArrayProtoFuncPush::callAsFunction):
              (KJS::ArrayProtoFuncReverse::callAsFunction):
              (KJS::ArrayProtoFuncShift::callAsFunction):
              (KJS::ArrayProtoFuncSlice::callAsFunction):
              (KJS::ArrayProtoFuncSort::callAsFunction):
              (KJS::ArrayProtoFuncSplice::callAsFunction):
              (KJS::ArrayProtoFuncUnShift::callAsFunction):
              (KJS::ArrayProtoFuncFilter::callAsFunction):
              (KJS::ArrayProtoFuncMap::callAsFunction):
              (KJS::ArrayProtoFuncEvery::callAsFunction):
              (KJS::ArrayProtoFuncForEach::callAsFunction):
              (KJS::ArrayProtoFuncSome::callAsFunction):
              (KJS::ArrayProtoFuncIndexOf::callAsFunction):
              (KJS::ArrayProtoFuncLastIndexOf::callAsFunction):
              * kjs/array_object.h:
              (KJS::ArrayPrototype::classInfo):
              * kjs/create_hash_table:
              * kjs/date_object.cpp:
              (KJS::DatePrototype::getOwnPropertySlot):
              (KJS::DateProtoFuncToString::callAsFunction):
              (KJS::DateProtoFuncToUTCString::callAsFunction):
              (KJS::DateProtoFuncToDateString::callAsFunction):
              (KJS::DateProtoFuncToTimeString::callAsFunction):
              (KJS::DateProtoFuncToLocaleString::callAsFunction):
              (KJS::DateProtoFuncToLocaleDateString::callAsFunction):
              (KJS::DateProtoFuncToLocaleTimeString::callAsFunction):
              (KJS::DateProtoFuncValueOf::callAsFunction):
              (KJS::DateProtoFuncGetTime::callAsFunction):
              (KJS::DateProtoFuncGetFullYear::callAsFunction):
              (KJS::DateProtoFuncGetUTCFullYear::callAsFunction):
              (KJS::DateProtoFuncToGMTString::callAsFunction):
              (KJS::DateProtoFuncGetMonth::callAsFunction):
              (KJS::DateProtoFuncGetUTCMonth::callAsFunction):
              (KJS::DateProtoFuncGetDate::callAsFunction):
              (KJS::DateProtoFuncGetUTCDate::callAsFunction):
              (KJS::DateProtoFuncGetDay::callAsFunction):
              (KJS::DateProtoFuncGetUTCDay::callAsFunction):
              (KJS::DateProtoFuncGetHours::callAsFunction):
              (KJS::DateProtoFuncGetUTCHours::callAsFunction):
              (KJS::DateProtoFuncGetMinutes::callAsFunction):
              (KJS::DateProtoFuncGetUTCMinutes::callAsFunction):
              (KJS::DateProtoFuncGetSeconds::callAsFunction):
              (KJS::DateProtoFuncGetUTCSeconds::callAsFunction):
              (KJS::DateProtoFuncGetMilliSeconds::callAsFunction):
              (KJS::DateProtoFuncGetUTCMilliseconds::callAsFunction):
              (KJS::DateProtoFuncGetTimezoneOffset::callAsFunction):
              (KJS::DateProtoFuncSetTime::callAsFunction):
              (KJS::DateProtoFuncSetMilliSeconds::callAsFunction):
              (KJS::DateProtoFuncSetUTCMilliseconds::callAsFunction):
              (KJS::DateProtoFuncSetSeconds::callAsFunction):
              (KJS::DateProtoFuncSetUTCSeconds::callAsFunction):
              (KJS::DateProtoFuncSetMinutes::callAsFunction):
              (KJS::DateProtoFuncSetUTCMinutes::callAsFunction):
              (KJS::DateProtoFuncSetHours::callAsFunction):
              (KJS::DateProtoFuncSetUTCHours::callAsFunction):
              (KJS::DateProtoFuncSetDate::callAsFunction):
              (KJS::DateProtoFuncSetUTCDate::callAsFunction):
              (KJS::DateProtoFuncSetMonth::callAsFunction):
              (KJS::DateProtoFuncSetUTCMonth::callAsFunction):
              (KJS::DateProtoFuncSetFullYear::callAsFunction):
              (KJS::DateProtoFuncSetUTCFullYear::callAsFunction):
              (KJS::DateProtoFuncSetYear::callAsFunction):
              (KJS::DateProtoFuncGetYear::callAsFunction):
              * kjs/date_object.h:
              * kjs/lookup.cpp:
              (KJS::Lookup::find):
              * kjs/lookup.h:
              (KJS::HashEntry::):
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              (KJS::getStaticPropertySlot):
              (KJS::getStaticFunctionSlot):
              (KJS::lookupPut):
              * kjs/math_object.cpp:
              (KJS::MathObjectImp::getOwnPropertySlot):
              (KJS::MathProtoFuncAbs::callAsFunction):
              (KJS::MathProtoFuncACos::callAsFunction):
              (KJS::MathProtoFuncASin::callAsFunction):
              (KJS::MathProtoFuncATan::callAsFunction):
              (KJS::MathProtoFuncATan2::callAsFunction):
              (KJS::MathProtoFuncCeil::callAsFunction):
              (KJS::MathProtoFuncCos::callAsFunction):
              (KJS::MathProtoFuncExp::callAsFunction):
              (KJS::MathProtoFuncFloor::callAsFunction):
              (KJS::MathProtoFuncLog::callAsFunction):
              (KJS::MathProtoFuncMax::callAsFunction):
              (KJS::MathProtoFuncMin::callAsFunction):
              (KJS::MathProtoFuncPow::callAsFunction):
              (KJS::MathProtoFuncRandom::callAsFunction):
              (KJS::MathProtoFuncRound::callAsFunction):
              (KJS::MathProtoFuncSin::callAsFunction):
              (KJS::MathProtoFuncSqrt::callAsFunction):
              (KJS::MathProtoFuncTan::callAsFunction):
              * kjs/math_object.h:
              (KJS::MathObjectImp::classInfo):
              (KJS::MathObjectImp::):
              * kjs/string_object.cpp:
              (KJS::StringPrototype::getOwnPropertySlot):
              (KJS::StringProtoFuncToString::callAsFunction):
              (KJS::StringProtoFuncValueOf::callAsFunction):
              (KJS::StringProtoFuncCharAt::callAsFunction):
              (KJS::StringProtoFuncCharCodeAt::callAsFunction):
              (KJS::StringProtoFuncConcat::callAsFunction):
              (KJS::StringProtoFuncIndexOf::callAsFunction):
              (KJS::StringProtoFuncLastIndexOf::callAsFunction):
              (KJS::StringProtoFuncMatch::callAsFunction):
              (KJS::StringProtoFuncSearch::callAsFunction):
              (KJS::StringProtoFuncReplace::callAsFunction):
              (KJS::StringProtoFuncSlice::callAsFunction):
              (KJS::StringProtoFuncSplit::callAsFunction):
              (KJS::StringProtoFuncSubstr::callAsFunction):
              (KJS::StringProtoFuncSubstring::callAsFunction):
              (KJS::StringProtoFuncToLowerCase::callAsFunction):
              (KJS::StringProtoFuncToUpperCase::callAsFunction):
              (KJS::StringProtoFuncToLocaleLowerCase::callAsFunction):
              (KJS::StringProtoFuncToLocaleUpperCase::callAsFunction):
              (KJS::StringProtoFuncLocaleCompare::callAsFunction):
              (KJS::StringProtoFuncBig::callAsFunction):
              (KJS::StringProtoFuncSmall::callAsFunction):
              (KJS::StringProtoFuncBlink::callAsFunction):
              (KJS::StringProtoFuncBold::callAsFunction):
              (KJS::StringProtoFuncFixed::callAsFunction):
              (KJS::StringProtoFuncItalics::callAsFunction):
              (KJS::StringProtoFuncStrike::callAsFunction):
              (KJS::StringProtoFuncSub::callAsFunction):
              (KJS::StringProtoFuncSup::callAsFunction):
              (KJS::StringProtoFuncFontcolor::callAsFunction):
              (KJS::StringProtoFuncFontsize::callAsFunction):
              (KJS::StringProtoFuncAnchor::callAsFunction):
              (KJS::StringProtoFuncLink::callAsFunction):
              * kjs/string_object.h:
      
      WebCore:
      
              Reviewed by Darin.
      
              Convert JavaScript internal function objects to use one class per
              function.  This avoids a switch statement inside what used to be
              the shared function classes and will allow Shark to better analyze
              the code.
      
              To make this switch, the value property of the HashEntry was changed
              to a union of an intptr_t (which is used to continue handle valueGetters)
              and function pointer which points to a static constructor for the
              individual new function objects.
      
              SunSpider claims this is a 0.5% speedup.
      
              - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
                new classes and hand updated the remain non-generated (groan) classes.
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::customGetOwnPropertySlot):
              * bindings/js/JSEventTargetNode.cpp:
              (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
              (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
              (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
              * bindings/js/JSEventTargetNode.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
              (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
              * bindings/js/JSHTMLInputElementBase.h:
              (WebCore::JSHTMLInputElementBase::):
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
              (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
              * bindings/js/JSXMLHttpRequest.h:
              (KJS::JSXMLHttpRequest::impl):
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
              (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
              (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
              (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
              (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_navigator.cpp:
              (KJS::Plugins::):
              (KJS::Navigator::getOwnPropertySlot):
              (KJS::Plugins::getOwnPropertySlot):
              (KJS::PluginsFunctionRefresh::callAsFunction):
              (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
              * bindings/js/kjs_navigator.h:
              (KJS::Navigator::):
              * bindings/js/kjs_window.cpp:
              (KJS::Window::getOwnPropertySlot):
              (KJS::Window::put):
              (KJS::WindowProtoFuncAToB::callAsFunction):
              (KJS::WindowProtoFuncBToA::callAsFunction):
              (KJS::WindowProtoFuncOpen::callAsFunction):
              (KJS::WindowProtoFuncScrollBy::callAsFunction):
              (KJS::WindowProtoFuncScrollTo::callAsFunction):
              (KJS::WindowProtoFuncMoveBy::callAsFunction):
              (KJS::WindowProtoFuncMoveTo::callAsFunction):
              (KJS::WindowProtoFuncResizeBy::callAsFunction):
              (KJS::WindowProtoFuncResizeTo::callAsFunction):
              (KJS::WindowProtoFuncSetTimeout::callAsFunction):
              (KJS::WindowProtoFuncClearTimeout::callAsFunction):
              (KJS::WindowProtoFuncSetInterval::callAsFunction):
              (KJS::WindowProtoFuncAddEventListener::callAsFunction):
              (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
              (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
              (KJS::WindowProtoFuncNotImplemented::callAsFunction):
              (KJS::Location::getOwnPropertySlot):
              (KJS::Location::put):
              (KJS::LocationProtoFuncReplace::callAsFunction):
              (KJS::LocationProtoFuncReload::callAsFunction):
              (KJS::LocationProtoFuncAssign::callAsFunction):
              (KJS::LocationProtoFuncToString::callAsFunction):
              * bindings/js/kjs_window.h:
              (KJS::Window::):
              * bindings/scripts/CodeGeneratorJS.pm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a73c15f5
  8. 22 Oct, 2007 1 commit
    • darin's avatar
      JavaScriptCore: · f860d02f
      darin authored
              Reviewed by Maciej.
      
              - http://bugs.webkit.org/show_bug.cgi?id=15606
                make cut-off for sparse vs. dense arrays smarter for speed with large arrays
      
              Makes the morph test in SunSpider 26% faster, and the overall
              benchmark 3% faster.
      
              This also fixes some small problems we had with the distinction
              between nonexistent and undefined values in arrays.
      
              * kjs/array_instance.h: Tweaked formatting and naming.
              * kjs/array_instance.cpp: Copied from kjs/array_object.cpp.
              (KJS::storageSize): Added. Computes the size of the storage given a vector length.
              (KJS::increasedVectorLength): Added. Implements the rule for resizing the vector.
              (KJS::isDenseEnoughForVector): Added.
              (KJS::ArrayInstance::ArrayInstance): Initialize the new fields.
              (KJS::ArrayInstance::~ArrayInstance): Since m_storage is now never 0, delete it.
              (KJS::ArrayInstance::getItem): Updated for name changes.
              (KJS::ArrayInstance::lengthGetter): Ditto.
              (KJS::ArrayInstance::inlineGetOwnPropertySlot): Added. Allows both versions of
              getOwnPropertySlot to share more code.
              (KJS::ArrayInstance::getOwnPropertySlot): Just refactored, no code change.
              (KJS::ArrayInstance::put): Added logic for extending the vector as long as the
              array is dense enough. Also keep m_numValuesInVector up to date.
              (KJS::ArrayInstance::deleteProperty): Added code to keep m_numValuesInVector
              up to date.
              (KJS::ArrayInstance::getPropertyNames): Fixed bug where this would omit names
              for array indices with undefined values.
              (KJS::ArrayInstance::increaseVectorLength): Renamed from resizeStorage. Also
              simplified to only handle getting larger.
              (KJS::ArrayInstance::setLength): Added code to update m_numValuesInVector, to
              zero out the unused part of the vector and to delete the map if it's no longer
              needed.
              (KJS::ArrayInstance::mark): Tweaked formatting.
              (KJS::compareByStringForQSort): Ditto.
              (KJS::ArrayInstance::sort): Ditto.
              (KJS::CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments):
              Ditto.
              (KJS::compareWithCompareFunctionForQSort): Ditto.
              (KJS::ArrayInstance::compactForSorting): Fixed bug where this would turn
              undefined values into nonexistent values in some cases.
      
              * kjs/array_object.h: Removed MAX_ARRAY_INDEX.
              * kjs/array_object.cpp: Removed ArrayInstance. Moved to a separate file.
      
              * JavaScriptCore.pri: Added array_instance.cpp.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * kjs/AllInOneFile.cpp: Ditto.
      
      LayoutTests:
      
              * fast/js/kde/resources/Array.js: Added tests to cover missing value behavior
              (not the same as undefined values in arrays). This matches the ECMA JavaScript
              specification, but doesn't exactly match Firefox.
              * fast/js/kde/Array-expected.txt: Updated with results.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@26881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f860d02f
  9. 21 Aug, 2006 1 commit
  10. 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
  11. 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
  12. 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
  13. 13 Jan, 2006 1 commit
    • ap's avatar
      Mostly merging work by Peter Kelly. Reviewed by Maciej, landed by ap. · 136b90c8
      ap authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6261
              Misc. array object fixes from KJS
      
          JavaScriptCore:
              * kjs/array_object.cpp: Don't treat 2^32-1 as a real array index property.
              (ArrayInstance::getOwnPropertySlot): Ditto.
              (ArrayInstance::deleteProperty): Ditto.
              (ArrayInstance::put): Ditto.
              (ArrayInstance::propList): Added a FIXME comment.
              (ArrayInstance::put): Throw exception on trying to set invalid array length.
              (ArrayProtoFunc::callAsFunction): Do not use a separator argument when doing toString/toLocalString.
              * kjs/array_object.h: Added MAX_ARRAY_INDEX.
      
          LayoutTests:
              * fast/js/kde/Array-expected.txt: Updated for newly-passing tests.
              * fast/js/array-tostring-ignore-separator.html: Added.
              * fast/js/array-tostring-ignore-separator-expected.txt: Added.
              * fast/js/resources/array-tostring-ignore-separator.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      136b90c8
  14. 27 Dec, 2005 1 commit
    • andersca's avatar
      2005-12-27 Anders Carlsson <andersca@mac.com> · 8347d5b6
      andersca authored
              Reviewed by Darin.
      
              * kjs/array_object.cpp:
              (ArrayProtoFunc::callAsFunction):
              Implement filter and map. Also, make the existing
              array iteration functions not invoke the callback for
              non-existing properties, just as Mozilla does now.
      
              * kjs/array_object.h:
              (KJS::ArrayProtoFunc::):
              Add filter and map.
      
              * tests/mozilla/expected.html:
              Update, two 1.6 tests now pass.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8347d5b6
  15. 18 Dec, 2005 1 commit
  16. 10 Dec, 2005 1 commit
    • 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
  17. 07 Aug, 2005 2 commits
    • 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
    • mjs's avatar
      JavaScriptCore: · 70d74214
      mjs authored
              Reviewed by Darin.
      
      	Change over to the new PropertySlot mechanism for property
      	lookup. This allows the elimination of hasOwnProperty
      	methods. Also did some of the performance tuning enabled by this
      	(but not yet all the possible improvements for function calls,
      	assignment, ++, and so forth). And also much code cleanup.
      
      	Net result is about a 2% speedup on the JS iBench.
      
      	Also redid Geoff's fix for the chrashing applet by avoiding a NULL
      	prototype in the bindings code and using the default of Null()
      	instead.
      
      	* JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/objc/objc_runtime.h:
              * bindings/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
              (ObjcFallbackObjectImp::getOwnPropertySlot):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::lengthGetter):
              (RuntimeArrayImp::indexGetter):
              (RuntimeArrayImp::getOwnPropertySlot):
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::lengthGetter):
              (RuntimeMethodImp::getOwnPropertySlot):
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::RuntimeObjectImp):
              (RuntimeObjectImp::fallbackObjectGetter):
              (RuntimeObjectImp::fieldGetter):
              (RuntimeObjectImp::methodGetter):
              (RuntimeObjectImp::getOwnPropertySlot):
              * bindings/runtime_object.h:
              * bindings/runtime_root.h:
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::lengthGetter):
              (ArrayInstanceImp::getOwnPropertySlot):
              (ArrayPrototypeImp::getOwnPropertySlot):
              * kjs/array_object.h:
              * kjs/date_object.cpp:
              (DatePrototypeImp::getOwnPropertySlot):
              * kjs/date_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::FunctionImp::getOwnPropertySlot):
              (KJS::FunctionImp::put):
              (KJS::FunctionImp::deleteProperty):
              (KJS::ArgumentsImp::mappedIndexGetter):
              (KJS::ArgumentsImp::getOwnPropertySlot):
              (KJS::ActivationImp::argumentsGetter):
              (KJS::ActivationImp::getArgumentsGetter):
              (KJS::ActivationImp::getOwnPropertySlot):
              (KJS::ActivationImp::deleteProperty):
              * kjs/function.h:
              * kjs/internal.cpp:
              (InterpreterImp::InterpreterImp):
              (InterpreterImp::initGlobalObject):
              (InterpreterImp::~InterpreterImp):
              (InterpreterImp::evaluate):
              * kjs/internal.h:
              (KJS::InterpreterImp::globalExec):
              * kjs/interpreter.cpp:
              (Interpreter::Interpreter):
              (Interpreter::createLanguageInstanceForValue):
              * kjs/interpreter.h:
              (KJS::Interpreter::argumentsIdentifier):
              (KJS::Interpreter::specialPrototypeIdentifier):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              (KJS::getStaticPropertySlot):
              (KJS::getStaticFunctionSlot):
              (KJS::getStaticValueSlot):
              * kjs/math_object.cpp:
              (MathObjectImp::getOwnPropertySlot):
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              (ResolveNode::evaluate):
              (ResolveNode::evaluateReference):
              (AccessorNode1::evaluate):
              (AccessorNode2::evaluate):
              * kjs/number_object.cpp:
              (NumberObjectImp::getOwnPropertySlot):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::ObjectImp::get):
              (KJS::ObjectImp::getProperty):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::getOwnPropertySlot):
              (KJS::ObjectImp::put):
              (KJS::ObjectImp::hasProperty):
              (KJS::ObjectImp::hasOwnProperty):
              * kjs/object.h:
              (KJS::ObjectImp::getDirectLocation):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::getOwnPropertySlot):
              * kjs/object_wrapper.h: Added.
              (KJS::):
              (KJS::Object::Object):
              (KJS::Object::operator ObjectImp *):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::getLocation):
              * kjs/property_map.h:
              * kjs/property_slot.cpp: Added.
              (KJS::PropertySlot::undefinedGetter):
              * kjs/property_slot.h: Added.
              (KJS::PropertySlot::isSet):
              (KJS::PropertySlot::getValue):
              (KJS::PropertySlot::setValueSlot):
              (KJS::PropertySlot::setStaticEntry):
              (KJS::PropertySlot::setCustom):
              (KJS::PropertySlot::setCustomIndex):
              (KJS::PropertySlot::setUndefined):
              (KJS::PropertySlot::slotBase):
              (KJS::PropertySlot::staticEntry):
              (KJS::PropertySlot::index):
              (KJS::PropertySlot::):
              * kjs/protect.h:
              * kjs/protected_object.h: Added.
              (KJS::ProtectedObject::ProtectedObject):
              (KJS::ProtectedObject::~ProtectedObject):
              (KJS::ProtectedObject::operator=):
              (KJS::ProtectedReference::ProtectedReference):
              (KJS::ProtectedReference::~ProtectedReference):
              (KJS::ProtectedReference::operator=):
              * kjs/reference.h:
              * kjs/reference_list.cpp:
              * kjs/regexp_object.cpp:
              (RegExpObjectImp::backrefGetter):
              (RegExpObjectImp::getOwnPropertySlot):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::lengthGetter):
              (StringInstanceImp::indexGetter):
              (StringInstanceImp::getOwnPropertySlot):
              (StringPrototypeImp::getOwnPropertySlot):
              * kjs/string_object.h:
      
      WebCore:
      
              Reviewed by Darin.
      
      	Change over to the new PropertySlot mechanism for property
      	lookup. This allows the elimination of hasOwnProperty methods. I
      	also did a bunch of code cleanup and regularization of the various
      	property lookup methods.
      
              Test cases added: Added a test case for a bug I found along the way.
              * layout-tests/fast/js/string-index-overflow.html:
      	* layout-tests/fast/js/string-index-overflow-expected.txt:
      
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::createLanguageInstanceForValue):
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::indexGetter):
              (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
              (KJS::DOMCSSStyleDeclaration::getOwnPropertySlot):
              (KJS::DOMCSSStyleDeclaration::getValueProperty):
              (KJS::DOMStyleSheet::getOwnPropertySlot):
              (KJS::DOMStyleSheetList::getValueProperty):
              (KJS::DOMStyleSheetList::indexGetter):
              (KJS::DOMStyleSheetList::nameGetter):
              (KJS::DOMStyleSheetList::getOwnPropertySlot):
              (KJS::DOMMediaList::getValueProperty):
              (KJS::DOMMediaList::indexGetter):
              (KJS::DOMMediaList::getOwnPropertySlot):
              (KJS::DOMCSSStyleSheet::getValueProperty):
              (KJS::DOMCSSStyleSheet::getOwnPropertySlot):
              (KJS::DOMCSSRuleList::getValueProperty):
              (KJS::DOMCSSRuleList::indexGetter):
              (KJS::DOMCSSRuleList::getOwnPropertySlot):
              (KJS::DOMCSSRule::getOwnPropertySlot):
              (KJS::CSSRuleConstructor::getOwnPropertySlot):
              (KJS::DOMCSSValue::getValueProperty):
              (KJS::DOMCSSValue::getOwnPropertySlot):
              (KJS::CSSValueConstructor::getOwnPropertySlot):
              (KJS::DOMCSSPrimitiveValue::getValueProperty):
              (KJS::DOMCSSPrimitiveValue::getOwnPropertySlot):
              (KJS::CSSPrimitiveValueConstructor::getOwnPropertySlot):
              (KJS::DOMCSSValueList::getValueProperty):
              (KJS::DOMCSSValueList::indexGetter):
              (KJS::DOMCSSValueList::getOwnPropertySlot):
              (KJS::DOMRGBColor::getOwnPropertySlot):
              (KJS::DOMRect::getOwnPropertySlot):
              (KJS::DOMCounter::getOwnPropertySlot):
              * khtml/ecma/kjs_css.h:
              (KJS::DOMCSSStyleDeclaration::):
              (KJS::DOMCSSStyleSheet::):
              (KJS::DOMCSSRule::):
              (KJS::DOMCSSValueList::):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getOwnPropertySlot):
              (KJS::):
              (KJS::DOMNodeList::getValueProperty):
              (KJS::DOMNodeList::indexGetter):
              (KJS::DOMNodeList::nameGetter):
              (KJS::DOMNodeList::getOwnPropertySlot):
              (KJS::DOMNodeList::call):
              (KJS::DOMAttr::getOwnPropertySlot):
              (KJS::DOMDocument::getOwnPropertySlot):
              (KJS::DOMElement::getValueProperty):
              (KJS::DOMElement::attributeGetter):
              (KJS::DOMElement::getOwnPropertySlot):
              (KJS::DOMDocumentType::getOwnPropertySlot):
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMap::indexGetter):
              (KJS::DOMNamedNodeMap::getOwnPropertySlot):
              (KJS::DOMProcessingInstruction::getOwnPropertySlot):
              (KJS::DOMNotation::getOwnPropertySlot):
              (KJS::DOMEntity::getOwnPropertySlot):
              (KJS::NodeConstructor::getOwnPropertySlot):
              (KJS::DOMExceptionConstructor::getOwnPropertySlot):
              (KJS::DOMNamedNodesCollection::lengthGetter):
              (KJS::DOMNamedNodesCollection::indexGetter):
              (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
              (KJS::DOMCharacterData::getOwnPropertySlot):
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::EventConstructor::getOwnPropertySlot):
              (KJS::DOMEvent::getOwnPropertySlot):
              (KJS::EventExceptionConstructor::getOwnPropertySlot):
              (KJS::DOMUIEvent::getOwnPropertySlot):
              (KJS::DOMMouseEvent::getOwnPropertySlot):
              (KJS::DOMKeyboardEvent::getOwnPropertySlot):
              (KJS::MutationEventConstructor::getOwnPropertySlot):
              (KJS::DOMMutationEvent::getOwnPropertySlot):
              (KJS::DOMWheelEvent::getOwnPropertySlot):
              (KJS::Clipboard::getOwnPropertySlot):
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::namedItemGetter):
              (KJS::HTMLDocument::getValueProperty):
              (KJS::HTMLDocument::getOwnPropertySlot):
              (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::HTMLCollection::lengthGetter):
              (KJS::HTMLCollection::indexGetter):
              (KJS::HTMLCollection::nameGetter):
              (KJS::HTMLCollection::getOwnPropertySlot):
              (KJS::HTMLSelectCollection::selectedIndexGetter):
              (KJS::HTMLSelectCollection::getOwnPropertySlot):
              (KJS::Image::getOwnPropertySlot):
              (KJS::Context2D::getOwnPropertySlot):
              (KJS::Gradient::getOwnPropertySlot):
              (KJS::ImagePattern::getOwnPropertySlot):
              * khtml/ecma/kjs_html.h:
              (KJS::HTMLCollection::toBoolean):
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Plugins::):
              (KJS::MimeTypes::):
              (KJS::Plugin::):
              (KJS::MimeType::):
              (KJS::):
              (KJS::Navigator::getOwnPropertySlot):
              (KJS::Plugins::getValueProperty):
              (KJS::Plugins::indexGetter):
              (KJS::Plugins::nameGetter):
              (KJS::Plugins::getOwnPropertySlot):
              (KJS::MimeTypes::getValueProperty):
              (KJS::MimeTypes::indexGetter):
              (KJS::MimeTypes::nameGetter):
              (KJS::MimeTypes::getOwnPropertySlot):
              (KJS::Plugin::getValueProperty):
              (KJS::Plugin::indexGetter):
              (KJS::Plugin::nameGetter):
              (KJS::Plugin::getOwnPropertySlot):
              (KJS::MimeType::getValueProperty):
              (KJS::MimeType::getOwnPropertySlot):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getOwnPropertySlot):
              (KJS::RangeConstructor::getOwnPropertySlot):
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getOwnPropertySlot):
              (KJS::NodeFilterConstructor::getOwnPropertySlot):
              (KJS::DOMTreeWalker::getOwnPropertySlot):
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::~DOMAbstractView):
              (KJS::DOMAbstractView::getValueProperty):
              (KJS::DOMAbstractView::getOwnPropertySlot):
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::FrameArray::):
              (KJS::FrameArray::classInfo):
              (KJS::Screen::getOwnPropertySlot):
              (KJS::Window::getValueProperty):
              (KJS::Window::childFrameGetter):
              (KJS::Window::namedFrameGetter):
              (KJS::Window::indexGetter):
              (KJS::Window::namedItemGetter):
              (KJS::Window::getOwnPropertySlot):
              (KJS::):
              (KJS::FrameArray::getValueProperty):
              (KJS::FrameArray::indexGetter):
              (KJS::FrameArray::nameGetter):
              (KJS::FrameArray::getOwnPropertySlot):
              (KJS::Location::getValueProperty):
              (KJS::Location::getOwnPropertySlot):
              (KJS::Selection::getValueProperty):
              (KJS::Selection::getOwnPropertySlot):
              (KJS::BarInfo::getValueProperty):
              (KJS::BarInfo::getOwnPropertySlot):
              (KJS::History::getOwnPropertySlot):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequest::getOwnPropertySlot):
              * khtml/ecma/xmlhttprequest.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70d74214
  18. 25 Jul, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · 234d8b1b
      mjs authored
              Reviewed by Darin.
      
      	- http://bugzilla.opendarwin.org/show_bug.cgi?id=4124
      	(change JavaScript property access to avoid double lookup)
      
      	- 10% speedup on JavaScript iBench
      	- 5% speedup on 24fun BenchJS benchmark
      
      	Changed all get methods to getOwnProperty - they are no longer
      	responsible for prototype lookup, and determine if the property
      	was found as a side efect.
      
      	get() is now a nonvirtual ObjectImp method which calls the virtual
      	getOwnProperty and walks the prototype chain. A few selected
      	methods were inlined.
      
      	Changed ResolveNode::evaluate plus some other places to use
      	getProperty which does get() and hasProperty() in one lookup.
      
      	Also miscellaneous code cleanup.
      
      	* bindings/objc/objc_runtime.h:
              * bindings/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
              (ObjcFallbackObjectImp::getOwnProperty):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::RuntimeArrayImp):
              (RuntimeArrayImp::getOwnProperty):
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::getOwnProperty):
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::getOwnProperty):
              * bindings/runtime_object.h:
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::getOwnProperty):
              (ArrayPrototypeImp::getOwnProperty):
              (ArrayProtoFuncImp::call):
              * kjs/array_object.h:
              * kjs/date_object.cpp:
              (DatePrototypeImp::getOwnProperty):
              * kjs/date_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::getOwnProperty):
              (KJS::ArgumentsImp::getOwnProperty):
              (KJS::ActivationImp::getOwnProperty):
              * kjs/function.h:
              * kjs/lookup.h:
              (KJS::lookupGetOwnProperty):
              (KJS::lookupGetOwnFunction):
              (KJS::lookupGetOwnValue):
              * kjs/math_object.cpp:
              (MathObjectImp::getOwnProperty):
              (MathObjectImp::getValueProperty):
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              (ResolveNode::evaluate):
              * kjs/number_object.cpp:
              (NumberObjectImp::getOwnProperty):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::ObjectImp::get):
              (KJS::ObjectImp::getOwnProperty):
              (KJS::ObjectImp::getProperty):
              * kjs/object.h:
              (KJS::ObjectImp::getProperty):
              (KJS::ObjectImp::getOwnProperty):
              * kjs/object_object.cpp:
              (ObjectProtoFuncImp::call):
              * kjs/regexp_object.cpp:
              (RegExpObjectImp::getOwnProperty):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::getOwnProperty):
              (StringPrototypeImp::getOwnProperty):
              * kjs/string_object.h:
      
      WebCore:
      
              Reviewed by Darin.
      
      	- http://bugzilla.opendarwin.org/show_bug.cgi?id=4124
      	(change JavaScript property access to avoid double lookup)
      
      	- 10% speedup on JavaScript iBench
      	- 5% speedup on 24fun BenchJS benchmark
      
      	Changed all get methods to getOwnProperty - they are no longer responsible for
      	prototype lookup, and determine if the property was found as a side efect.
      
      	Also miscellaneous code cleanup.
      
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::getOwnProperty):
              (KJS::DOMStyleSheet::getOwnProperty):
              (KJS::DOMStyleSheetList::getOwnProperty):
              (KJS::DOMMediaList::getOwnProperty):
              (KJS::DOMCSSStyleSheet::getOwnProperty):
              (KJS::DOMCSSRuleList::getOwnProperty):
              (KJS::DOMCSSRule::getOwnProperty):
              (KJS::DOMCSSRule::getValueProperty):
              (KJS::CSSRuleConstructor::getOwnProperty):
              (KJS::DOMCSSValue::getOwnProperty):
              (KJS::CSSValueConstructor::getOwnProperty):
              (KJS::DOMCSSPrimitiveValue::getOwnProperty):
              (KJS::CSSPrimitiveValueConstructor::getOwnProperty):
              (KJS::DOMCSSValueList::getOwnProperty):
              (KJS::DOMRGBColor::getOwnProperty):
              (KJS::DOMRect::getOwnProperty):
              (KJS::DOMCounter::getOwnProperty):
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getOwnProperty):
              (KJS::DOMNodeList::getOwnProperty):
              (KJS::DOMAttr::getOwnProperty):
              (KJS::DOMDocument::getOwnProperty):
              (KJS::DOMElement::getOwnProperty):
              (KJS::DOMDocumentType::getOwnProperty):
              (KJS::DOMNamedNodeMap::getOwnProperty):
              (KJS::DOMProcessingInstruction::getOwnProperty):
              (KJS::DOMNotation::getOwnProperty):
              (KJS::DOMEntity::getOwnProperty):
              (KJS::NodeConstructor::getOwnProperty):
              (KJS::DOMExceptionConstructor::getOwnProperty):
              (KJS::DOMNamedNodesCollection::getOwnProperty):
              (KJS::DOMCharacterData::getOwnProperty):
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::EventConstructor::getOwnProperty):
              (KJS::DOMEvent::getOwnProperty):
              (KJS::EventExceptionConstructor::getOwnProperty):
              (KJS::DOMUIEvent::getOwnProperty):
              (KJS::DOMMouseEvent::getOwnProperty):
              (KJS::DOMKeyboardEvent::getOwnProperty):
              (KJS::MutationEventConstructor::getOwnProperty):
              (KJS::DOMMutationEvent::getOwnProperty):
              (KJS::DOMWheelEvent::getOwnProperty):
              (KJS::Clipboard::getOwnProperty):
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::getOwnProperty):
              (KJS::KJS::HTMLElement::getOwnProperty):
              (KJS::KJS::HTMLCollection::getOwnProperty):
              (KJS::KJS::HTMLSelectCollection::getOwnProperty):
              (KJS::Image::getOwnProperty):
              (KJS::Context2D::getOwnProperty):
              (KJS::Gradient::getOwnProperty):
              (KJS::ImagePattern::getOwnProperty):
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Plugin::Plugin):
              (KJS::Navigator::getOwnProperty):
              (KJS::Plugins::getOwnProperty):
              (KJS::MimeTypes::getOwnProperty):
              (KJS::Plugin::getOwnProperty):
              (KJS::MimeType::getOwnProperty):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getOwnProperty):
              (KJS::RangeConstructor::getOwnProperty):
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getOwnProperty):
              (KJS::NodeFilterConstructor::getOwnProperty):
              (KJS::DOMTreeWalker::getOwnProperty):
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::getOwnProperty):
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::Screen::getOwnProperty):
              (KJS::Window::~Window):
              (KJS::Window::getOwnProperty):
              (KJS::Window::put):
              (KJS::FrameArray::getOwnProperty):
              (KJS::Location::Location):
              (KJS::Location::getOwnProperty):
              (KJS::Location::put):
              (KJS::Selection::Selection):
              (KJS::Selection::getOwnProperty):
              (KJS::BarInfo::getOwnProperty):
              (KJS::History::getOwnProperty):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequest::getOwnProperty):
              * khtml/ecma/xmlhttprequest.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      234d8b1b
  19. 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
  20. 29 Jun, 2005 1 commit
    • ggaren's avatar
      JavaScriptCore: · b0aae7df
      ggaren authored
      	Patch by Francisco Tolmasky <tolmasky@gmail.com>
      
      	- fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3667
      	Core JavaScript 1.5 Reference:Objects:Array:forEach
      
      	See WebCore Changelog for layout tests added.
      
              Reviewed by darin.
      
              * kjs/array_object.cpp:
              (ArrayProtoFuncImp::call):
              * kjs/array_object.h:
              (KJS::ArrayProtoFuncImp::):
      
      WebCore:
      
      	Contributed by Francisco Tolmasky <tolmasky@gmail.com>
      
      	-test cases for fix to http://bugzilla.opendarwin.org/show_bug.cgi?id=3667
      	Core JavaScript 1.5 Reference:Objects:Array:forEach
      
      	See JavaScriptCore Changelog for details on the patch.
      
              Reviewed by darin.
      
              Test cases added:
              * layout-tests/fast/js/array-every-expected.txt: Added.
              * layout-tests/fast/js/array-every.html: Added.
              * layout-tests/fast/js/array-foreach-expected.txt: Added.
              * layout-tests/fast/js/array-foreach.html: Added.
              * layout-tests/fast/js/array-some-expected.txt: Added.
              * layout-tests/fast/js/array-some.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0aae7df
  21. 12 Dec, 2002 2 commits
  22. 20 Nov, 2002 1 commit
    • darin's avatar
      - decrease ref/deref -- 5% speedup in iBench · c758b286
      darin authored
              * JavaScriptCore.pbproj/project.pbxproj: Added array_instance.h
              * kjs/array_instance.h: Added so it can be shared by function.h.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/number_object.cpp:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/object_object.cpp:
              * kjs/property_map.cpp:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/value.cpp:
              * kjs/value.h:
      	Switched lots of interfaces so they don't require ref/deref.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c758b286
  23. 19 Nov, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 880105d6
      darin authored
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * kjs/identifier.cpp: Added.
              * kjs/identifier.h: Added.
              * JavaScriptCore.pbproj/project.pbxproj: Added files.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/completion.cpp:
              * kjs/completion.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/grammar.cpp:
              * kjs/grammar.cpp.h:
              * kjs/grammar.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
      
      WebCore:
      
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/kjs_window.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      880105d6
  24. 18 Nov, 2002 2 commits
    • darin's avatar
      - simplified the ExecState class, which was showing up in profiles · 3e1ce6e5
      darin authored
              Sped up JavaScript iBench by 6%.
      
              * kjs/interpreter.h: Removed the level of indirection, and made it all inline.
              * kjs/interpreter.cpp: Removed ExecState implementation from here altogether.
      
      	- fixed an oversight in my sort speedup
      
              * kjs/array_object.h: Add pushUndefinedObjectsToEnd.
              * kjs/array_object.cpp:
              (ArrayInstanceImp::sort): Call pushUndefinedObjectsToEnd.
              (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added.
      	Pushes all undefined to the end of the array.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e1ce6e5
    • darin's avatar
      - fix worst speed problems on the sort page of the iBench JavaScript test · 401641ee
      darin authored
      	Sped up JavaScript iBench by 70%, the sort page by 88%.
      
              * kjs/array_object.h: Add array-specific sort functions.
              * kjs/array_object.cpp:
              (compareByStringForQSort): Added.
              (ArrayInstanceImp::sort): Added.
              (compareWithCompareFunctionForQSort): Added.
              (ArrayProtoFuncImp::call): Use ArrayInstanceImp::sort if the object being
      	sorted is actually an array.
      
              * kjs/object.h: Add argumentsPropertyName.
              * kjs/object.cpp: Add argumentsPropertyName.
              * kjs/function.cpp:
              (FunctionImp::FunctionImp): Use argumentsPropertyName to avoid making a UString.
              (FunctionImp::call): Ditto.
              (ActivationImp::ActivationImp): Ditto.
              * kjs/function_object.cpp: (FunctionObjectImp::construct): Ditto.
      
              * kjs/ustring.h: Added compare function for -1/0/+1 comparison.
              * kjs/ustring.cpp: (KJS::compare): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      401641ee
  25. 14 Aug, 2002 1 commit
    • mjs's avatar
      Fix major JavaScript memory leak. run-plt says cvs-base improved · eabbfb44
      mjs authored
      	by 2% and cvs-js-performance improved by 7%. However, this was
      	within the possible noise level in each case.
      
      	The fix was to store ValueImp *'s in the array instead of Value
      	objects, since the Value wrapper will keep a ref and make the
      	object immortal.
      
      	* kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::get):
              (ArrayInstanceImp::put):
              (ArrayInstanceImp::hasProperty):
              (ArrayInstanceImp::deleteProperty):
              (ArrayInstanceImp::setLength):
              (ArrayInstanceImp::mark):
              * kjs/array_object.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eabbfb44
  26. 12 Aug, 2002 1 commit
    • darin's avatar
      top level: · 07f7cce0
      darin authored
              * Tests/WebFoundation-Misc/ifnsurlextensions-test.m: (TestURLCommon):
      	Add tests for the new WebNSURLExtras methods.
      
              * Tests/libiftest/IFCheckLeaks.c: (IFCheckLeaksAtExit): Remove workaround for
      	CFPreferences race condition; it's now in WebFoundation.
      
      JavaScriptCore:
      
      	Speed improvements. 19% faster on cvs-js-performance, 1% on cvs-static-urls.
      
      	Use global string objects for length and other common property names rather
      	than constantly making and destroying them. Use integer versions of get() and
      	other related calls rather than always making a string.
      
      	Also get rid of many unneeded constructors, destructors, copy constructors, and
      	assignment operators. And make some functions non-virtual.
      
              * kjs/internal.h:
              * kjs/internal.cpp:
              (NumberImp::toUInt32): Implement.
              (ReferenceImp::ReferenceImp): Special case for numeric property names.
              (ReferenceImp::getPropertyName): Moved guts here from ValueImp. Handle numeric case.
              (ReferenceImp::getValue): Moved guts here from ValueImp. Handle numeric case.
              (ReferenceImp::putValue): Moved guts here from ValueImp. Handle numeric case.
              (ReferenceImp::deleteValue): Added. Handle numeric case.
      
              * kjs/array_object.h:
              * kjs/array_object.cpp: All-new array implementation that stores the elements
      	in a C++ array rather than in a property map.
              (ArrayInstanceImp::ArrayInstanceImp): Allocate the C++ array.
              (ArrayInstanceImp::~ArrayInstanceImp): Delete the C++ array.
              (ArrayInstanceImp::get): Implement both the old version and the new overload that
      	takes an unsigned index for speed.
              (ArrayInstanceImp::put): Implement both the old version and the new overload that
      	takes an unsigned index for speed.
              (ArrayInstanceImp::hasProperty): Implement both the old version and the new overload that
      	takes an unsigned index for speed.
              (ArrayInstanceImp::deleteProperty): Implement both the old version and the new overload that
      	takes an unsigned index for speed.
              (ArrayInstanceImp::setLength): Added. Used by the above to resize the array.
              (ArrayInstanceImp::mark): Mark the elements of the array too.
              (ArrayPrototypeImp::ArrayPrototypeImp): Pass the length to the array instance constructor.
      
              * kjs/bool_object.cpp:
              * kjs/date_object.cpp:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function_object.cpp:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/object_object.cpp:
              * kjs/regexp_object.cpp:
              * kjs/string_object.cpp:
      
              * kjs/nodes2string.cpp: (SourceStream::operator<<): Add a special case for char now that
      	you can't create a UString from a char implicitly.
      
              * kjs/object.h:
              * kjs/object.cpp:
              (ObjectImp::get): Call through to the string version if the numeric version is not implemented.
              (ObjectImp::put): Call through to the string version if the numeric version is not implemented.
              (ObjectImp::hasProperty): Call through to the string version if the numeric version is not implemented.
              (ObjectImp::deleteProperty): Call through to the string version if the numeric version is not implemented.
      
              * kjs/types.h:
              * kjs/types.cpp:
              (Reference::Reference): Added constructors for the numeric property name case.
      
              * kjs/ustring.h: Made the constructor that turns a character into a string be explicit so we
      	don't get numbers that turn themselves into strings.
              * kjs/ustring.cpp:
              (UString::UString): Detect the empty string case, and use a shared empty string.
              (UString::find): Add an overload for single character finds.
              (UString::rfind): Add an overload for single character finds.
              (KJS::operator==): Fix bug where it would call strlen(0) if the first string was not null.
      	Also handle non-ASCII characters consistently with the rest of the code by casting to unsigned char
      	just in case.
      
              * kjs/value.h: Make ValueImp and all subclasses non-copyable and non-assignable.
              * kjs/value.cpp:
              (ValueImp::toUInt32): New interface, mainly useful so we can detect array indices and not turn
      	them into strings and back.
              (ValueImp::toInteger): Use the new toUInt32. Probably can use more improvement.
              (ValueImp::toInt32): Use the new toUInt32. Probably can use more improvement.
              (ValueImp::toUInt16): Use the new toUInt32. Probably can use more improvement.
              (ValueImp::getBase): Remove handling of the Reference case. That's in ReferenceImp now.
              (ValueImp::getPropertyName): Remove handling of the Reference case. That's in ReferenceImp now.
              (ValueImp::getValue): Remove handling of the Reference case. That's in ReferenceImp now.
              (ValueImp::putValue): Remove handling of the Reference case. That's in ReferenceImp now.
              (ValueImp::deleteValue): Added. Used so we can do delete the same way we do put.
      
      WebFoundation:
      
              * CacheLoader.subproj/WebHTTPResourceLoader.m:
              (-[WebHTTPProtocolHandler createWFLoadRequest]): Fix handling of paths with queries
      	and some other subtle path and port number handling issues by using _web_hostWithPort
      	and _web_pathWithQuery.
      
              * Misc.subproj/WebNSURLExtras.h:
              * Misc.subproj/WebNSURLExtras.m:
              (-[NSURL _web_hostWithPort]): Added.
              (-[NSURL _web_pathWithQuery]): Added.
      
              * CacheLoader.subproj/WebResourceLoad.m:
              (initLoader): Get some random preference before creating threads. This makes it impossible
      	to run into the CFPreferences race condition.
      
      WebCore:
      
              * force-clean-timestamp: Need a full build because of KJS changes.
              * khtml/ecma/kjs_window.h: Need to store an Object, not an ObjectImp, because there's no way
      	to copy an ObjectImp. KJS changes caught this mistake.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07f7cce0
  27. 15 Apr, 2002 1 commit
    • darin's avatar
      Merged KDE 3.0 final code in and: · b70665a4
      darin authored
      JavaScriptCore:
      
      	* kjs/internal.cpp:
      	* kjs/property_map.cpp:
      	* kjs/ustring.h:
      	Removed some unneeded <config.h> includes so we are more similar
      	to the real KDE sources.
      
      	Merged changes from KDE 3.0 final and did some build fixes.
      
      	* JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
      
      	* kjs/grammar.*: Regenerated.
      	* kjs/*.lut.h: Regenerated.
      
      WebCore:
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
      	Remove some minor gratuitous diffs vs. KDE.
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Richard updated to reflect changes in KDE.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
      	* src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
      	* src/kdelibs/khtml/html/html_objectimpl.cpp:
      	(HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/html_tableimpl.cpp:
      	(HTMLTableElementImpl::parseAttribute),
      	(HTMLTablePartElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken): Redo the
      	APPLE_CHANGES ifdef here.
      	* src/kdelibs/khtml/khtmlpart_p.h: Update to latest kde.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::~KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::print): Remove code left in here during merge process.
      	* src/kwq/KWQKHTMLPart.mm: Remove unused setFontSizes(), fontSizes(), and
      	resetFontSizes(). After the merge is landed, remove more.
      	* src/libwebcore.exp: Export updateStyleSelector() for WebKit.
      
      	Fix text to it displays at the right font size.
      
      	* src/kdelibs/khtml/css/cssstyleselector.cpp:
      	(CSSStyleSelector::computeFontSizes): Apply the same SCREEN_RESOLUTION hack here
      	that we do elsewhere.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Use kMin instead of max (oops).
      	(Font::update): Turn off font database chicanery.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::zoomFactor): Use zoom factor 100, not 1.
      
      	More fixes so text displays (still at wrong font size).
      
      	* src/kdelibs/khtml/rendering/font.cpp: (max): New helper.
      	(Font::drawText): Simplified implementation for now.
      	(Font::width): Simplified implementation for now.
      	* src/kwq/KWQColorGroup.mm: Reinstated QCOLOR_GROUP_SIZE.
      
      	* src/kwq/qt/qfontmetrics.h: Removed charWidth and changed _width to take QChar *.
      	* src/kwq/KWQFontMetrics.mm: Removed charWidth and changed _width to take QChar *.
      
      	Merged changes from KDE 3.0 final. Other fixes to get things compiling.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(CSSStyleDeclarationImpl::setProperty): Fix unused variable.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
      	Fix unused variable.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::drawText), (Font::width),
      	(Font::update): Disable special "nsbp" logic for now. We can reenable it
      	if necessary.
      	* src/kdelibs/khtml/rendering/render_replaced.cpp: Fix mismerge.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
      	Fix unused variable.
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::width), (QApplication::desktop):
      	Fix mismerge.
      	* src/kwq/KWQColorGroup.mm: Fix QCOLOR_GROUP_SIZE.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::lineSpacing): New.
      	(QFontMetrics::width): Remove unused optimization.
      	* src/kwq/qt/qfontmetrics.h: Add lineSpacing().
      
              Merged changes from previous merge pass.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
              Last bit of making stuff compile and link. Probably will drop the merge now
              and take it up again when it's time to merge in KDE 3.0 final.
      
      	* src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
      	* src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Make it call _width so we
              don't lose the optimization.
      
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::screenNumber): New.
      	(QDesktopWidget::screenGeometry): New.
              (QApplication::style): New.
      	* src/kwq/KWQColorGroup.mm: (QColorGroup::highlight): New.
      	(QColorGroup::highlightedText): New.
      	* src/kwq/KWQFont.mm: (QFont::setPixelSize): New.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::charWidth): New.
      	* src/kwq/KWQKGlobal.mm: (KGlobal::locale): Implement.
              (KLocale::KLocale): New.
      	(KLocale::languageList): New.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::sheetUsed): New.
      	(KHTMLPart::setSheetUsed): New.
              (KHTMLPart::zoomFactor): New.
      	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): New.
      	* src/kwq/KWQScrollView.mm: (QScrollView::childX): New.
              (QScrollView::childY): New.
      
      	* src/kwq/qt/qapplication.h: style() returns a QStyle &.
      	* src/kwq/qt/qpalette.h: Add Highlight and HighlightedText.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              More compiling. Still won't link.
      
      	* src/kdelibs/khtml/khtmlview.cpp: Disable printing and drag and drop code.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Temporarily turn off our smarter underlining since it relies on access to the
              string, and TextSlave doesn't have that any more.
      	(RenderText::nodeAtPoint): Get rid of a workaround we don't need any more for
              a bug that was fixed by KDE folks.
      	* src/kwq/KWQApplication.mm: (QApplication::desktop): Make the desktop be a
              QDesktopWidget.
      	* src/kwq/qt/qnamespace.h: Add MetaButton.
      	* src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
              destructor.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              Some fixes to get more stuff to compile.
      
      	* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMDocument::getValueProperty):
              Don't try to look at the private m_bComplete to display "complete". Just do
              "loading" and "loaded".
              * src/kdelibs/khtml/khtmlpart_p.h: #ifdef this all out for APPLE_CHANGES.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::update): Add an explicit cast to
              int to avoid float -> int warning.
      	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcColMinMax):
              Add an explicit cast to int to avoid uint compared with int warning.
      	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
              Use sheetUsed() and setSheetUsed() functions on KHTMLPart intead of getting
              at private fields the way the real KDE code does.
      
              * src/kwq/KWQKHTMLPart.h: Declare zoomFactor(), sheetUsed(), and setSheetUsed().
      	* src/kwq/KWQStyle.h: Add PM_DefaultFramWidth as another metric.
      	* src/kwq/kdecore/klocale.h: Add languageList().
      	* src/kwq/khtml/khtml_settings.h: Add mediumFontSize().
      	* src/kwq/qt/qapplication.h: Add style() and QDesktopWidget.
      	* src/kwq/qt/qevent.h: Add reason().
      	* src/kwq/qt/qfont.h: Add setPixelSize(int).
      	* src/kwq/qt/qfontmetrics.h: Add charWidth() and _charWidth() functions.
      	* src/kwq/qt/qpainter.h: Add drawText() overload with position parameter.
      	* src/kwq/qt/qpalette.h: Add highlight() and highlightedText().
      	* src/kwq/qt/qscrollview.h: Add childX() and childY().
      
      	* src/kwq/KWQApplication.mm: Change KWQDesktopWidget to QDesktopWidget.
      
      WebKit:
      
      	* WebView.subproj/IFPreferences.h:
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old
      	WebKitFontSizes preference.
      	(-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New.
      
      	* WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call
      	updateStyleSelector() instead of recalcStyle().
      
              Merged changes from previous merge branch.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
              Add WebKitMediumFontSizePreferenceKey.
      
      WebBrowser:
      
      	* Preferences.subproj/TextPreferences.m: (-[TextPreferences defaultFontSize]),
      	(-[TextPreferences setDefaultFontSize:]): Just get and set the new mediumFontSize
      	preference rather than doing the whole fontSizes preference dance.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b70665a4
  28. 21 Mar, 2002 1 commit
  29. 24 Aug, 2001 2 commits