[webkit-changes] [WebKit/WebKit] 27999f: Devirtualize even more type checks for RenderObject
Ryosuke Niwa
noreply at github.com
Tue Dec 19 08:18:32 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 27999fcc9508fc5c531bccb64e3c147a5ea94cb0
https://github.com/WebKit/WebKit/commit/27999fcc9508fc5c531bccb64e3c147a5ea94cb0
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2023-12-19 (Tue, 19 Dec 2023)
Changed paths:
M Source/WebCore/rendering/RenderLineBreak.cpp
M Source/WebCore/rendering/RenderLineBreak.h
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.h
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGContainer.h
M Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.h
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGHiddenContainer.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGHiddenContainer.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.h
Log Message:
-----------
Devirtualize even more type checks for RenderObject
https://bugs.webkit.org/show_bug.cgi?id=266615
Reviewed by Antti Koivisto.
Devirtualize the remaining type checks for SVG by introducing SVG specific flags
stored in the unused 8-bit space left after m_type. Utilize the same mechanism /
same bits to store wbr-ness of RenderLineBreak as well.
* Source/WebCore/rendering/RenderLineBreak.cpp:
(WebCore::m_cachedLineHeight):
(WebCore::m_isWBR): Deleted.
* Source/WebCore/rendering/RenderLineBreak.h:
* Source/WebCore/rendering/RenderObject.cpp:
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isLegacyRenderSVGModelObject const):
(WebCore::RenderObject::isRenderSVGModelObject const):
(WebCore::RenderObject::svgFlags const):
(WebCore::RenderObject::setSVGFlags):
(WebCore::RenderObject::isRenderSVGBlock const):
(WebCore::RenderObject::isRenderSVGContainer const):
(WebCore::RenderObject::isLegacyRenderSVGContainer const):
(WebCore::RenderObject::isLegacyRenderSVGHiddenContainer const):
(WebCore::RenderObject::isRenderSVGShape const):
(WebCore::RenderObject::isLegacyRenderSVGShape const):
(WebCore::RenderObject::isLegacyRenderSVGResourceContainer const):
(WebCore::RenderObject::isRenderSVGResourceContainer const):
(WebCore::RenderObject::isWBR const):
(WebCore::RenderObject::lineBreakFlags const):
(WebCore::RenderObject::setLineBreakFlags):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* Source/WebCore/rendering/svg/RenderSVGBlock.h:
* Source/WebCore/rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::RenderSVGContainer):
* Source/WebCore/rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::RenderSVGContainer):
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h:
(WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::RenderSVGModelObject):
* Source/WebCore/rendering/svg/RenderSVGModelObject.h:
(WebCore::RenderSVGModelObject::RenderSVGModelObject):
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
* Source/WebCore/rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::RenderSVGShape):
* Source/WebCore/rendering/svg/RenderSVGShape.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp:
(WebCore::LegacyRenderSVGContainer::LegacyRenderSVGContainer):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.h:
(WebCore::LegacyRenderSVGContainer::LegacyRenderSVGContainer):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGHiddenContainer.cpp:
(WebCore::LegacyRenderSVGHiddenContainer::LegacyRenderSVGHiddenContainer):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGHiddenContainer.h:
(WebCore::LegacyRenderSVGHiddenContainer::LegacyRenderSVGHiddenContainer):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp:
(WebCore::LegacyRenderSVGModelObject::LegacyRenderSVGModelObject):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.h:
(WebCore::LegacyRenderSVGModelObject::LegacyRenderSVGModelObject):
(): Deleted.
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp:
(WebCore::LegacyRenderSVGResourceContainer::LegacyRenderSVGResourceContainer):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp:
(WebCore::LegacyRenderSVGShape::LegacyRenderSVGShape):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.h:
Canonical link: https://commits.webkit.org/272270@main
More information about the webkit-changes
mailing list