Bug 133027 - REGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repaint timers.
Summary: REGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repain...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
URL:
Keywords: InRadar, Performance
Depends on:
Blocks:
 
Reported: 2014-05-17 01:08 PDT by Andreas Kling
Modified: 2014-05-17 03:09 PDT (History)
7 users (show)

See Also:


Attachments
Patch (8.91 KB, patch)
2014-05-17 01:19 PDT, Andreas Kling
koivisto: review-
Details | Formatted Diff | Diff
Patch (9.03 KB, patch)
2014-05-17 01:28 PDT, Andreas Kling
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2014-05-17 01:08:11 PDT
<rdar://problem/16867410>
Comment 1 Andreas Kling 2014-05-17 01:19:18 PDT
Created attachment 231624 [details]
Patch
Comment 2 Antti Koivisto 2014-05-17 01:25:27 PDT
Comment on attachment 231624 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231624&action=review

> Source/WebCore/rendering/RenderBox.cpp:131
>  RenderBox::~RenderBox()
>  {
> -    m_repaintTimer.stop();
> +    view().unscheduleLazyRepaint(*this);

Shouldn't it check the lazy repaint bit? Unscheduling does hash lookup and is expensive. Also we might want to not do this on full tree teardown.

> Source/WebCore/rendering/RenderView.cpp:142
> +void RenderView::scheduleLazyRepaint(RenderBox& renderer)
> +{
> +    renderer.setRenderBoxNeedsLazyRepaint(true);

This could bail out if the bit is already set.

> Source/WebCore/rendering/RenderView.cpp:150
> +void RenderView::unscheduleLazyRepaint(RenderBox& renderer)
> +{
> +    renderer.setRenderBoxNeedsLazyRepaint(false);

This could either assert or bail out if the bit is not set.
Comment 3 Andreas Kling 2014-05-17 01:28:18 PDT
Created attachment 231625 [details]
Patch

That went really well. Let's try again!
Comment 4 WebKit Commit Bot 2014-05-17 03:09:17 PDT
Comment on attachment 231625 [details]
Patch

Clearing flags on attachment: 231625

Committed r168993: <http://trac.webkit.org/changeset/168993>
Comment 5 WebKit Commit Bot 2014-05-17 03:09:21 PDT
All reviewed patches have been landed.  Closing bug.