X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FStorage.h;h=92a856c96392dc6a9d0b83ff211a987abf92387c;hb=4839f119310cd82dec679239e0897e4a2a26ee92;hp=12be6d19d033e24f6164ee67fe578ac3333f58e5;hpb=ab0e778ccfde61aed4c22679b24d175fc6cc9bf3;p=ghc-hetmet.git diff --git a/includes/Storage.h b/includes/Storage.h index 12be6d1..92a856c 100644 --- a/includes/Storage.h +++ b/includes/Storage.h @@ -303,7 +303,7 @@ void dirty_MUT_VAR(StgRegTable *reg, StgClosure *p); ((StgInfoTable *)(INFO_PTR_TO_STRUCT(p)))->type < N_CLOSURE_TYPES) #define LOOKS_LIKE_CLOSURE_PTR(p) \ - (LOOKS_LIKE_INFO_PTR(((StgClosure *)(p))->header.info)) + (LOOKS_LIKE_INFO_PTR((UNTAG_CLOSURE((StgClosure *)(p)))->header.info)) /* ----------------------------------------------------------------------------- Macros for calculating how big a closure will be (used during allocation) @@ -392,6 +392,7 @@ closure_sizeW_ (StgClosure *p, StgInfoTable *info) case AP_STACK: return ap_stack_sizeW((StgAP_STACK *)p); case AP: + return ap_sizeW((StgAP *)p); case PAP: return pap_sizeW((StgPAP *)p); case IND: @@ -457,7 +458,6 @@ INLINE_HEADER StgWord stack_frame_sizeW( StgClosure *frame ) return sizeofW(StgRetFun) + ((StgRetFun *)frame)->size; case RET_BIG: - case RET_VEC_BIG: return 1 + GET_LARGE_BITMAP(&info->i)->size; case RET_BCO: