Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(362)

Issue 1281493004: Make CSSAnimationUpdate stack-allocated (Closed)

Created:
5 years, 4 months ago by haraken
Modified:
5 years, 1 month ago
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-css, blink-reviews-style_chromium.org, dglazkov+blink, Eric Willigers, rjwright, rwlbuis, shans
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Make CSSAnimationUpdate stack-allocated This is a CL to fix (a part of) the regressions observed in tough_animation_cases benchmarks on oilpan builds. In short, this CL fixes the heavy allocation design of CSSAnimationUpdate. Currently, a lot of CSSAnimationUpdate objects are allocated on Oilpan's heap. This is problematic because the CSSAnimationUpdate objects hold HeapVectors and HeapHashMaps, which produce a lot of unnecessary garbage in Oilpan's heap. This CL makes CSSAnimationUpdate stack-allocated and explicitly clears the HeapVectors and HeapHashMaps when the CSSAnimationUpdate is destructed on stack. When we need to hold a pending CSSAnimationUpdate on CSSAnimation, it is held as a part of object of CSSAnimation. That way we can avoid allocating unecessary HeapVectors, HeapHashMaps etc every time a pending CSSAnimationUpdate is created. BUG=325467 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200885

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 6

Patch Set 4 : #

Patch Set 5 : #

Total comments: 6

Patch Set 6 : #

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+133 lines, -101 lines) Patch
M Source/core/animation/css/CSSAnimationUpdate.h View 1 2 3 4 5 6 7 4 chunks +57 lines, -6 lines 0 comments Download
M Source/core/animation/css/CSSAnimations.h View 1 2 3 4 5 6 7 3 chunks +19 lines, -10 lines 0 comments Download
M Source/core/animation/css/CSSAnimations.cpp View 1 2 3 4 5 19 chunks +47 lines, -63 lines 0 comments Download
M Source/core/css/resolver/StyleResolver.cpp View 1 2 3 6 7 2 chunks +6 lines, -6 lines 0 comments Download
M Source/core/css/resolver/StyleResolverState.h View 1 2 4 chunks +3 lines, -5 lines 0 comments Download
M Source/core/css/resolver/StyleResolverState.cpp View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M Source/core/dom/Element.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 21 (6 generated)
haraken
PTAL
5 years, 4 months ago (2015-08-11 11:48:49 UTC) #2
haraken
alan@: Would you mind taking a look at this when you have a cycle?
5 years, 4 months ago (2015-08-13 04:02:13 UTC) #3
haraken
timloh@: It seems Alan is not around. Would you mind taking a look at this?
5 years, 4 months ago (2015-08-13 12:35:54 UTC) #5
alancutter (OOO until 2018)
Sorry about the delay, the Sydney office was OOO last week. https://codereview.chromium.org/1281493004/diff/40001/Source/core/animation/css/CSSAnimationUpdate.h File Source/core/animation/css/CSSAnimationUpdate.h (right): ...
5 years, 4 months ago (2015-08-19 02:46:31 UTC) #6
haraken
Thanks for review! https://codereview.chromium.org/1281493004/diff/40001/Source/core/animation/css/CSSAnimationUpdate.h File Source/core/animation/css/CSSAnimationUpdate.h (right): https://codereview.chromium.org/1281493004/diff/40001/Source/core/animation/css/CSSAnimationUpdate.h#newcode272 Source/core/animation/css/CSSAnimationUpdate.h:272: DISALLOW_ALLOCATION(); On 2015/08/19 02:46:30, alancutter wrote: ...
5 years, 4 months ago (2015-08-19 05:46:08 UTC) #7
alancutter (OOO until 2018)
https://codereview.chromium.org/1281493004/diff/80001/Source/core/animation/css/CSSAnimationUpdate.h File Source/core/animation/css/CSSAnimationUpdate.h (right): https://codereview.chromium.org/1281493004/diff/80001/Source/core/animation/css/CSSAnimationUpdate.h#newcode148 Source/core/animation/css/CSSAnimationUpdate.h:148: void setPendingUpdate(const CSSAnimationUpdate& update) s/setPendingUpdate/copy/ ? https://codereview.chromium.org/1281493004/diff/80001/Source/core/animation/css/CSSAnimationUpdate.h#newcode179 Source/core/animation/css/CSSAnimationUpdate.h:179: bool ...
5 years, 4 months ago (2015-08-19 07:26:43 UTC) #8
haraken
https://codereview.chromium.org/1281493004/diff/80001/Source/core/animation/css/CSSAnimationUpdate.h File Source/core/animation/css/CSSAnimationUpdate.h (right): https://codereview.chromium.org/1281493004/diff/80001/Source/core/animation/css/CSSAnimationUpdate.h#newcode148 Source/core/animation/css/CSSAnimationUpdate.h:148: void setPendingUpdate(const CSSAnimationUpdate& update) On 2015/08/19 07:26:43, alancutter wrote: ...
5 years, 4 months ago (2015-08-19 12:08:11 UTC) #9
alancutter (OOO until 2018)
lgtm with nits. https://codereview.chromium.org/1281493004/diff/120001/Source/core/animation/css/CSSAnimationUpdate.h File Source/core/animation/css/CSSAnimationUpdate.h (right): https://codereview.chromium.org/1281493004/diff/120001/Source/core/animation/css/CSSAnimationUpdate.h#newcode157 Source/core/animation/css/CSSAnimationUpdate.h:157: #endif I'm not sure it's worthwhile ...
5 years, 4 months ago (2015-08-20 02:06:58 UTC) #10
haraken
Thanks for review! https://codereview.chromium.org/1281493004/diff/120001/Source/core/animation/css/CSSAnimationUpdate.h File Source/core/animation/css/CSSAnimationUpdate.h (right): https://codereview.chromium.org/1281493004/diff/120001/Source/core/animation/css/CSSAnimationUpdate.h#newcode157 Source/core/animation/css/CSSAnimationUpdate.h:157: #endif On 2015/08/20 02:06:58, alancutter wrote: ...
5 years, 4 months ago (2015-08-20 03:01:25 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281493004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281493004/140001
5 years, 4 months ago (2015-08-20 03:02:15 UTC) #14
alancutter (OOO until 2018)
Thanks for working on our animation performance! I'm curious if you have any perf numbers ...
5 years, 4 months ago (2015-08-20 03:05:50 UTC) #15
haraken
On 2015/08/20 03:05:50, alancutter wrote: > Thanks for working on our animation performance! I'm curious ...
5 years, 4 months ago (2015-08-20 03:17:02 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg_recipe on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_dbg_recipe/builds/110792)
5 years, 4 months ago (2015-08-20 03:33:07 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281493004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281493004/140001
5 years, 4 months ago (2015-08-20 08:01:51 UTC) #20
commit-bot: I haz the power
5 years, 4 months ago (2015-08-20 08:24:29 UTC) #21
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=200885

Powered by Google App Engine
This is Rietveld 408576698