[webkit-changes] [WebKit/WebKit] f7b965: [MotionMark] De-virtualize some `CanvasRenderingCo...

Tim Nguyen noreply at github.com
Tue Oct 15 14:31:07 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f7b96500104a93774bc5fd08848886fc2d64626d
      https://github.com/WebKit/WebKit/commit/f7b96500104a93774bc5fd08848886fc2d64626d
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M Source/WebCore/html/canvas/CanvasRenderingContext.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext.h
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h
    M Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h
    M Source/WebCore/html/canvas/PaintRenderingContext2D.cpp
    M Source/WebCore/html/canvas/PaintRenderingContext2D.h
    M Source/WebCore/html/canvas/PlaceholderRenderingContext.h

  Log Message:
  -----------
  [MotionMark] De-virtualize some `CanvasRenderingContext` methods
https://bugs.webkit.org/show_bug.cgi?id=281462
rdar://137913852

Reviewed by Simon Fraser.

De-virtualize these methods which show up a non-trivial amount in the traces:
- CanvasRenderingContext::delegatesDisplay()
- CanvasRenderingContext2DBase::effectiveDrawingContext()
- CanvasRenderingContext2DBase::drawingContext()

This offers a ~2% improvement on the Canvas Lines test suite.

* Source/WebCore/html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::delegatesDisplay const):
* Source/WebCore/html/canvas/CanvasRenderingContext.h:
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawingContext const):
(WebCore::CanvasRenderingContext2DBase::effectiveDrawingContext const):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:
* Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h:
* Source/WebCore/html/canvas/PaintRenderingContext2D.cpp:
(WebCore::PaintRenderingContext2D::ensureDrawingContext const):
(WebCore::PaintRenderingContext2D::drawingContext const): Deleted.
* Source/WebCore/html/canvas/PaintRenderingContext2D.h:
* Source/WebCore/html/canvas/PlaceholderRenderingContext.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list