2010-01-18 Maciej Stachowiak <mjs@apple.com>
authormjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jan 2010 02:25:21 +0000 (02:25 +0000)
committermjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jan 2010 02:25:21 +0000 (02:25 +0000)
commit1232111e13bc985a3f3a4c63e7381f61b6edfbaf
treeb7341513c6e1025243946295027c08238452e3b5
parent6b1e567c6c536b4f36ece3850d865cd65e31c454
2010-01-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Barth.

        Inline functions that are hot in DOM manipulation
        https://bugs.webkit.org/show_bug.cgi?id=33820

        (3% speedup on Dromaeo DOM Core tests)

        * runtime/WeakGCMap.h:
        (JSC::::get): inline
2010-01-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Barth.

        Inline functions that are hot in DOM manipulation
        https://bugs.webkit.org/show_bug.cgi?id=33820

        (3% speedup on Dromaeo DOM Core tests)

        * bindings/js/JSDOMBinding.h:
        (WebCore::currentWorld): Inlined.
        (WebCore::jsString): Inlined String& overload and split off slow case.
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringSlowCase): Slow case for the above.
        * dom/Document.h:
        (WebCore::Document::isHTMLDocument): Use a bit and an inline method
        instead of a virtual method, since this is so hot and size of Document
        is not a prime concern.
        (WebCore::Document::create): Adapt for above.
        (WebCore::Document::createXHTML): ditto
        * dom/Document.cpp:
        (WebCore::Document::Document): ditto
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument): ditto
        * html/HTMLDocument.h: ditto
        * loader/PlaceholderDocument.h:
        (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument): ditto
        * dom/Element.h:
        (WebCore::Element::attributes): Inlined.
        (WebCore::Element::updateId): Inlined.
        * dom/Element.cpp: (Remove inlined methods.)
        * dom/NamedAttrMap.h:
        (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
        * dom/NamedAttrMap.cpp:
        (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case
        early exit doesn't incur a function call.
        (WebCore::InspectorController::didRemoveDOMNode): ditto
        (WebCore::InspectorController::didModifyDOMAttr): ditto
        * platform/ThreadGlobalData.h:
        (WebCore::threadGlobalData): Inlined.
        * platform/ThreadGlobalData.cpp: (Removed inline methods).
        * platform/Timer.h:
        (WebCore::TimerBase::isActive): Inlined.
        * platform/Timer.cpp: (Removed inline methods).
        * WebCore.xcodeproj/project.pbxproj: Install new heares.
        * WebCore.base.exp: Add appropriate exports.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
23 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/runtime/WeakGCMap.h
WebCore/ChangeLog
WebCore/WebCore.base.exp
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/JSDOMBinding.cpp
WebCore/bindings/js/JSDOMBinding.h
WebCore/dom/Document.cpp
WebCore/dom/Document.h
WebCore/dom/Element.cpp
WebCore/dom/Element.h
WebCore/dom/NamedAttrMap.cpp
WebCore/dom/NamedAttrMap.h
WebCore/html/HTMLDocument.cpp
WebCore/html/HTMLDocument.h
WebCore/inspector/InspectorController.cpp
WebCore/inspector/InspectorController.h
WebCore/loader/PlaceholderDocument.h
WebCore/platform/ThreadGlobalData.cpp
WebCore/platform/ThreadGlobalData.h
WebCore/platform/Timer.cpp
WebCore/platform/Timer.h
WebCore/svg/SVGDocument.cpp