Shrink the binary by not super inlining all string concatenations.
String concatenation is used a lot to build error and exception messages and it was larger than intended because of over eager inlining. Outlining template code saves 90 KB with clang and 65 KB with gcc (lin64 content_shell). After this there is roughly 60 KB of concatenation code left (clang). clang: Total change: -91866 bytes ========================== 47 added, totalling +6264 bytes across 3 sources 38 removed, totalling -18354 bytes across 2 sources 79 grown, for a net change of +4604 bytes (98534 bytes before, 103138 bytes after) across 50 sources 405 shrunk, for a net change of -84380 bytes (370130 bytes before, 285750 bytes after) across 134 sources gcc: Total change: -66849 bytes ========================== 333 added, totalling +81561 bytes across 69 sources 203 removed, totalling -65785 bytes across 76 sources 211 grown, for a net change of +18666 bytes (228381 bytes before, 247047 bytes after) across 85 sources 406 shrunk, for a net change of -101291 bytes (568083 bytes before, 466792 bytes after) across 160 sources BUG= Review URL: https://codereview.chromium.org/559133002 git-svn-id: svn://svn.chromium.org/blink/trunk@181896 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Showing
Please register or sign in to comment