Remove deflate_state parameter from update_hash functions.

This commit is contained in:
Nathan Moinvaziri 2024-01-27 15:50:54 -08:00 committed by Hans Kristian Rosbach
parent 7cca3e6fd7
commit a090529ece
8 changed files with 15 additions and 16 deletions

View File

@ -25,7 +25,7 @@ uint32_t crc32_acle(uint32_t crc, const uint8_t *buf, size_t len);
void insert_string_acle(deflate_state *const s, const uint32_t str, uint32_t count);
Pos quick_insert_string_acle(deflate_state *const s, const uint32_t str);
uint32_t update_hash_acle(deflate_state *const s, uint32_t h, uint32_t val);
uint32_t update_hash_acle(uint32_t h, uint32_t val);
#endif
#ifdef ARM_SIMD

View File

@ -29,7 +29,7 @@ void inflate_fast_ssse3(PREFIX3(stream) *strm, uint32_t start);
uint32_t adler32_fold_copy_sse42(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len);
void insert_string_sse42(deflate_state *const s, const uint32_t str, uint32_t count);
Pos quick_insert_string_sse42(deflate_state *const s, const uint32_t str);
uint32_t update_hash_sse42(deflate_state *const s, uint32_t h, uint32_t val);
uint32_t update_hash_sse42(uint32_t h, uint32_t val);
#endif
#ifdef X86_AVX2

View File

@ -120,7 +120,7 @@ static void lm_set_level (deflate_state *s, int level);
static void lm_init (deflate_state *s);
Z_INTERNAL unsigned read_buf (PREFIX3(stream) *strm, unsigned char *buf, unsigned size);
extern uint32_t update_hash_roll (deflate_state *const s, uint32_t h, uint32_t val);
extern uint32_t update_hash_roll (uint32_t h, uint32_t val);
extern void insert_string_roll (deflate_state *const s, uint32_t str, uint32_t count);
extern Pos quick_insert_string_roll(deflate_state *const s, uint32_t str);
@ -1236,7 +1236,7 @@ void Z_INTERNAL PREFIX(fill_window)(deflate_state *s) {
if (s->lookahead + s->insert >= STD_MIN_MATCH) {
unsigned int str = s->strstart - s->insert;
if (UNLIKELY(s->max_chain_length > 1024)) {
s->ins_h = s->update_hash(s, s->window[str], s->window[str+1]);
s->ins_h = s->update_hash(s->window[str], s->window[str+1]);
} else if (str >= 1) {
s->quick_insert_string(s, str + 2 - STD_MIN_MATCH);
}

View File

@ -113,7 +113,7 @@ typedef uint16_t Pos;
/* Type definitions for hash callbacks */
typedef struct internal_state deflate_state;
typedef uint32_t (* update_hash_cb) (deflate_state *const s, uint32_t h, uint32_t val);
typedef uint32_t (* update_hash_cb) (uint32_t h, uint32_t val);
typedef void (* insert_string_cb) (deflate_state *const s, uint32_t str, uint32_t count);
typedef Pos (* quick_insert_string_cb)(deflate_state *const s, uint32_t str);

View File

@ -352,9 +352,9 @@ static void slide_hash_stub(deflate_state* s) {
functable.slide_hash(s);
}
static uint32_t update_hash_stub(deflate_state* const s, uint32_t h, uint32_t val) {
static uint32_t update_hash_stub(uint32_t h, uint32_t val) {
init_functable();
return functable.update_hash(s, h, val);
return functable.update_hash(h, val);
}
/* functable init */

View File

@ -27,7 +27,7 @@ struct functable_s {
uint32_t (* longest_match_slow) (deflate_state *const s, Pos cur_match);
Pos (* quick_insert_string)(deflate_state *const s, uint32_t str);
void (* slide_hash) (deflate_state *s);
uint32_t (* update_hash) (deflate_state *const s, uint32_t h, uint32_t val);
uint32_t (* update_hash) (uint32_t h, uint32_t val);
};
Z_INTERNAL extern struct functable_s functable;

View File

@ -47,8 +47,7 @@
* input characters, so that a running hash key can be computed from the
* previous key instead of complete recalculation each time.
*/
Z_INTERNAL uint32_t UPDATE_HASH(deflate_state *const s, uint32_t h, uint32_t val) {
(void)s;
Z_INTERNAL uint32_t UPDATE_HASH(uint32_t h, uint32_t val) {
HASH_CALC(s, h, val);
return h & HASH_CALC_MASK;
}

View File

@ -102,11 +102,11 @@ Z_INTERNAL uint32_t LONGEST_MATCH(deflate_state *const s, Pos cur_match) {
* to cur_match). We cannot use s->prev[strstart+1,...] immediately, because
* these strings are not yet inserted into the hash table.
*/
hash = s->update_hash(s, 0, scan[1]);
hash = s->update_hash(s, hash, scan[2]);
hash = s->update_hash(0, scan[1]);
hash = s->update_hash(hash, scan[2]);
for (i = 3; i <= best_len; i++) {
hash = s->update_hash(s, hash, scan[i]);
hash = s->update_hash(hash, scan[i]);
/* If we're starting with best_len >= 3, we can use offset search. */
pos = s->head[hash];
@ -236,9 +236,9 @@ Z_INTERNAL uint32_t LONGEST_MATCH(deflate_state *const s, Pos cur_match) {
*/
scan_endstr = scan + len - (STD_MIN_MATCH+1);
hash = s->update_hash(s, 0, scan_endstr[0]);
hash = s->update_hash(s, hash, scan_endstr[1]);
hash = s->update_hash(s, hash, scan_endstr[2]);
hash = s->update_hash(0, scan_endstr[0]);
hash = s->update_hash(hash, scan_endstr[1]);
hash = s->update_hash(hash, scan_endstr[2]);
pos = s->head[hash];
if (pos < cur_match) {