[git commit master] deinline two big functions

Denys Vlasenko vda.linux at googlemail.com
Tue Jun 1 21:16:46 UTC 2010


commit: http://git.busybox.net/busybox/commit/?id=b9542cb2cee6d3b5984a7c82d7aec4a4556d2fe1
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
xz_dec_lzma2_run                                       -    1483   +1483
decode_one_format                                      -     715    +715
decode_format_string                                 840      98    -742
unpack_xz_stream                                    4014    2377   -1637
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 2198/-2379)       Total: -181 bytes

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 archival/libunarchive/unxz/xz_dec_lzma2.c |    2 +-
 coreutils/od_bloaty.c                     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/archival/libunarchive/unxz/xz_dec_lzma2.c b/archival/libunarchive/unxz/xz_dec_lzma2.c
index c22dc5b..37de6fc 100644
--- a/archival/libunarchive/unxz/xz_dec_lzma2.c
+++ b/archival/libunarchive/unxz/xz_dec_lzma2.c
@@ -915,7 +915,7 @@ static bool XZ_FUNC lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
  * Take care of the LZMA2 control layer, and forward the job of actual LZMA
  * decoding or copying of uncompressed chunks to other functions.
  */
-XZ_EXTERN enum xz_ret XZ_FUNC xz_dec_lzma2_run(
+XZ_EXTERN NOINLINE enum xz_ret XZ_FUNC xz_dec_lzma2_run(
 		struct xz_dec_lzma2 *s, struct xz_buf *b)
 {
 	uint32_t tmp;
diff --git a/coreutils/od_bloaty.c b/coreutils/od_bloaty.c
index 6a532fa..6aba0f6 100644
--- a/coreutils/od_bloaty.c
+++ b/coreutils/od_bloaty.c
@@ -521,7 +521,7 @@ check_and_close(void)
    S_ORIG is solely for reporting errors.  It should be the full format
    string argument. */
 
-static const char *
+static NOINLINE const char *
 decode_one_format(const char *s_orig, const char *s, struct tspec *tspec)
 {
 	enum size_spec size_spec;
-- 
1.6.3.3



More information about the busybox-cvs mailing list