Apply FINAL to the Node hierarchy.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 12 May 2013 15:12:51 +0000 (15:12 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 12 May 2013 15:12:51 +0000 (15:12 +0000)
commit20e062bd8e2179feb9f8635f40516ee2f4a1b7b5
tree9c52904e5be98968f9a0b3c26ad7fac558255c3c
parent1ccbdc54d50f44ee9586519d57af36f9de2cda1d
Apply FINAL to the Node hierarchy.
<http://webkit.org/b/115984>

Mostly from Blink r149454 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149454>

A couple of the stable DOM/ microbenchmarks are perf positive on Linux clang:

    - CloneNodes time reduced from 162.4 to 156.5 ms.
    - CreateNodes time reduced from 113.9 to 104.9 ms.

* dom/: Beat things with the FINAL stick.
* html/: Ditto.
* svg/: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
184 files changed:
Source/WebCore/ChangeLog
Source/WebCore/dom/Attr.h
Source/WebCore/dom/CDATASection.h
Source/WebCore/dom/CharacterData.h
Source/WebCore/dom/Comment.h
Source/WebCore/dom/ContainerNode.h
Source/WebCore/dom/DocumentType.h
Source/WebCore/dom/Element.h
Source/WebCore/dom/EntityReference.h
Source/WebCore/dom/Notation.h
Source/WebCore/dom/ProcessingInstruction.h
Source/WebCore/dom/PseudoElement.h
Source/WebCore/dom/ShadowRoot.h
Source/WebCore/dom/StyledElement.h
Source/WebCore/dom/TemplateContentDocumentFragment.h
Source/WebCore/dom/Text.h
Source/WebCore/html/HTMLAppletElement.h
Source/WebCore/html/HTMLAreaElement.h
Source/WebCore/html/HTMLAudioElement.h
Source/WebCore/html/HTMLBDIElement.h
Source/WebCore/html/HTMLBRElement.h
Source/WebCore/html/HTMLBaseElement.h
Source/WebCore/html/HTMLBaseFontElement.h
Source/WebCore/html/HTMLBodyElement.h
Source/WebCore/html/HTMLButtonElement.h
Source/WebCore/html/HTMLCanvasElement.h
Source/WebCore/html/HTMLDListElement.h
Source/WebCore/html/HTMLDataListElement.h
Source/WebCore/html/HTMLDetailsElement.h
Source/WebCore/html/HTMLDialogElement.h
Source/WebCore/html/HTMLDirectoryElement.h
Source/WebCore/html/HTMLElement.h
Source/WebCore/html/HTMLEmbedElement.h
Source/WebCore/html/HTMLFieldSetElement.h
Source/WebCore/html/HTMLFontElement.h
Source/WebCore/html/HTMLFormElement.h
Source/WebCore/html/HTMLFrameElement.h
Source/WebCore/html/HTMLFrameSetElement.h
Source/WebCore/html/HTMLHRElement.h
Source/WebCore/html/HTMLHeadElement.h
Source/WebCore/html/HTMLHeadingElement.h
Source/WebCore/html/HTMLHtmlElement.h
Source/WebCore/html/HTMLIFrameElement.h
Source/WebCore/html/HTMLKeygenElement.cpp
Source/WebCore/html/HTMLKeygenElement.h
Source/WebCore/html/HTMLLIElement.h
Source/WebCore/html/HTMLLabelElement.h
Source/WebCore/html/HTMLLegendElement.h
Source/WebCore/html/HTMLLinkElement.h
Source/WebCore/html/HTMLMapElement.h
Source/WebCore/html/HTMLMarqueeElement.h
Source/WebCore/html/HTMLMenuElement.h
Source/WebCore/html/HTMLMetaElement.h
Source/WebCore/html/HTMLMeterElement.h
Source/WebCore/html/HTMLModElement.h
Source/WebCore/html/HTMLOListElement.h
Source/WebCore/html/HTMLObjectElement.h
Source/WebCore/html/HTMLOptGroupElement.h
Source/WebCore/html/HTMLOptionElement.h
Source/WebCore/html/HTMLOutputElement.h
Source/WebCore/html/HTMLParagraphElement.h
Source/WebCore/html/HTMLParamElement.h
Source/WebCore/html/HTMLPreElement.h
Source/WebCore/html/HTMLProgressElement.h
Source/WebCore/html/HTMLQuoteElement.h
Source/WebCore/html/HTMLScriptElement.h
Source/WebCore/html/HTMLSourceElement.h
Source/WebCore/html/HTMLStyleElement.h
Source/WebCore/html/HTMLSummaryElement.h
Source/WebCore/html/HTMLTableCaptionElement.h
Source/WebCore/html/HTMLTableCellElement.h
Source/WebCore/html/HTMLTableColElement.h
Source/WebCore/html/HTMLTableElement.h
Source/WebCore/html/HTMLTableRowElement.h
Source/WebCore/html/HTMLTableSectionElement.h
Source/WebCore/html/HTMLTemplateElement.h
Source/WebCore/html/HTMLTextAreaElement.h
Source/WebCore/html/HTMLTitleElement.h
Source/WebCore/html/HTMLTrackElement.h
Source/WebCore/html/HTMLUListElement.h
Source/WebCore/html/HTMLUnknownElement.h
Source/WebCore/html/HTMLVideoElement.h
Source/WebCore/html/HTMLViewSourceDocument.h
Source/WebCore/html/ImageDocument.cpp
Source/WebCore/html/ImageDocument.h
Source/WebCore/html/MediaDocument.h
Source/WebCore/html/PluginDocument.h
Source/WebCore/html/TextDocument.h
Source/WebCore/html/shadow/ClearButtonElement.h
Source/WebCore/html/shadow/DateTimeEditElement.h
Source/WebCore/html/shadow/DateTimeFieldElements.h
Source/WebCore/html/shadow/DetailsMarkerControl.h
Source/WebCore/html/shadow/HTMLContentElement.h
Source/WebCore/html/shadow/MediaControlElements.h
Source/WebCore/html/shadow/MeterShadowElement.h
Source/WebCore/html/shadow/PickerIndicatorElement.h
Source/WebCore/html/shadow/ProgressShadowElement.h
Source/WebCore/html/shadow/SliderThumbElement.h
Source/WebCore/html/shadow/SpinButtonElement.h
Source/WebCore/html/shadow/TextControlInnerElements.h
Source/WebCore/html/track/TextTrackCueGeneric.cpp
Source/WebCore/html/track/WebVTTElement.h
Source/WebCore/loader/SinkDocument.h
Source/WebCore/svg/SVGAElement.h
Source/WebCore/svg/SVGAltGlyphDefElement.h
Source/WebCore/svg/SVGAltGlyphElement.h
Source/WebCore/svg/SVGAltGlyphItemElement.h
Source/WebCore/svg/SVGAnimateColorElement.h
Source/WebCore/svg/SVGAnimateMotionElement.h
Source/WebCore/svg/SVGAnimateTransformElement.h
Source/WebCore/svg/SVGCircleElement.h
Source/WebCore/svg/SVGClipPathElement.h
Source/WebCore/svg/SVGCursorElement.h
Source/WebCore/svg/SVGDefsElement.h
Source/WebCore/svg/SVGDescElement.h
Source/WebCore/svg/SVGDocument.h
Source/WebCore/svg/SVGEllipseElement.h
Source/WebCore/svg/SVGFEBlendElement.h
Source/WebCore/svg/SVGFEColorMatrixElement.h
Source/WebCore/svg/SVGFEComponentTransferElement.h
Source/WebCore/svg/SVGFECompositeElement.h
Source/WebCore/svg/SVGFEConvolveMatrixElement.h
Source/WebCore/svg/SVGFEDiffuseLightingElement.h
Source/WebCore/svg/SVGFEDisplacementMapElement.h
Source/WebCore/svg/SVGFEDistantLightElement.h
Source/WebCore/svg/SVGFEDropShadowElement.h
Source/WebCore/svg/SVGFEFloodElement.h
Source/WebCore/svg/SVGFEFuncAElement.h
Source/WebCore/svg/SVGFEFuncBElement.h
Source/WebCore/svg/SVGFEFuncGElement.h
Source/WebCore/svg/SVGFEFuncRElement.h
Source/WebCore/svg/SVGFEGaussianBlurElement.h
Source/WebCore/svg/SVGFEImageElement.h
Source/WebCore/svg/SVGFEMergeElement.h
Source/WebCore/svg/SVGFEMergeNodeElement.h
Source/WebCore/svg/SVGFEMorphologyElement.h
Source/WebCore/svg/SVGFEOffsetElement.h
Source/WebCore/svg/SVGFEPointLightElement.h
Source/WebCore/svg/SVGFESpecularLightingElement.h
Source/WebCore/svg/SVGFESpotLightElement.h
Source/WebCore/svg/SVGFETileElement.h
Source/WebCore/svg/SVGFETurbulenceElement.h
Source/WebCore/svg/SVGFilterElement.h
Source/WebCore/svg/SVGFontElement.h
Source/WebCore/svg/SVGFontFaceElement.h
Source/WebCore/svg/SVGFontFaceFormatElement.h
Source/WebCore/svg/SVGFontFaceNameElement.h
Source/WebCore/svg/SVGFontFaceSrcElement.h
Source/WebCore/svg/SVGFontFaceUriElement.h
Source/WebCore/svg/SVGForeignObjectElement.h
Source/WebCore/svg/SVGGElement.h
Source/WebCore/svg/SVGGlyphElement.h
Source/WebCore/svg/SVGGlyphRefElement.h
Source/WebCore/svg/SVGHKernElement.h
Source/WebCore/svg/SVGImageElement.h
Source/WebCore/svg/SVGLineElement.h
Source/WebCore/svg/SVGLinearGradientElement.h
Source/WebCore/svg/SVGMPathElement.h
Source/WebCore/svg/SVGMarkerElement.h
Source/WebCore/svg/SVGMaskElement.h
Source/WebCore/svg/SVGMetadataElement.h
Source/WebCore/svg/SVGMissingGlyphElement.h
Source/WebCore/svg/SVGPathElement.h
Source/WebCore/svg/SVGPatternElement.h
Source/WebCore/svg/SVGPolygonElement.h
Source/WebCore/svg/SVGPolylineElement.h
Source/WebCore/svg/SVGRadialGradientElement.h
Source/WebCore/svg/SVGRectElement.h
Source/WebCore/svg/SVGSVGElement.h
Source/WebCore/svg/SVGScriptElement.h
Source/WebCore/svg/SVGSetElement.h
Source/WebCore/svg/SVGStopElement.h
Source/WebCore/svg/SVGStyleElement.h
Source/WebCore/svg/SVGStyledElement.h
Source/WebCore/svg/SVGSwitchElement.h
Source/WebCore/svg/SVGSymbolElement.h
Source/WebCore/svg/SVGTRefElement.h
Source/WebCore/svg/SVGTSpanElement.h
Source/WebCore/svg/SVGTextElement.h
Source/WebCore/svg/SVGTextPathElement.h
Source/WebCore/svg/SVGTitleElement.h
Source/WebCore/svg/SVGUseElement.h
Source/WebCore/svg/SVGVKernElement.h
Source/WebCore/svg/SVGViewElement.h