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
4 files changed
tree: 24752a66a1915bdb543fa42350ffa39b454c16a2
  1. third_party/