[webkit-changes] [WebKit/WebKit] 9ad445: Stop using StringView::operator[] in hot code path...
Chris Dumez
noreply at github.com
Mon Oct 16 21:45:57 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9ad44599784a7ab2e46317f371e0c33b667906fe
https://github.com/WebKit/WebKit/commit/9ad44599784a7ab2e46317f371e0c33b667906fe
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-10-16 (Mon, 16 Oct 2023)
Changed paths:
M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp
M Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
Log Message:
-----------
Stop using StringView::operator[] in hot code paths in WebCore
https://bugs.webkit.org/show_bug.cgi?id=263216
Reviewed by Darin Adler.
Stop using StringView::operator[] in hot code paths in WebCore. StringView's
operator[] is not super efficient because it needs to check the is8Bit flag for
every character when iterating. I am also looking into adding a boundary check
in StringView::operator[], which would further increase branching.
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::moveToNextNonWhitespacePosition):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::canUseSimplifiedTextMeasuringForCharacters):
(WebCore::Layout::TextUtil::canUseSimplifiedTextMeasuring):
* Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::canUseSimplifiedTextMeasuringForCharacters):
(WebCore::Layout::canUseSimplifiedTextMeasuring):
Canonical link: https://commits.webkit.org/269396@main
More information about the webkit-changes
mailing list