Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1737078

[PATCH] lib/lz4: make arrays static const, reduces object code size

From Colin King <colin.king@canonical.com>
Newsgroups linux.kernel
Subject [PATCH] lib/lz4: make arrays static const, reduces object code size
Date 2017-09-22 00:20 +0200
Message-ID <ushZ7-6CP-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


From: Colin Ian King <colin.king@canonical.com>

Don't populate the read-only arrays dec32table and dec64table on the
stack, instead make them both static const.  Makes the object code
smaller by over 10K bytes:

Before:
   text	   data	    bss	    dec	    hex	filename
  31500	      0	      0	  31500	   7b0c	lib/lz4/lz4_decompress.o

After:
   text	   data	    bss	    dec	    hex	filename
  20237	    176	      0	  20413	   4fbd	lib/lz4/lz4_decompress.o

(gcc version 7.2.0 x86_64)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 lib/lz4/lz4_decompress.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c
index bd3574312b82..141734d255e4 100644
--- a/lib/lz4/lz4_decompress.c
+++ b/lib/lz4/lz4_decompress.c
@@ -85,8 +85,8 @@ static FORCE_INLINE int LZ4_decompress_generic(
 	const BYTE * const lowLimit = lowPrefix - dictSize;
 
 	const BYTE * const dictEnd = (const BYTE *)dictStart + dictSize;
-	const unsigned int dec32table[] = { 0, 1, 2, 1, 4, 4, 4, 4 };
-	const int dec64table[] = { 0, 0, 0, -1, 0, 1, 2, 3 };
+	static const unsigned int dec32table[] = { 0, 1, 2, 1, 4, 4, 4, 4 };
+	static const int dec64table[] = { 0, 0, 0, -1, 0, 1, 2, 3 };
 
 	const int safeDecode = (endOnInput == endOnInputSize);
 	const int checkOffset = ((safeDecode) && (dictSize < (int)(64 * KB)));
-- 
2.14.1

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] lib/lz4: make arrays static const, reduces object code size Colin King <colin.king@canonical.com> - 2017-09-22 00:20 +0200
  Re: [PATCH] lib/lz4: make arrays static const, reduces object code  size Christophe JAILLET <christophe.jaillet@wanadoo.fr> - 2017-09-22 01:10 +0200
    Re: [PATCH] lib/lz4: make arrays static const, reduces object code  size Colin Ian King <colin.king@canonical.com> - 2017-09-22 01:20 +0200
      Re: [PATCH] lib/lz4: make arrays static const, reduces object code size Arnd Bergmann <arnd@arndb.de> - 2017-09-22 09:50 +0200
        Re: [PATCH] lib/lz4: make arrays static const, reduces object code  size Joe Perches <joe@perches.com> - 2017-09-22 19:30 +0200
          Re: [PATCH] lib/lz4: make arrays static const, reduces object code size Arnd Bergmann <arnd@arndb.de> - 2017-09-22 21:20 +0200
            Re: [PATCH] lib/lz4: make arrays static const, reduces object code size Arnd Bergmann <arnd@arndb.de> - 2017-09-22 21:40 +0200
            Re: [PATCH] lib/lz4: make arrays static const, reduces object code size Arnd Bergmann <arnd@arndb.de> - 2017-09-22 23:40 +0200
              Re: [PATCH] lib/lz4: make arrays static const, reduces object code  size Colin Ian King <colin.king@canonical.com> - 2017-09-22 23:50 +0200
              Re: [PATCH] lib/lz4: make arrays static const, reduces object code  size Joe Perches <joe@perches.com> - 2017-09-23 03:40 +0200
            Re: [PATCH] lib/lz4: make arrays static const, reduces object code  size Joe Perches <joe@perches.com> - 2017-09-23 03:40 +0200

csiph-web