diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2021-08-29 15:32:42 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2021-08-29 15:32:42 +0200 |
commit | 6d3da732a5d07b4c2f05f4f96df57b7618d0448f (patch) | |
tree | 538c3f564a719a39de4301235457f47137658674 /archival/libarchive/bz/bzlib.c | |
parent | 49a2e484b5bd3f6343e55bfed823d3ca6bd5d45a (diff) | |
download | busybox-w32-6d3da732a5d07b4c2f05f4f96df57b7618d0448f.tar.gz busybox-w32-6d3da732a5d07b4c2f05f4f96df57b7618d0448f.tar.bz2 busybox-w32-6d3da732a5d07b4c2f05f4f96df57b7618d0448f.zip |
bzip: make ftab[] and crc32table[] member arrays of EState, do not allocate
function old new delta
mainSort 941 986 +45
fallbackSort 1471 1469 -2
add_pair_to_block 194 188 -6
compressStream 543 515 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 45/-36) Total: 9 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival/libarchive/bz/bzlib.c')
-rw-r--r-- | archival/libarchive/bz/bzlib.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/archival/libarchive/bz/bzlib.c b/archival/libarchive/bz/bzlib.c index 9af2f026d..ef19ae165 100644 --- a/archival/libarchive/bz/bzlib.c +++ b/archival/libarchive/bz/bzlib.c | |||
@@ -99,9 +99,8 @@ void BZ2_bzCompressInit(bz_stream *strm, int blockSize100k) | |||
99 | s->ptr = (uint32_t*)s->arr1; | 99 | s->ptr = (uint32_t*)s->arr1; |
100 | s->arr2 = xmalloc((n + BZ_N_OVERSHOOT) * sizeof(uint32_t)); | 100 | s->arr2 = xmalloc((n + BZ_N_OVERSHOOT) * sizeof(uint32_t)); |
101 | s->block = (uint8_t*)s->arr2; | 101 | s->block = (uint8_t*)s->arr2; |
102 | s->ftab = xmalloc(65537 * sizeof(uint32_t)); | ||
103 | 102 | ||
104 | s->crc32table = crc32_filltable(NULL, 1); | 103 | crc32_filltable(s->crc32table, 1); |
105 | 104 | ||
106 | s->state = BZ_S_INPUT; | 105 | s->state = BZ_S_INPUT; |
107 | s->mode = BZ_M_RUNNING; | 106 | s->mode = BZ_M_RUNNING; |
@@ -369,8 +368,8 @@ void BZ2_bzCompressEnd(bz_stream *strm) | |||
369 | s = strm->state; | 368 | s = strm->state; |
370 | free(s->arr1); | 369 | free(s->arr1); |
371 | free(s->arr2); | 370 | free(s->arr2); |
372 | free(s->ftab); | 371 | //free(s->ftab); // made it array member of s |
373 | free(s->crc32table); | 372 | //free(s->crc32table); // ditto |
374 | free(s); | 373 | free(s); |
375 | } | 374 | } |
376 | 375 | ||