X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FCmm.h;h=183e10394f5db356ad89e0c454244776fe0d947c;hb=70a2431f90fa932733ce015714ef7848640ed48f;hp=aba5c2e36ba5e49e6d4fcbdd55f92d243e21a4ed;hpb=a2a67cd520b9841114d69a87a423dabcb3b4368e;p=ghc-hetmet.git diff --git a/includes/Cmm.h b/includes/Cmm.h index aba5c2e..183e103 100644 --- a/includes/Cmm.h +++ b/includes/Cmm.h @@ -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); \ @@ -380,11 +378,12 @@ HP_CHK_GEN(alloc,liveness,reentry); \ TICK_ALLOC_HEAP_NOCTR(alloc); -// allocateLocal() allocates from the nursery, so we check to see +// allocate() allocates from the nursery, so we check to see // whether the nursery is nearly empty in any function that uses -// allocateLocal() - this includes many of the primops. +// allocate() - this includes many of the primops. #define MAYBE_GC(liveness,reentry) \ - if (bdescr_link(CurrentNursery) == NULL || CInt[alloc_blocks] >= CInt[alloc_blocks_lim]) { \ + if (bdescr_link(CurrentNursery) == NULL || \ + generation_n_new_large_blocks(W_[g0]) >= CInt[alloc_blocks_lim]) { \ R9 = liveness; \ R10 = reentry; \ HpAlloc = 0; \ @@ -462,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