De-inline a few functions which are large
commite064bd60df7e9ff611334e5e639bab18a084fac2
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 31 Aug 2009 01:54:10 +0000 (31 03:54 +0200)
committerSergei Trofimovich <slyfox@inbox.ru>
Mon, 31 Aug 2009 04:12:59 +0000 (31 07:12 +0300)
tree665d516d9902bc5e10a7248b650ab3131e053a62
parentd534fdfa58244b930fe979b164120847edc9db5d
De-inline a few functions which are large

...or not-so-large but nevertheless
contain more than one function call,
or contain loops, or contain if's and at least one
function call, or contain largish objects on stack.

In my experience, in those cases the code size
growth is big enough to not inline stuff.

I guess some of the really big functions
are defined inline because they have, or had in the past,
just one callsite.

But for a few years gcc already does it automatically,
no need to do it by hand and risk code size explosion
when later during code evolution another callsite
is created. This optimization by hand is simply
no longer needed.

Anyway, here is the code size difference:

   text    data     bss     dec     hex filename
 572337   17944  177820  768101   bb865 mc.t5/.obj/src/mc
 567697   17944  177820  763461   ba645 mc.t6/.obj/src/mc

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
14 files changed:
edit/bookmark.c
edit/edit.c
edit/syntax.c
src/achown.c
src/chown.c
src/dialog.c
src/find.c
src/hotlist.c
src/menu.c
src/screen.c
src/tree.c
src/tty/key.c
src/viewer/datasource.c
vfs/vfs.c