X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FCmm.h;h=52b5bec415e217a57652f8d0c5ec23b05e33443d;hb=c93bd73f12d7036d297d00fc4082699f568c7d43;hp=59081e2466f952b838c3224dab6fa9cb61f8a440;hpb=5270423a6afe69f1dc57e5e5a474812182718d40;p=ghc-hetmet.git diff --git a/includes/Cmm.h b/includes/Cmm.h index 59081e2..52b5bec 100644 --- a/includes/Cmm.h +++ b/includes/Cmm.h @@ -169,7 +169,7 @@ #if SIZEOF_W == 4 #define W_SHIFT 2 #elif SIZEOF_W == 8 -#define W_SHIFT 4 +#define W_SHIFT 3 #endif /* Converting quantities of words to bytes */ @@ -295,9 +295,7 @@ (TO_W_( %INFO_TYPE(%STD_INFO(info)) )) { \ case \ IND, \ - IND_OLDGEN, \ IND_PERM, \ - IND_OLDGEN_PERM, \ IND_STATIC: \ { \ P1 = StgInd_indirectee(P1); \ @@ -385,7 +383,7 @@ // allocate() - this includes many of the primops. #define MAYBE_GC(liveness,reentry) \ if (bdescr_link(CurrentNursery) == NULL || \ - step_n_large_blocks(StgRegTable_rNursery(BaseReg)) >= CInt[alloc_blocks_lim]) { \ + generation_n_new_large_blocks(W_[g0]) >= CInt[alloc_blocks_lim]) { \ R9 = liveness; \ R10 = reentry; \ HpAlloc = 0; \ @@ -463,6 +461,9 @@ #define StgFunInfoExtra_bitmap(i) StgFunInfoExtraFwd_bitmap(i) #endif +#define mutArrPtrsCardWords(n) \ + ROUNDUP_BYTES_TO_WDS(((n) + (1 << MUT_ARR_PTRS_CARD_BITS) - 1) >> MUT_ARR_PTRS_CARD_BITS) + /* ----------------------------------------------------------------------------- Voluntary Yields/Blocks