[git commit] *: add more beneficial NOINLINEs

Denys Vlasenko vda.linux at googlemail.com
Sun Oct 10 12:32:05 UTC 2021


commit: https://git.busybox.net/busybox/commit/?id=d3dbf4ac05e969b6648faea282df6dec7051e315
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
dec_main                                               -    1729   +1729  -41 bytes
fallbackQSort3                                         -     671    +671  -70 bytes
verify_sun                                             -     481    +481 -107 bytes
verify                                              1330     742    -588
fallbackSort                                        1469     728    -741
unpack_xz_stream                                    2306     536   -1770
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 0/3 up/down: 2881/-3099)       Total: -218 bytes

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 archival/libarchive/bz/blocksort.c       | 2 +-
 archival/libarchive/unxz/xz_dec_stream.c | 2 +-
 util-linux/fdisk_sun.c                   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/archival/libarchive/bz/blocksort.c b/archival/libarchive/bz/blocksort.c
index 062fd0f54..74f957544 100644
--- a/archival/libarchive/bz/blocksort.c
+++ b/archival/libarchive/bz/blocksort.c
@@ -107,7 +107,7 @@ void fallbackSimpleSort(uint32_t* fmap,
 #define FALLBACK_QSORT_SMALL_THRESH 10
 #define FALLBACK_QSORT_STACK_SIZE   100
 
-static
+static NOINLINE
 void fallbackQSort3(uint32_t* fmap,
 		uint32_t* eclass,
 		int32_t   loSt,
diff --git a/archival/libarchive/unxz/xz_dec_stream.c b/archival/libarchive/unxz/xz_dec_stream.c
index bf791055b..31158b4e8 100644
--- a/archival/libarchive/unxz/xz_dec_stream.c
+++ b/archival/libarchive/unxz/xz_dec_stream.c
@@ -545,7 +545,7 @@ static enum xz_ret XZ_FUNC dec_block_header(struct xz_dec *s)
 	return XZ_OK;
 }
 
-static enum xz_ret XZ_FUNC dec_main(struct xz_dec *s, struct xz_buf *b)
+static NOINLINE enum xz_ret XZ_FUNC dec_main(struct xz_dec *s, struct xz_buf *b)
 {
 	enum xz_ret ret;
 
diff --git a/util-linux/fdisk_sun.c b/util-linux/fdisk_sun.c
index 66e434833..5b7760e8c 100644
--- a/util-linux/fdisk_sun.c
+++ b/util-linux/fdisk_sun.c
@@ -403,7 +403,7 @@ verify_sun_cmp(int *a, int *b)
 	return -1;
 }
 
-static void
+static NOINLINE void
 verify_sun(void)
 {
 	unsigned starts[8], lens[8], start, stop;


More information about the busybox-cvs mailing list