Skip to content
  • weinig@apple.com's avatar
    JavaScriptCore: · caf5e3ba
    weinig@apple.com authored
    2008-09-26  Sam Weinig  <sam@webkit.org>
    
            Reviewed by Darin Adler.
    
            Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
            Speedup static property get/put
    
            Convert getting/setting static property values to use static functions
            instead of storing an integer and switching in getValueProperty/putValueProperty.
    
            * kjs/JSObject.cpp:
            (JSC::JSObject::deleteProperty):
            (JSC::JSObject::getPropertyAttributes):
            * kjs/MathObject.cpp:
            (JSC::MathObject::getOwnPropertySlot):
            * kjs/NumberConstructor.cpp:
            (JSC::numberConstructorNaNValue):
            (JSC::numberConstructorNegInfinity):
            (JSC::numberConstructorPosInfinity):
            (JSC::numberConstructorMaxValue):
            (JSC::numberConstructorMinValue):
            * kjs/PropertySlot.h:
            (JSC::PropertySlot::):
            * kjs/RegExpConstructor.cpp:
            (JSC::regExpConstructorDollar1):
            (JSC::regExpConstructorDollar2):
            (JSC::regExpConstructorDollar3):
            (JSC::regExpConstructorDollar4):
            (JSC::regExpConstructorDollar5):
            (JSC::regExpConstructorDollar6):
            (JSC::regExpConstructorDollar7):
            (JSC::regExpConstructorDollar8):
            (JSC::regExpConstructorDollar9):
            (JSC::regExpConstructorInput):
            (JSC::regExpConstructorMultiline):
            (JSC::regExpConstructorLastMatch):
            (JSC::regExpConstructorLastParen):
            (JSC::regExpConstructorLeftContext):
            (JSC::regExpConstructorRightContext):
            (JSC::setRegExpConstructorInput):
            (JSC::setRegExpConstructorMultiline):
            (JSC::RegExpConstructor::setInput):
            (JSC::RegExpConstructor::setMultiline):
            (JSC::RegExpConstructor::multiline):
            * kjs/RegExpConstructor.h:
            * kjs/RegExpObject.cpp:
            (JSC::regExpObjectGlobal):
            (JSC::regExpObjectIgnoreCase):
            (JSC::regExpObjectMultiline):
            (JSC::regExpObjectSource):
            (JSC::regExpObjectLastIndex):
            (JSC::setRegExpObjectLastIndex):
            * kjs/RegExpObject.h:
            (JSC::RegExpObject::setLastIndex):
            (JSC::RegExpObject::lastIndex):
            (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
            * kjs/StructureID.cpp:
            (JSC::StructureID::getEnumerablePropertyNames):
            * kjs/create_hash_table:
            * kjs/lexer.cpp:
            (JSC::Lexer::lex):
            * kjs/lookup.cpp:
            (JSC::HashTable::createTable):
            (JSC::HashTable::deleteTable):
            (JSC::setUpStaticFunctionSlot):
            * kjs/lookup.h:
            (JSC::HashEntry::initialize):
            (JSC::HashEntry::setKey):
            (JSC::HashEntry::key):
            (JSC::HashEntry::attributes):
            (JSC::HashEntry::function):
            (JSC::HashEntry::functionLength):
            (JSC::HashEntry::propertyGetter):
            (JSC::HashEntry::propertyPutter):
            (JSC::HashEntry::lexerValue):
            (JSC::HashEntry::):
            (JSC::HashTable::entry):
            (JSC::getStaticPropertySlot):
            (JSC::getStaticValueSlot):
            (JSC::lookupPut):
    
    WebCore:
    
    2008-09-26  Sam Weinig  <sam@webkit.org>
    
            Reviewed by Darin Adler.
    
            Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
            Speedup static property get/put
    
            * DerivedSources.make:
            * GNUmakefile.am:
            * WebCore.pro:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            * bindings/js/JSDOMBinding.cpp:
            * bindings/js/JSDOMBinding.h:
            * bindings/js/JSDOMWindowBase.cpp:
            (WebCore::getDOMConstructor):
            (WebCore::jsDOMWindowBaseCrypto):
            (WebCore::jsDOMWindowBaseEvent):
            (WebCore::jsDOMWindowBaseImage):
            (WebCore::jsDOMWindowBaseMessageChannel):
            (WebCore::jsDOMWindowBaseOption):
            (WebCore::jsDOMWindowBaseXMLHttpRequest):
            (WebCore::jsDOMWindowBaseAudio):
            (WebCore::jsDOMWindowBaseXSLTProcessor):
            (WebCore::jsDOMWindowBaseOnabort):
            (WebCore::jsDOMWindowBaseOnblur):
            (WebCore::jsDOMWindowBaseOnchange):
            (WebCore::jsDOMWindowBaseOnclick):
            (WebCore::jsDOMWindowBaseOndblclick):
            (WebCore::jsDOMWindowBaseOnerror):
            (WebCore::jsDOMWindowBaseOnfocus):
            (WebCore::jsDOMWindowBaseOnkeydown):
            (WebCore::jsDOMWindowBaseOnkeypress):
            (WebCore::jsDOMWindowBaseOnkeyup):
            (WebCore::jsDOMWindowBaseOnload):
            (WebCore::jsDOMWindowBaseOnmousedown):
            (WebCore::jsDOMWindowBaseOnmousemove):
            (WebCore::jsDOMWindowBaseOnmouseout):
            (WebCore::jsDOMWindowBaseOnmouseover):
            (WebCore::jsDOMWindowBaseOnmouseup):
            (WebCore::jsDOMWindowBaseOnMouseWheel):
            (WebCore::jsDOMWindowBaseOnreset):
            (WebCore::jsDOMWindowBaseOnresize):
            (WebCore::jsDOMWindowBaseOnscroll):
            (WebCore::jsDOMWindowBaseOnsearch):
            (WebCore::jsDOMWindowBaseOnselect):
            (WebCore::jsDOMWindowBaseOnsubmit):
            (WebCore::jsDOMWindowBaseOnbeforeunload):
            (WebCore::jsDOMWindowBaseOnunload):
            (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
            (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
            (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
            (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
            (WebCore::JSDOMWindowBase::getOwnPropertySlot):
            (WebCore::JSDOMWindowBase::put):
            (WebCore::setJSDOMWindowBaseOnabort):
            (WebCore::setJSDOMWindowBaseOnblur):
            (WebCore::setJSDOMWindowBaseOnchange):
            (WebCore::setJSDOMWindowBaseOnclick):
            (WebCore::setJSDOMWindowBaseOndblclick):
            (WebCore::setJSDOMWindowBaseOnerror):
            (WebCore::setJSDOMWindowBaseOnfocus):
            (WebCore::setJSDOMWindowBaseOnkeydown):
            (WebCore::setJSDOMWindowBaseOnkeypress):
            (WebCore::setJSDOMWindowBaseOnkeyup):
            (WebCore::setJSDOMWindowBaseOnload):
            (WebCore::setJSDOMWindowBaseOnmousedown):
            (WebCore::setJSDOMWindowBaseOnmousemove):
            (WebCore::setJSDOMWindowBaseOnmouseout):
            (WebCore::setJSDOMWindowBaseOnmouseover):
            (WebCore::setJSDOMWindowBaseOnmouseup):
            (WebCore::setJSDOMWindowBaseOnMouseWheel):
            (WebCore::setJSDOMWindowBaseOnreset):
            (WebCore::setJSDOMWindowBaseOnresize):
            (WebCore::setJSDOMWindowBaseOnscroll):
            (WebCore::setJSDOMWindowBaseOnsearch):
            (WebCore::setJSDOMWindowBaseOnselect):
            (WebCore::setJSDOMWindowBaseOnsubmit):
            (WebCore::setJSDOMWindowBaseOnbeforeunload):
            (WebCore::setJSDOMWindowBaseOnunload):
            (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
            (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
            (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
            (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
            (WebCore::setJSDOMWindowBaseEvent):
            (WebCore::setJSDOMWindowBaseAudio):
            (WebCore::setJSDOMWindowBaseImage):
            (WebCore::setJSDOMWindowBaseMessageChannel):
            (WebCore::setJSDOMWindowBaseOption):
            (WebCore::setJSDOMWindowBaseXMLHttpRequest):
            (WebCore::setJSDOMWindowBaseXSLTProcessor):
            * bindings/js/JSDOMWindowBase.h:
            * bindings/js/JSDOMWindowCustom.cpp:
            (WebCore::nonCachingStaticCloseFunctionGetter):
            (WebCore::nonCachingStaticBlurFunctionGetter):
            (WebCore::nonCachingStaticFocusFunctionGetter):
            (WebCore::nonCachingStaticPostMessageFunctionGetter):
            * bindings/js/JSDOMWindowCustom.h:
            (WebCore::JSDOMWindow::customGetOwnPropertySlot):
            * bindings/js/JSEventTargetBase.cpp:
            * bindings/js/JSEventTargetBase.h:
            (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
            (WebCore::JSEventTargetBasePrototype::classInfo):
            * bindings/js/JSEventTargetNode.cpp:
            (WebCore::):
            (WebCore::JSEventTargetNode::getOwnPropertySlot):
            (WebCore::JSEventTargetNode::put):
            * bindings/js/JSEventTargetNode.h:
            (WebCore::JSEventTargetNode::classInfo):
            (WebCore::JSEventTargetNode::prototypeClassName):
            * bindings/js/JSEventTargetSVGElementInstance.cpp:
            (WebCore::):
            (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
            (WebCore::JSEventTargetSVGElementInstance::put):
            * bindings/js/JSEventTargetSVGElementInstance.h:
            (WebCore::JSEventTargetSVGElementInstance::classInfo):
            (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
            * bindings/js/JSHTMLInputElementCustom.cpp:
            (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
            * bindings/js/JSHistoryCustom.cpp:
            (WebCore::nonCachingStaticBackFunctionGetter):
            (WebCore::nonCachingStaticForwardFunctionGetter):
            (WebCore::nonCachingStaticGoFunctionGetter):
            (WebCore::JSHistory::customGetOwnPropertySlot):
            * bindings/js/JSLocationCustom.cpp:
            (WebCore::nonCachingStaticReplaceFunctionGetter):
            (WebCore::nonCachingStaticReloadFunctionGetter):
            (WebCore::nonCachingStaticAssignFunctionGetter):
            (WebCore::JSLocation::customGetOwnPropertySlot):
            (WebCore::JSLocation::customPut):
            * bindings/scripts/CodeGeneratorJS.pm:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    caf5e3ba