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

Issue 2643403003: Disable g++ inlining of eager-tracing mark() method. (Closed)

Created:
3 years, 11 months ago by sof
Modified:
3 years, 11 months ago
CC:
chromium-reviews, oilpan-reviews, Mads Ager (chromium), blink-reviews, kinuko+watch, kouhei+heap_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Disable g++ inlining of eager-tracing mark() method. Versions of g++ (with -Os) are over-eager about inlining the mark() method that's used for all non-mixin Oilpan objects, resulting in a code size increase that's unwanted (for Android official builds.) Other compilers and g++ (with -O2/-O3) are more discriminate about inlining the method, with no comparable code size increase delta. Tuning the compiler's optimization option set to avoid the problem hasn't proven successful, so bluntly address the problem by disabling inlining for the method. R=haraken BUG=681991 Review-Url: https://codereview.chromium.org/2643403003 Cr-Commit-Position: refs/heads/master@{#445288} Committed: https://chromium.googlesource.com/chromium/src/+/9fa52ef0da5a0a6e03a15c4c72d8021567070127

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -1 line) Patch
M third_party/WebKit/Source/platform/heap/TraceTraits.h View 2 chunks +17 lines, -1 line 0 comments Download

Messages

Total messages: 17 (9 generated)
sof
please take a look. I observe a 360k reduction in size for libcontent_shell_content_view.so with this ...
3 years, 11 months ago (2017-01-21 08:48:14 UTC) #4
haraken
LGTM. Just to confirm: Is this a specific problem in g++ builds (i.e., not a ...
3 years, 11 months ago (2017-01-21 13:15:36 UTC) #7
sof
On 2017/01/21 13:15:36, haraken wrote: > LGTM. > > Just to confirm: Is this a ...
3 years, 11 months ago (2017-01-21 13:40:28 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2643403003/1
3 years, 11 months ago (2017-01-21 14:18:40 UTC) #11
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://chromium.googlesource.com/chromium/src/+/9fa52ef0da5a0a6e03a15c4c72d8021567070127
3 years, 11 months ago (2017-01-21 14:27:18 UTC) #14
sof
On 2017/01/21 08:48:14, sof wrote: > please take a look. > > I observe a ...
3 years, 11 months ago (2017-01-23 13:24:17 UTC) #15
agrieve
On 2017/01/23 13:24:17, sof wrote: > On 2017/01/21 08:48:14, sof wrote: > > please take ...
3 years, 11 months ago (2017-01-23 16:00:32 UTC) #16
sof
3 years, 11 months ago (2017-01-23 16:14:40 UTC) #17
Message was sent while issue was closed.
On 2017/01/23 16:00:32, agrieve wrote:
> On 2017/01/23 13:24:17, sof wrote:
> > On 2017/01/21 08:48:14, sof wrote:
> > > please take a look.
> > > 
> > > I observe a 360k reduction in size for libcontent_shell_content_view.so
with
> > > this change for a target_os=android official build.
> > 
> > Re: 360k, this was with dcheck_always_on=true.
> 
> The bots report 140kb saved by this:
>
https://chromeperf.appspot.com/report?sid=cfc29eed1238fd38fb5e6cf83bdba6c619b...
> 
> Could be the difference is from dcheck_always_on. Still, great work!

Thanks, I suspect it is - there's a pair of DCHECK()s in that method, which were
inlined also. That "g++ -Os" still wanted to inline, is even more unusual.

Powered by Google App Engine
This is Rietveld 408576698