REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
authorkling@webkit.org <kling@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2012 12:29:28 +0000 (12:29 +0000)
committerkling@webkit.org <kling@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2012 12:29:28 +0000 (12:29 +0000)
commit997be39e9c12abe6ba8ff8ec16057f4c77e8e5f7
treeb170b5385645394d4afe8be7a3125edf4e255d7c
parentd20d9a60b7cc27a455a675387d004a0c714025a8
REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
<http://webkit.org/b/77952>

Reviewed by Andreas Kling.
Patch by Ryosuke Niwa.

The performance regression was caused by using ensureAttributeData() which forces the
regeneration of invalidated attributes ("style" and SVG animatable attributes.)
Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
of ElementAttributeData, not the validity of its contents. Use that when grabbing
at an element's inline and attribute styles.

* dom/Element.h:
(Element):
(WebCore::Element::ensureAttributeDataWithoutUpdate):
* dom/StyledElement.h:
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::ensureAttributeStyle):

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