20% regression on dom_perf/DomDivWalk
authorfalken@chromium.org <falken@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Jan 2013 07:31:30 +0000 (07:31 +0000)
committerfalken@chromium.org <falken@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Jan 2013 07:31:30 +0000 (07:31 +0000)
commitd16540ce6c5fa6700af6f9b4e3d7b9957a0ed935
tree8604ee7ffee951316dd85ea7b9938a5b0b78ea04
parent7b28779a4c18bda6212fbec0b0f6853d01d6886f
20% regression on dom_perf/DomDivWalk
https://bugs.webkit.org/show_bug.cgi?id=106726

Reviewed by Hajime Morita.

This patch moves the checks in Element::removedFrom for Fullscreen and top layer flags
into a slow path. The idea is for the two checks for Fullscreen and top layer
to be replaced by one faster check in the fast path.

The plan is to migrate the Fullscreen implementation to use top layer, so this is just a
short-term fix for the perf regression.

No new tests: no functionality change

* dom/Element.cpp:
(WebCore::Element::removedFrom): Create a slow path to move the Fullscreen and top layer checks into.
* dom/Node.cpp:
(WebCore::Node::setIsInTopLayer): To allow for cleaner code in Element::removedFrom, define
setIsInTopLayer and isInTopLayer even when the feature flag is off.
* dom/Node.h:
(WebCore::Node::isInTopLayer): Ditto.
(Node):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@140512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/dom/Element.cpp
Source/WebCore/dom/Node.h