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 */
|
uint32_t crc; /* shift register contents */
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct global1 *global_ptr;
|
extern struct global1 *ptr_to_globals;
|
||||||
#define G1 (*(global_ptr - 1))
|
#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)
|
#define G2 (*G2ptr)
|
||||||
|
|
||||||
|
|
||||||
@ -2131,8 +2131,8 @@ int gzip_main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
global_ptr = xzalloc(sizeof(struct global1) + sizeof(struct global2));
|
ptr_to_globals = xzalloc(sizeof(struct global1) + sizeof(struct global2));
|
||||||
global_ptr++;
|
ptr_to_globals++;
|
||||||
G2.l_desc.dyn_tree = G2.dyn_ltree;
|
G2.l_desc.dyn_tree = G2.dyn_ltree;
|
||||||
G2.l_desc.static_tree = G2.static_ltree;
|
G2.l_desc.static_tree = G2.static_ltree;
|
||||||
G2.l_desc.extra_bits = extra_lbits;
|
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[]
|
* bl, bd: number of bits decoded by tl[] and td[]
|
||||||
*/
|
*/
|
||||||
/* called once from inflate_block */
|
/* called once from inflate_block */
|
||||||
|
|
||||||
|
/* map formerly local static variables to globals */
|
||||||
#define ml inflate_codes_ml
|
#define ml inflate_codes_ml
|
||||||
#define md inflate_codes_md
|
#define md inflate_codes_md
|
||||||
#define bb inflate_codes_bb
|
#define bb inflate_codes_bb
|
||||||
|
@ -56,4 +56,4 @@ WTMP_FILE;
|
|||||||
|
|
||||||
char bb_common_bufsiz1[BUFSIZ+1];
|
char bb_common_bufsiz1[BUFSIZ+1];
|
||||||
|
|
||||||
void *global_ptr;
|
void *ptr_to_globals;
|
||||||
|
Loading…
Reference in New Issue
Block a user