[webkit-changes] [WebKit/WebKit] 5381f2: Devirtualize more RenderObject type checks

Chris Dumez noreply at github.com
Fri Sep 29 11:35:19 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5381f2a7b3c66abac6a3d4e5d8694902daf45998
      https://github.com/WebKit/WebKit/commit/5381f2a7b3c66abac6a3d4e5d8694902daf45998
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-09-29 (Fri, 29 Sep 2023)

  Changed paths:
    M Source/WebCore/editing/ReplaceSelectionCommand.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBlockFlow.h
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/RenderElement.h
    M Source/WebCore/rendering/RenderFlexibleBox.cpp
    M Source/WebCore/rendering/RenderFlexibleBox.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/RenderTable.h
    M Source/WebCore/rendering/RenderTextControl.cpp
    M Source/WebCore/rendering/RenderTextControl.h
    M Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp
    M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp

  Log Message:
  -----------
  Devirtualize more RenderObject type checks
https://bugs.webkit.org/show_bug.cgi?id=262372

Reviewed by Ryosuke Niwa.

Devirtualize more RenderObject type checks. I selected a few type
checks that showed in profiles.

* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFlexLayout):
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::paintObject):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
(WebCore::RenderBlockFlow::willCreateColumns const):
(WebCore::RenderBlockFlow::adjustForUnsplittableChild):
* Source/WebCore/rendering/RenderBlockFlow.h:
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::isStretchingColumnFlexItem const):
(WebCore::RenderBox::sizesLogicalWidthToFitContent const):
(WebCore::RenderBox::computeInlineDirectionMargins const):
(WebCore::RenderBox::cacheIntrinsicContentLogicalHeightForFlexItem const):
* Source/WebCore/rendering/RenderBox.h:
(WebCore::RenderBox::isFlexItem const):
* Source/WebCore/rendering/RenderElement.h:
(WebCore::RenderElement::isRenderFlexibleBox const):
(WebCore::RenderElement::isRenderTextControl const):
(WebCore::RenderObject::isRenderFlexibleBox const):
(WebCore::RenderObject::isRenderTextControl const):
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* Source/WebCore/rendering/RenderFlexibleBox.h:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::updateScrollbarsAfterLayout):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::objectIsRelayoutBoundary):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isFlexibleBoxIncludingDeprecated const):
(WebCore::RenderObject::isTable const):
(WebCore::RenderObject::isTextControl const): Deleted.
(WebCore::RenderObject::isFlexibleBox const): Deleted.
* Source/WebCore/rendering/RenderTable.h:
* Source/WebCore/rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* Source/WebCore/rendering/RenderTextControl.h:
* Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
* Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::textRendererIsNeeded):

Canonical link: https://commits.webkit.org/268662@main




More information about the webkit-changes mailing list