[webkit-changes] [WebKit/WebKit] 0481f3: Stop atomizing all-whitespace strings when parsing...
Chris Dumez
noreply at github.com
Wed Feb 8 14:46:27 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0481f360769fc8d580a499ba543b661ac884e79a
https://github.com/WebKit/WebKit/commit/0481f360769fc8d580a499ba543b661ac884e79a
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-02-08 (Wed, 08 Feb 2023)
Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/html/parser/HTMLConstructionSite.cpp
M Source/WebCore/html/parser/HTMLConstructionSite.h
M Source/WebCore/html/parser/HTMLTreeBuilder.cpp
M Source/WebCore/html/parser/HTMLTreeBuilder.h
Log Message:
-----------
Stop atomizing all-whitespace strings when parsing HTML
https://bugs.webkit.org/show_bug.cgi?id=251924
Reviewed by Ryosuke Niwa.
Stop atomizing all-whitespace strings when parsing HTML. This is very CPU
intensive on Speedometer despite our optimizations.
Not atomizing those whitespace strings simplifies our code quite a bit and
is a confirmed 0.85% progression on Speedometer. It also shows as neutral on
both Membuster and PLUM.
Blink already made this change in:
https://chromium-review.googlesource.com/c/chromium/src/+/4128925
* Source/WebCore/dom/Document.cpp:
* Source/WebCore/dom/Document.h:
(WebCore::Document::whitespaceCache): Deleted.
* Source/WebCore/html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::WhitespaceCache::codeForString): Deleted.
(WebCore::WhitespaceCache::lookup): Deleted.
* Source/WebCore/html/parser/HTMLConstructionSite.h:
(WebCore::WhitespaceCache::WhitespaceCache): Deleted.
* Source/WebCore/html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
(WebCore::HTMLTreeBuilder::defaultForInTableText):
Canonical link: https://commits.webkit.org/260039@main
More information about the webkit-changes
mailing list