[webkit-changes] [WebKit/WebKit] 8ee5c1: Free up more bits in RenderObject by making use of...
Ryosuke Niwa
noreply at github.com
Wed Dec 20 11:52:24 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8ee5c1fb2dac1fb3ed84e391228ed45289b63bbd
https://github.com/WebKit/WebKit/commit/8ee5c1fb2dac1fb3ed84e391228ed45289b63bbd
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2023-12-20 (Wed, 20 Dec 2023)
Changed paths:
M Source/WebCore/rendering/RenderBlock.cpp
M Source/WebCore/rendering/RenderBlock.h
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderBlockFlow.h
M Source/WebCore/rendering/RenderFragmentContainer.cpp
M Source/WebCore/rendering/RenderFragmentedFlow.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/RenderReplaced.cpp
M Source/WebCore/rendering/RenderTextControl.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp
Log Message:
-----------
Free up more bits in RenderObject by making use of TypeSpecificFlags's kind
https://bugs.webkit.org/show_bug.cgi?id=266682
Reviewed by Antti Koivisto.
This PR replaces several values of TypeFlag with the corresponding TypeSpecificFlags::Kind
to free up more bits in RenderObject.
It also introduces BlockFlowFlag, which is a type specific flags for RenderBlockFlow. This
change required increasing the number of bits used to store Kind by one bit, shrinking
the number of bits available to actual type specific flags by one bit.
These two changes together free up 7 bits in TypeFlag so this PR also shrinks the width of
TypeFlag from uint16_t to uint8_t.
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
* Source/WebCore/rendering/RenderBlock.h:
(WebCore::RenderBlock::RenderBlock):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
* Source/WebCore/rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlow):
* Source/WebCore/rendering/RenderFragmentContainer.cpp:
(WebCore::RenderFragmentContainer::RenderFragmentContainer):
* Source/WebCore/rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::RenderFragmentedFlow):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::TypeSpecificFlags::TypeSpecificFlags):
(WebCore::RenderObject::TypeSpecificFlags::kind const):
(WebCore::RenderObject::TypeSpecificFlags::blockFlowFlags const):
(WebCore::RenderObject::TypeSpecificFlags::valueForKind const):
(WebCore::RenderObject::isRenderReplaced const):
(WebCore::RenderObject::isRenderBlockFlow const):
(WebCore::RenderObject::isRenderFragmentContainer const):
(WebCore::RenderObject::isRenderTextControl const):
(WebCore::RenderObject::isLegacyRenderSVGModelObject const):
(WebCore::RenderObject::isRenderSVGModelObject const):
(WebCore::RenderObject::isRenderSVGBlock const):
(WebCore::RenderObject::isRenderFragmentedFlow const):
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* Source/WebCore/rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::RenderSVGModelObject):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp:
(WebCore::LegacyRenderSVGModelObject::LegacyRenderSVGModelObject):
Canonical link: https://commits.webkit.org/272363@main
More information about the webkit-changes
mailing list