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

Issue 251163002: Deinline PartitionAlloc from DefaultAllocator to reduce code size (Closed)

Created:
6 years, 7 months ago by kbalazs
Modified:
6 years, 7 months ago
Reviewers:
cevans, eseidel
CC:
blink-reviews, ojan, Mikhail, adamk+blink_chromium.org, Inactive, abarth-chromium, Erik Corry, Andrew Hayden (chromium.org)
Base URL:
https://chromium.googlesource.com/chromium/blink.git@dummy
Visibility:
Public.

Description

Deinline PartitionAlloc from DefaultAllocator to reduce code size DefaultAllocator calls PartitionAlloc functions from inline methods. PartitionAlloc consist of always inline functions. This result in a huge code bloat as DefaultAllocator is used as template argument in wtf templatized containers. We only need to do the allocation via PartitionAlloc directly when the container's buffer is created or resized so it doesn't seem to worth the cost in code size to inline them. This patch reduced the size of content_shell in my static release build with ~0.5 megabyte. Reference size: 84514K, 61492K after stripping. Patched: 84083K and 61052K. This is neutral on Android where -Os already does a good job and deny to inline. I think we can rely on the performance bots to make sure that this doesn't result in performance regression. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=173243

Patch Set 1 #

Patch Set 2 : typo fix #

Patch Set 3 : fix linking by properly exporting symbols #

Unified diffs Side-by-side diffs Delta from patch set Stats (+16 lines, -14 lines) Patch
M Source/wtf/DefaultAllocator.h View 1 2 3 chunks +6 lines, -6 lines 0 comments Download
A + Source/wtf/DefaultAllocator.cpp View 1 chunk +9 lines, -8 lines 0 comments Download
M Source/wtf/wtf.gypi View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
kbalazs
6 years, 7 months ago (2014-04-28 18:05:53 UTC) #1
eseidel
6 years, 7 months ago (2014-04-28 18:11:54 UTC) #2
eseidel
lgtm
6 years, 7 months ago (2014-04-28 18:12:42 UTC) #3
kbalazs
The CQ bit was checked by b.kelemen@samsung.com
6 years, 7 months ago (2014-04-29 16:03:55 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/b.kelemen@samsung.com/251163002/20001
6 years, 7 months ago (2014-04-29 16:04:25 UTC) #5
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-04-29 16:31:13 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_compile_dbg on tryserver.blink
6 years, 7 months ago (2014-04-29 16:31:13 UTC) #7
kbalazs
On 2014/04/29 16:31:13, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years, 7 months ago (2014-04-29 22:08:14 UTC) #8
kbalazs
The CQ bit was checked by b.kelemen@samsung.com
6 years, 7 months ago (2014-05-02 21:09:54 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/b.kelemen@samsung.com/251163002/40001
6 years, 7 months ago (2014-05-02 21:10:10 UTC) #10
commit-bot: I haz the power
6 years, 7 months ago (2014-05-02 22:43:32 UTC) #11
Message was sent while issue was closed.
Change committed as 173243

Powered by Google App Engine
This is Rietveld 408576698