lib/lz4: make arrays static const, reduces object code size
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) Link: http://lkml.kernel.org/r/20170921221939.20820-1-colin.king@canonical.com Signed-off-by: Colin Ian King <colin.king@canonical.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Sven Schmidt <4sschmid@informatik.uni-hamburg.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
50097f7493
Коммит
8cb5d74828
|
@ -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)));
|
||||
|
|
Загрузка…
Ссылка в новой задаче