Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients()
authorjhoneycutt@apple.com <jhoneycutt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Mar 2014 20:57:40 +0000 (20:57 +0000)
committerjhoneycutt@apple.com <jhoneycutt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Mar 2014 20:57:40 +0000 (20:57 +0000)
commit064eecccb2d5061644a3cbc25bafe55ba99868b8
tree683dcc1195ea1ab390bd6e5d05298918a70015e0
parentd3144edd1fef7afde77c92f884b1494b76e24b24
Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients()

<https://bugs.webkit.org/show_bug.cgi?id=121887>
<rdar://problem/15073043>

Clang appears to be optimizing out a branch in RenderObject::node()
when compiling RenderLayer::FilterInfo::updateReferenceFilterClients().
We'll work around this by factoring out the code in question into a
separate member function marked NEVER_INLINE.

No test possible due to <https://bugs.webkit.org/show_bug.cgi?id=129757>.

Reviewed by David Kilzer.

* rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::layerElement):
Code moved from updateReferenceFilterClients(). Returns the Element*
for m_layer.
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
Use layerElement().

* rendering/RenderLayerFilterInfo.h:
Declared layerElement().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerFilterInfo.cpp
Source/WebCore/rendering/RenderLayerFilterInfo.h