Bug 115984

Summary: Apply FINAL to the Node hierarchy.
Product: WebKit Reporter: Andreas Kling <kling>
Component: DOMAssignee: Andreas Kling <kling>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, kling
Priority: P2 Keywords: Performance
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Andreas Kling 2013-05-12 07:40:43 PDT
Merge Blink r149454:
https://chromium.googlesource.com/chromium/blink/+/72df1949dc0e98ab3fe294654d8069cfc8d235e7

FINALizing of the Node hierarchy.

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.

(Don't get too excited; official Linux builds still use GCC, v4.6 as far as I
know, which does not support final yet. The GCC 4.6 scores are 170ms and 98ms.
Interesting that GCC + nofinal is faster on CreateNodes that clang + final,
and slower than clang + nofinal on CloneNodes).
Comment 1 Andreas Kling 2013-05-12 07:45:37 PDT
Created attachment 201487 [details]
Patch
Comment 2 WebKit Commit Bot 2013-05-12 07:52:08 PDT
Attachment 201487 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/Attr.h', u'Source/WebCore/dom/CDATASection.h', u'Source/WebCore/dom/CharacterData.h', u'Source/WebCore/dom/Comment.h', u'Source/WebCore/dom/ContainerNode.h', u'Source/WebCore/dom/DocumentType.h', u'Source/WebCore/dom/Element.h', u'Source/WebCore/dom/EntityReference.h', u'Source/WebCore/dom/Notation.h', u'Source/WebCore/dom/ProcessingInstruction.h', u'Source/WebCore/dom/PseudoElement.h', u'Source/WebCore/dom/ShadowRoot.h', u'Source/WebCore/dom/StyledElement.h', u'Source/WebCore/dom/TemplateContentDocumentFragment.h', u'Source/WebCore/dom/Text.h', u'Source/WebCore/html/HTMLAppletElement.h', u'Source/WebCore/html/HTMLAreaElement.h', u'Source/WebCore/html/HTMLAudioElement.h', u'Source/WebCore/html/HTMLBDIElement.h', u'Source/WebCore/html/HTMLBRElement.h', u'Source/WebCore/html/HTMLBaseElement.h', u'Source/WebCore/html/HTMLBaseFontElement.h', u'Source/WebCore/html/HTMLBodyElement.h', u'Source/WebCore/html/HTMLButtonElement.h', u'Source/WebCore/html/HTMLCanvasElement.h', u'Source/WebCore/html/HTMLDListElement.h', u'Source/WebCore/html/HTMLDataListElement.h', u'Source/WebCore/html/HTMLDetailsElement.h', u'Source/WebCore/html/HTMLDialogElement.h', u'Source/WebCore/html/HTMLDirectoryElement.h', u'Source/WebCore/html/HTMLElement.h', u'Source/WebCore/html/HTMLEmbedElement.h', u'Source/WebCore/html/HTMLFieldSetElement.h', u'Source/WebCore/html/HTMLFontElement.h', u'Source/WebCore/html/HTMLFormElement.h', u'Source/WebCore/html/HTMLFrameElement.h', u'Source/WebCore/html/HTMLFrameSetElement.h', u'Source/WebCore/html/HTMLHRElement.h', u'Source/WebCore/html/HTMLHeadElement.h', u'Source/WebCore/html/HTMLHeadingElement.h', u'Source/WebCore/html/HTMLHtmlElement.h', u'Source/WebCore/html/HTMLIFrameElement.h', u'Source/WebCore/html/HTMLKeygenElement.cpp', u'Source/WebCore/html/HTMLKeygenElement.h', u'Source/WebCore/html/HTMLLIElement.h', u'Source/WebCore/html/HTMLLabelElement.h', u'Source/WebCore/html/HTMLLegendElement.h', u'Source/WebCore/html/HTMLLinkElement.h', u'Source/WebCore/html/HTMLMapElement.h', u'Source/WebCore/html/HTMLMarqueeElement.h', u'Source/WebCore/html/HTMLMenuElement.h', u'Source/WebCore/html/HTMLMetaElement.h', u'Source/WebCore/html/HTMLMeterElement.h', u'Source/WebCore/html/HTMLModElement.h', u'Source/WebCore/html/HTMLOListElement.h', u'Source/WebCore/html/HTMLObjectElement.h', u'Source/WebCore/html/HTMLOptGroupElement.h', u'Source/WebCore/html/HTMLOptionElement.h', u'Source/WebCore/html/HTMLOutputElement.h', u'Source/WebCore/html/HTMLParagraphElement.h', u'Source/WebCore/html/HTMLParamElement.h', u'Source/WebCore/html/HTMLPreElement.h', u'Source/WebCore/html/HTMLProgressElement.h', u'Source/WebCore/html/HTMLQuoteElement.h', u'Source/WebCore/html/HTMLScriptElement.h', u'Source/WebCore/html/HTMLSourceElement.h', u'Source/WebCore/html/HTMLStyleElement.h', u'Source/WebCore/html/HTMLSummaryElement.h', u'Source/WebCore/html/HTMLTableCaptionElement.h', u'Source/WebCore/html/HTMLTableCellElement.h', u'Source/WebCore/html/HTMLTableColElement.h', u'Source/WebCore/html/HTMLTableElement.h', u'Source/WebCore/html/HTMLTableRowElement.h', u'Source/WebCore/html/HTMLTableSectionElement.h', u'Source/WebCore/html/HTMLTemplateElement.h', u'Source/WebCore/html/HTMLTextAreaElement.h', u'Source/WebCore/html/HTMLTitleElement.h', u'Source/WebCore/html/HTMLTrackElement.h', u'Source/WebCore/html/HTMLUListElement.h', u'Source/WebCore/html/HTMLUnknownElement.h', u'Source/WebCore/html/HTMLVideoElement.h', u'Source/WebCore/html/HTMLViewSourceDocument.h', u'Source/WebCore/html/ImageDocument.cpp', u'Source/WebCore/html/ImageDocument.h', u'Source/WebCore/html/MediaDocument.h', u'Source/WebCore/html/PluginDocument.h', u'Source/WebCore/html/TextDocument.h', u'Source/WebCore/html/shadow/ClearButtonElement.h', u'Source/WebCore/html/shadow/DateTimeEditElement.h', u'Source/WebCore/html/shadow/DateTimeFieldElements.h', u'Source/WebCore/html/shadow/DetailsMarkerControl.h', u'Source/WebCore/html/shadow/HTMLContentElement.h', u'Source/WebCore/html/shadow/MediaControlElements.h', u'Source/WebCore/html/shadow/MeterShadowElement.h', u'Source/WebCore/html/shadow/PickerIndicatorElement.h', u'Source/WebCore/html/shadow/ProgressShadowElement.h', u'Source/WebCore/html/shadow/SliderThumbElement.h', u'Source/WebCore/html/shadow/SpinButtonElement.h', u'Source/WebCore/html/shadow/TextControlInnerElements.h', u'Source/WebCore/html/track/TextTrackCueGeneric.cpp', u'Source/WebCore/html/track/WebVTTElement.h', u'Source/WebCore/loader/SinkDocument.h', u'Source/WebCore/svg/SVGAElement.h', u'Source/WebCore/svg/SVGAltGlyphDefElement.h', u'Source/WebCore/svg/SVGAltGlyphElement.h', u'Source/WebCore/svg/SVGAltGlyphItemElement.h', u'Source/WebCore/svg/SVGAnimateColorElement.h', u'Source/WebCore/svg/SVGAnimateMotionElement.h', u'Source/WebCore/svg/SVGAnimateTransformElement.h', u'Source/WebCore/svg/SVGCircleElement.h', u'Source/WebCore/svg/SVGClipPathElement.h', u'Source/WebCore/svg/SVGCursorElement.h', u'Source/WebCore/svg/SVGDefsElement.h', u'Source/WebCore/svg/SVGDescElement.h', u'Source/WebCore/svg/SVGDocument.h', u'Source/WebCore/svg/SVGEllipseElement.h', u'Source/WebCore/svg/SVGFEBlendElement.h', u'Source/WebCore/svg/SVGFEColorMatrixElement.h', u'Source/WebCore/svg/SVGFEComponentTransferElement.h', u'Source/WebCore/svg/SVGFECompositeElement.h', u'Source/WebCore/svg/SVGFEConvolveMatrixElement.h', u'Source/WebCore/svg/SVGFEDiffuseLightingElement.h', u'Source/WebCore/svg/SVGFEDisplacementMapElement.h', u'Source/WebCore/svg/SVGFEDistantLightElement.h', u'Source/WebCore/svg/SVGFEDropShadowElement.h', u'Source/WebCore/svg/SVGFEFloodElement.h', u'Source/WebCore/svg/SVGFEFuncAElement.h', u'Source/WebCore/svg/SVGFEFuncBElement.h', u'Source/WebCore/svg/SVGFEFuncGElement.h', u'Source/WebCore/svg/SVGFEFuncRElement.h', u'Source/WebCore/svg/SVGFEGaussianBlurElement.h', u'Source/WebCore/svg/SVGFEImageElement.h', u'Source/WebCore/svg/SVGFEMergeElement.h', u'Source/WebCore/svg/SVGFEMergeNodeElement.h', u'Source/WebCore/svg/SVGFEMorphologyElement.h', u'Source/WebCore/svg/SVGFEOffsetElement.h', u'Source/WebCore/svg/SVGFEPointLightElement.h', u'Source/WebCore/svg/SVGFESpecularLightingElement.h', u'Source/WebCore/svg/SVGFESpotLightElement.h', u'Source/WebCore/svg/SVGFETileElement.h', u'Source/WebCore/svg/SVGFETurbulenceElement.h', u'Source/WebCore/svg/SVGFilterElement.h', u'Source/WebCore/svg/SVGFontElement.h', u'Source/WebCore/svg/SVGFontFaceElement.h', u'Source/WebCore/svg/SVGFontFaceFormatElement.h', u'Source/WebCore/svg/SVGFontFaceNameElement.h', u'Source/WebCore/svg/SVGFontFaceSrcElement.h', u'Source/WebCore/svg/SVGFontFaceUriElement.h', u'Source/WebCore/svg/SVGForeignObjectElement.h', u'Source/WebCore/svg/SVGGElement.h', u'Source/WebCore/svg/SVGGlyphElement.h', u'Source/WebCore/svg/SVGGlyphRefElement.h', u'Source/WebCore/svg/SVGHKernElement.h', u'Source/WebCore/svg/SVGImageElement.h', u'Source/WebCore/svg/SVGLineElement.h', u'Source/WebCore/svg/SVGLinearGradientElement.h', u'Source/WebCore/svg/SVGMPathElement.h', u'Source/WebCore/svg/SVGMarkerElement.h', u'Source/WebCore/svg/SVGMaskElement.h', u'Source/WebCore/svg/SVGMetadataElement.h', u'Source/WebCore/svg/SVGMissingGlyphElement.h', u'Source/WebCore/svg/SVGPathElement.h', u'Source/WebCore/svg/SVGPatternElement.h', u'Source/WebCore/svg/SVGPolygonElement.h', u'Source/WebCore/svg/SVGPolylineElement.h', u'Source/WebCore/svg/SVGRadialGradientElement.h', u'Source/WebCore/svg/SVGRectElement.h', u'Source/WebCore/svg/SVGSVGElement.h', u'Source/WebCore/svg/SVGScriptElement.h', u'Source/WebCore/svg/SVGSetElement.h', u'Source/WebCore/svg/SVGStopElement.h', u'Source/WebCore/svg/SVGStyleElement.h', u'Source/WebCore/svg/SVGStyledElement.h', u'Source/WebCore/svg/SVGSwitchElement.h', u'Source/WebCore/svg/SVGSymbolElement.h', u'Source/WebCore/svg/SVGTRefElement.h', u'Source/WebCore/svg/SVGTSpanElement.h', u'Source/WebCore/svg/SVGTextElement.h', u'Source/WebCore/svg/SVGTextPathElement.h', u'Source/WebCore/svg/SVGTitleElement.h', u'Source/WebCore/svg/SVGUseElement.h', u'Source/WebCore/svg/SVGVKernElement.h', u'Source/WebCore/svg/SVGViewElement.h']" exit_code: 1
Source/WebCore/svg/SVGStyleElement.h:32:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/svg/SVGMPathElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMPathElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGSymbolElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGSymbolElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGSymbolElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGSVGElement.h:46:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/svg/SVGCursorElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGCursorElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGCursorElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGEllipseElement.h:35:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/svg/SVGSwitchElement.h:34:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGSwitchElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGSwitchElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGViewElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGViewElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGViewElement.h:39:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGForeignObjectElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGForeignObjectElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGForeignObjectElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGPatternElement.h:44:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/svg/SVGCircleElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGCircleElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGCircleElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGGlyphRefElement.h:30:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGFEImageElement.h:39:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/svg/SVGScriptElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGScriptElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGScriptElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGTitleElement.h:31:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGLineElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGLineElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGLineElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGDescElement.h:31:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGFilterElement.h:40:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGFilterElement.h:41:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGFilterElement.h:42:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGFontElement.h:56:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGPathElement.h:59:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGPathElement.h:60:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGPathElement.h:61:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGTRefElement.h:33:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGImageElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGImageElement.h:39:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGImageElement.h:40:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGImageElement.h:41:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMarkerElement.h:99:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMarkerElement.h:100:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMarkerElement.h:101:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGTextElement.h:32:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGDefsElement.h:34:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGDefsElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGDefsElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGUseElement.h:41:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/svg/SVGRectElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGRectElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGRectElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGAltGlyphElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGClipPathElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGClipPathElement.h:39:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGClipPathElement.h:40:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGTextPathElement.h:101:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGGElement.h:34:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGGElement.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGGElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGAElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGAElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGAElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGAElement.h:39:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMaskElement.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMaskElement.h:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/svg/SVGMaskElement.h:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 72 in 184 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Andreas Kling 2013-05-12 08:12:20 PDT
Committed r149960: <http://trac.webkit.org/changeset/149960>