Mercurial > hg > xemacs-beta
comparison src/mc-alloc.c @ 4125:93bd75c45dca
[xemacs-hg @ 2007-08-17 10:16:46 by crestani]
2007-08-17 Marcus Crestani <crestani@xemacs.org>
* mc-alloc.c (L1_INDEX):
* mc-alloc.c (PAGE_SIZE_ALIGNMENT):
* mc-alloc.c (set_bit):
* mc-alloc.c (init_mc_allocator): Use EMACS_UINT with bit
shifting.
author | crestani |
---|---|
date | Fri, 17 Aug 2007 10:16:48 +0000 |
parents | 229bd619740a |
children | f395ee7ad844 6f2158fa75ed |
comparison
equal
deleted
inserted
replaced
4124:9a633a00c3f2 | 4125:93bd75c45dca |
---|---|
177 #endif | 177 #endif |
178 #define LEVEL1_SIZE (1 << LOG_LEVEL1_SIZE) | 178 #define LEVEL1_SIZE (1 << LOG_LEVEL1_SIZE) |
179 | 179 |
180 #ifdef USE_HASH_TABLE | 180 #ifdef USE_HASH_TABLE |
181 # define HASH(hi) ((hi) & (LEVEL1_SIZE - 1)) | 181 # define HASH(hi) ((hi) & (LEVEL1_SIZE - 1)) |
182 # define L1_INDEX(p) HASH ((EMACS_INT) p >> (LOG_LEVEL2_SIZE + LOG_PAGE_SIZE)) | 182 # define L1_INDEX(p) HASH ((EMACS_UINT) p >> (LOG_LEVEL2_SIZE + LOG_PAGE_SIZE)) |
183 #else | 183 #else |
184 # define L1_INDEX(p) ((EMACS_INT) p >> (LOG_LEVEL2_SIZE + LOG_PAGE_SIZE)) | 184 # define L1_INDEX(p) ((EMACS_UINT) p >> (LOG_LEVEL2_SIZE + LOG_PAGE_SIZE)) |
185 #endif | 185 #endif |
186 #define L2_INDEX(p) (((EMACS_INT) p >> LOG_PAGE_SIZE) & (LEVEL2_SIZE - 1)) | 186 #define L2_INDEX(p) (((EMACS_UINT) p >> LOG_PAGE_SIZE) & (LEVEL2_SIZE - 1)) |
187 | 187 |
188 | 188 |
189 | 189 |
190 | 190 |
191 /*--- structs and typedefs ---------------------------------------------*/ | 191 /*--- structs and typedefs ---------------------------------------------*/ |
391 #define mult_PAGE_SIZE(x) (x << LOG_PAGE_SIZE) | 391 #define mult_PAGE_SIZE(x) (x << LOG_PAGE_SIZE) |
392 | 392 |
393 #define BYTES_TO_PAGES(bytes) (div_PAGE_SIZE ((bytes + (PAGE_SIZE - 1)))) | 393 #define BYTES_TO_PAGES(bytes) (div_PAGE_SIZE ((bytes + (PAGE_SIZE - 1)))) |
394 | 394 |
395 #define PAGE_SIZE_ALIGNMENT(address) \ | 395 #define PAGE_SIZE_ALIGNMENT(address) \ |
396 (void *) ((((EMACS_INT) (address)) + PAGE_SIZE) & ~(PAGE_SIZE - 1)) | 396 (void *) ((((EMACS_UINT) (address)) + PAGE_SIZE) & ~(PAGE_SIZE - 1)) |
397 | 397 |
398 #define PH_ON_FREE_LIST_P(ph) \ | 398 #define PH_ON_FREE_LIST_P(ph) \ |
399 (ph && PH_PLH (ph) && (PLH_LIST_TYPE (PH_PLH (ph)) == FREE_LIST)) | 399 (ph && PH_PLH (ph) && (PLH_LIST_TYPE (PH_PLH (ph)) == FREE_LIST)) |
400 | 400 |
401 #define PH_ON_USED_LIST_P(ph) \ | 401 #define PH_ON_USED_LIST_P(ph) \ |
616 } | 616 } |
617 | 617 |
618 | 618 |
619 /* Bit_Arrays bit at pos to val. */ | 619 /* Bit_Arrays bit at pos to val. */ |
620 static void | 620 static void |
621 set_bit (Rawbyte *bit_array, EMACS_INT pos, EMACS_INT val) | 621 set_bit (Rawbyte *bit_array, EMACS_INT pos, EMACS_UINT val) |
622 { | 622 { |
623 #if N_MARK_BITS > 1 | 623 #if N_MARK_BITS > 1 |
624 EMACS_INT i; | 624 EMACS_INT i; |
625 #endif | 625 #endif |
626 bit_array += pos / CHAR_BIT; | 626 bit_array += pos / CHAR_BIT; |
1646 fprintf(stderr, "##### SYS_PAGE_SIZE=%d not supported #####\n", | 1646 fprintf(stderr, "##### SYS_PAGE_SIZE=%d not supported #####\n", |
1647 SYS_PAGE_SIZE); | 1647 SYS_PAGE_SIZE); |
1648 ABORT (); | 1648 ABORT (); |
1649 } | 1649 } |
1650 | 1650 |
1651 page_size_div_2 = (EMACS_INT) SYS_PAGE_SIZE >> 1; | 1651 page_size_div_2 = (EMACS_UINT) SYS_PAGE_SIZE >> 1; |
1652 | 1652 |
1653 mc_allocator_globals.used_heap_pages = | 1653 mc_allocator_globals.used_heap_pages = |
1654 (page_list_header *) xmalloc_and_zero ((N_USED_PAGE_LISTS + 1) | 1654 (page_list_header *) xmalloc_and_zero ((N_USED_PAGE_LISTS + 1) |
1655 * sizeof (page_list_header)); | 1655 * sizeof (page_list_header)); |
1656 #ifdef MEMORY_USAGE_STATS | 1656 #ifdef MEMORY_USAGE_STATS |