X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FCmm.h;h=0088c1aa05d9419221079ea6fea772ad790713e2;hb=b3bc4006fef38476d2e66d99879d5adc71d5aa6a;hp=ff91146745609db02896237c26a8f8df31982ce9;hpb=0417404f5d1230c9d291ea9f73e2831121c8ec99;p=ghc-hetmet.git diff --git a/includes/Cmm.h b/includes/Cmm.h index ff91146..0088c1a 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); \ @@ -415,6 +413,9 @@ /* The offset of the payload of an array */ #define BYTE_ARR_CTS(arr) ((arr) + SIZEOF_StgArrWords) +/* The number of words allocated in an array payload */ +#define BYTE_ARR_WDS(arr) ROUNDUP_BYTES_TO_WDS(StgArrWords_bytes(arr)) + /* Getting/setting the info pointer of a closure */ #define SET_INFO(p,info) StgHeader_info(p) = info #define GET_INFO(p) StgHeader_info(p)