Title: [183174] trunk/Source/WebCore
Revision
183174
Author
[email protected]
Date
2015-04-23 00:21:35 -0700 (Thu, 23 Apr 2015)

Log Message

Slap Node's reference counting functions with ALWAYS_INLINE stick.

Speculative fix for weird ~3% regression on Speedometer seen after TreeShared
was merged into Node. Since the memory layout didn't change, failure to inline
seems like a possible source of regression.

* dom/Node.h:
(WebCore::Node::ref):
(WebCore::Node::deref):
(WebCore::Node::hasOneRef):
(WebCore::Node::refCount):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (183173 => 183174)


--- trunk/Source/WebCore/ChangeLog	2015-04-23 06:03:22 UTC (rev 183173)
+++ trunk/Source/WebCore/ChangeLog	2015-04-23 07:21:35 UTC (rev 183174)
@@ -1,3 +1,17 @@
+2015-04-23  Andreas Kling  <[email protected]>
+
+        Slap Node's reference counting functions with ALWAYS_INLINE stick.
+
+        Speculative fix for weird ~3% regression on Speedometer seen after TreeShared
+        was merged into Node. Since the memory layout didn't change, failure to inline
+        seems like a possible source of regression.
+
+        * dom/Node.h:
+        (WebCore::Node::ref):
+        (WebCore::Node::deref):
+        (WebCore::Node::hasOneRef):
+        (WebCore::Node::refCount):
+
 2015-04-22  Simon Fraser  <[email protected]>
 
         [iOS] Move computeCoverageRect code from FrameView into TileController

Modified: trunk/Source/WebCore/dom/Node.h (183173 => 183174)


--- trunk/Source/WebCore/dom/Node.h	2015-04-23 06:03:22 UTC (rev 183173)
+++ trunk/Source/WebCore/dom/Node.h	2015-04-23 07:21:35 UTC (rev 183174)
@@ -717,7 +717,7 @@
 }
 #endif
 
-inline void Node::ref()
+ALWAYS_INLINE void Node::ref()
 {
     ASSERT(isMainThread());
     ASSERT(!m_deletionHasBegun);
@@ -726,7 +726,7 @@
     ++m_refCount;
 }
 
-inline void Node::deref()
+ALWAYS_INLINE void Node::deref()
 {
     ASSERT(isMainThread());
     ASSERT(m_refCount >= 0);
@@ -741,14 +741,14 @@
     }
 }
 
-inline bool Node::hasOneRef() const
+ALWAYS_INLINE bool Node::hasOneRef() const
 {
     ASSERT(!m_deletionHasBegun);
     ASSERT(!m_inRemovedLastRefFunction);
     return m_refCount == 1;
 }
 
-inline int Node::refCount() const
+ALWAYS_INLINE int Node::refCount() const
 {
     return m_refCount;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to