Bug 155106 - Make RenderStyle copy-on-write a bit less.
Summary: Make RenderStyle copy-on-write a bit less.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
URL:
Keywords: Performance
Depends on:
Blocks:
 
Reported: 2016-03-07 02:08 PST by Andreas Kling
Modified: 2016-03-07 07:22 PST (History)
6 users (show)

See Also:


Attachments
Patch (20.51 KB, patch)
2016-03-07 02:09 PST, 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 2016-03-07 02:08:05 PST
The SET_VAR macro doesn't handle nested substructures well, and there are a bunch of call sites that call DataRef::access() on a container substructure, possibly causing it to detach even though the leaf value is not actually changing.
Comment 1 Andreas Kling 2016-03-07 02:09:46 PST
Created attachment 273167 [details]
Patch
Comment 2 WebKit Commit Bot 2016-03-07 02:11:21 PST
Attachment 273167 [details] did not pass style-queue:


ERROR: Source/WebCore/rendering/style/RenderStyle.h:1503:  Omit int when using unsigned  [runtime/unsigned] [1]
ERROR: Source/WebCore/rendering/style/RenderStyle.h:1504:  l is incorrectly named. Don't use the single letter 'l' as an identifier name.  [readability/naming] [4]
ERROR: Source/WebCore/rendering/style/RenderStyle.h:1505:  Omit int when using unsigned  [runtime/unsigned] [1]
Total errors found: 3 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Antti Koivisto 2016-03-07 06:28:24 PST
Comment on attachment 273167 [details]
Patch

nice, r=me
Comment 4 WebKit Commit Bot 2016-03-07 07:22:17 PST
Comment on attachment 273167 [details]
Patch

Clearing flags on attachment: 273167

Committed r197680: <http://trac.webkit.org/changeset/197680>
Comment 5 WebKit Commit Bot 2016-03-07 07:22:22 PST
All reviewed patches have been landed.  Closing bug.