Title: [103017] trunk/Source/WebCore
Revision
103017
Author
[email protected]
Date
2011-12-15 20:19:33 -0800 (Thu, 15 Dec 2011)

Log Message

Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
https://bugs.webkit.org/show_bug.cgi?id=74638

Reviewed by Andreas Kling.

In r102695, I factored common code in setAttribute into
Element::setAttributeInternal. This may have caused a perf regression
due to the extra function call, which inlining should eliminate.

Running Dromaeo locally suggests that this will improve performance
by ~9% on the "dom-attr element.property = value" test (which assigns
a value to an element's id).

* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (103016 => 103017)


--- trunk/Source/WebCore/ChangeLog	2011-12-16 04:03:47 UTC (rev 103016)
+++ trunk/Source/WebCore/ChangeLog	2011-12-16 04:19:33 UTC (rev 103017)
@@ -1,3 +1,21 @@
+2011-12-15  Adam Klein  <[email protected]>
+
+        Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
+        https://bugs.webkit.org/show_bug.cgi?id=74638
+
+        Reviewed by Andreas Kling.
+
+        In r102695, I factored common code in setAttribute into
+        Element::setAttributeInternal. This may have caused a perf regression
+        due to the extra function call, which inlining should eliminate.
+
+        Running Dromaeo locally suggests that this will improve performance
+        by ~9% on the "dom-attr element.property = value" test (which assigns
+        a value to an element's id).
+
+        * dom/Element.cpp:
+        (WebCore::Element::setAttributeInternal):
+
 2011-12-15  Mary Wu  <[email protected]>
 
         Upstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry

Modified: trunk/Source/WebCore/dom/Element.cpp (103016 => 103017)


--- trunk/Source/WebCore/dom/Element.cpp	2011-12-16 04:03:47 UTC (rev 103016)
+++ trunk/Source/WebCore/dom/Element.cpp	2011-12-16 04:19:33 UTC (rev 103017)
@@ -648,7 +648,7 @@
     setAttributeInternal(old, name, value);
 }
 
-void Element::setAttributeInternal(Attribute* old, const QualifiedName& name, const AtomicString& value)
+inline void Element::setAttributeInternal(Attribute* old, const QualifiedName& name, const AtomicString& value)
 {
 #if ENABLE(INSPECTOR)
     if (!isSynchronizingStyleAttribute())
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to