New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 645364 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Dec 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

0.3%-0.5% regression in sizes at 417248:417248

Project Member Reported by briander...@chromium.org, Sep 9 2016

Issue description

See the link to graphs below.
 
Cc: kerz@chromium.org
Owner: tzik@chromium.org
tzik: The only CL in the range is this one:

Add Callback::IsCancelled

Callback::IsCancelled() checks if the Callback is cancelled by WeakPtr
invalidation.

Review-Url: https://codereview.chromium.org/2289703002


Is this expected and necessary? It looks like a 600kb regression. Also cc-ing kerz for release implications.

Comment 3 by tzik@chromium.org, Oct 10 2016

https://crrev.com/1fdcca3da07639548c7f37fab1c9d6c93541e4a9 (r418502) is a follow up CL to reduce the binary size growth by IsCancelled. That CL reduces the size of GoogleChromeFramework by 378kB.
Also, https://codereview.chromium.org/2399053004/ should reduce the size by ~70kB.

The 600kB growth is much larger than the growth of other platforms. Since the CL expects ICF (identical code folding) works on newly added functions, it didn't probably work with the mac linker.

Comment 4 by tzik@chromium.org, Oct 11 2016

Confirmed that the mac linker doesn't do ICF.

I don't have good idea to reduce the size more without major surgery, however the CL doesn't gain the binary size on other platforms than Mac, and another performance improvement depends on that.
Can we mark this as WontFix as an unavoidable size growth?
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/004d27129e4f66004775759736d9ab5152a3ecbf

commit 004d27129e4f66004775759736d9ab5152a3ecbf
Author: tzik <tzik@chromium.org>
Date: Fri Oct 14 10:28:55 2016

Move GetProgramCounter in FROM_HERE to a common function

tracked_objects::GetProgramCounter() is called for each FROM_HERE macro,
and each of the function call costs 8 bytes.
This CL adds a static constructor, Location::CreateForCurrentProgramCounter,
that calculates the program counter by itself for smaller number of GPC
call.

This reduces the stripped binary size of chrome on Linux by 56kB.

BUG= 645364 

Review-Url: https://codereview.chromium.org/2399053004
Cr-Commit-Position: refs/heads/master@{#425289}

[modify] https://crrev.com/004d27129e4f66004775759736d9ab5152a3ecbf/base/BUILD.gn
[modify] https://crrev.com/004d27129e4f66004775759736d9ab5152a3ecbf/base/location.cc
[modify] https://crrev.com/004d27129e4f66004775759736d9ab5152a3ecbf/base/location.h
[add] https://crrev.com/004d27129e4f66004775759736d9ab5152a3ecbf/base/location_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/454c124bcbcfdf9fd556639c80e7a11dc19e04ec

commit 454c124bcbcfdf9fd556639c80e7a11dc19e04ec
Author: henrika <henrika@chromium.org>
Date: Fri Oct 14 12:10:44 2016

Revert of Move GetProgramCounter in FROM_HERE to a common function (patchset #6 id:100001 of https://codereview.chromium.org/2399053004/ )

Reason for revert:
Breaks LocationTest.TestProgramCounter on Windows.

https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/53641/steps/base_unittests%20on%20Windows-7-SP1/logs/LocationTest.TestProgramCounter

Original issue's description:
> Move GetProgramCounter in FROM_HERE to a common function
>
> tracked_objects::GetProgramCounter() is called for each FROM_HERE macro,
> and each of the function call costs 8 bytes.
> This CL adds a static constructor, Location::CreateForCurrentProgramCounter,
> that calculates the program counter by itself for smaller number of GPC
> call.
>
> This reduces the stripped binary size of chrome on Linux by 56kB.
>
> BUG= 645364 
>
> Committed: https://crrev.com/004d27129e4f66004775759736d9ab5152a3ecbf
> Cr-Commit-Position: refs/heads/master@{#425289}

TBR=dcheng@chromium.org,tzik@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 645364 

Review-Url: https://codereview.chromium.org/2415673005
Cr-Commit-Position: refs/heads/master@{#425298}

[modify] https://crrev.com/454c124bcbcfdf9fd556639c80e7a11dc19e04ec/base/BUILD.gn
[modify] https://crrev.com/454c124bcbcfdf9fd556639c80e7a11dc19e04ec/base/location.cc
[modify] https://crrev.com/454c124bcbcfdf9fd556639c80e7a11dc19e04ec/base/location.h
[delete] https://crrev.com/0528cf1b9577cc2c052b2d17a1160b3b90ef88f3/base/location_unittest.cc

Status: WontFix (was: Assigned)
I'm not able to see this in the graphs linked, but there was a progression about a month later. Closing this as wontfix.

Sign in to add a comment