gzip: reduce global data footprint, part 3
This commit is contained in:
parent
da799e8227
commit
07766bb0e7
@ -355,8 +355,8 @@ struct global1 {
|
||||
uint32_t crc; /* shift register contents */
|
||||
};
|
||||
|
||||
extern struct global1 *global_ptr;
|
||||
#define G1 (*(global_ptr - 1))
|
||||
extern struct global1 *ptr_to_globals;
|
||||
#define G1 (*(ptr_to_globals - 1))
|
||||
|
||||
|
||||
/* ===========================================================================
|
||||
@ -972,7 +972,7 @@ struct global2 {
|
||||
|
||||
};
|
||||
|
||||
#define G2ptr ((struct global2*)(global_ptr))
|
||||
#define G2ptr ((struct global2*)(ptr_to_globals))
|
||||
#define G2 (*G2ptr)
|
||||
|
||||
|
||||
@ -2131,8 +2131,8 @@ int gzip_main(int argc, char **argv)
|
||||
}
|
||||
#endif
|
||||
|
||||
global_ptr = xzalloc(sizeof(struct global1) + sizeof(struct global2));
|
||||
global_ptr++;
|
||||
ptr_to_globals = xzalloc(sizeof(struct global1) + sizeof(struct global2));
|
||||
ptr_to_globals++;
|
||||
G2.l_desc.dyn_tree = G2.dyn_ltree;
|
||||
G2.l_desc.static_tree = G2.static_ltree;
|
||||
G2.l_desc.extra_bits = extra_lbits;
|
||||
|
@ -455,6 +455,8 @@ static int huft_build(unsigned *b, const unsigned n,
|
||||
* bl, bd: number of bits decoded by tl[] and td[]
|
||||
*/
|
||||
/* called once from inflate_block */
|
||||
|
||||
/* map formerly local static variables to globals */
|
||||
#define ml inflate_codes_ml
|
||||
#define md inflate_codes_md
|
||||
#define bb inflate_codes_bb
|
||||
|
@ -56,4 +56,4 @@ WTMP_FILE;
|
||||
|
||||
char bb_common_bufsiz1[BUFSIZ+1];
|
||||
|
||||
void *global_ptr;
|
||||
void *ptr_to_globals;
|
||||
|
Loading…
Reference in New Issue
Block a user