X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FmkDerivedConstants.c;h=41cf1d742fc44a8f67e02eeec6d1680beb0c7d26;hb=34c8d0312071f7d0f4d221a997d3408c653ef9e5;hp=3b80aacb363ec9c67c09f8002dd0d5fdc0376912;hpb=c5cafbcca54c4b1117bc43b31d86afa583fb7f62;p=ghc-hetmet.git diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c index 3b80aac..41cf1d7 100644 --- a/includes/mkDerivedConstants.c +++ b/includes/mkDerivedConstants.c @@ -31,19 +31,13 @@ #define OFFSET(s_type, field) ((size_t)&(((s_type*)0)->field)) -#ifdef mingw32_HOST_OS -#define SIZET_FMT "d" -#else -#define SIZET_FMT "zd" -#endif - #if defined(GEN_HASKELL) #define def_offset(str, offset) \ printf("oFFSET_" str " :: Int\n"); \ - printf("oFFSET_" str " = %" SIZET_FMT "\n", offset); + printf("oFFSET_" str " = %lu\n", (unsigned long)offset); #else #define def_offset(str, offset) \ - printf("#define OFFSET_" str " %" SIZET_FMT "\n", offset); + printf("#define OFFSET_" str " %lu\n", (unsigned long)offset); #endif #if defined(GEN_HASKELL) @@ -201,6 +195,8 @@ main(int argc, char *argv[]) printf("#define BLOCK_SIZE %u\n", BLOCK_SIZE); printf("#define MBLOCK_SIZE %u\n", MBLOCK_SIZE); + printf("#define BLOCKS_PER_MBLOCK %lu\n", (lnat)BLOCKS_PER_MBLOCK); + // could be derived, but better to save doing the calculation twice printf("\n\n"); #endif @@ -230,6 +226,7 @@ main(int argc, char *argv[]) field_offset(StgRegTable, rCurrentNursery); field_offset(StgRegTable, rHpAlloc); struct_field(StgRegTable, rRet); + struct_field(StgRegTable, rNursery); def_offset("stgEagerBlackholeInfo", FUN_OFFSET(stgEagerBlackholeInfo)); def_offset("stgGCEnter1", FUN_OFFSET(stgGCEnter1)); @@ -239,6 +236,7 @@ main(int argc, char *argv[]) field_offset(Capability, lock); struct_field(Capability, mut_lists); struct_field(Capability, context_switch); + struct_field(Capability, sparks); struct_field(bdescr, start); struct_field(bdescr, free); @@ -247,7 +245,7 @@ main(int argc, char *argv[]) struct_field(bdescr, link); struct_size(generation); - struct_field(generation, mut_list); + struct_field(generation, n_new_large_words); struct_size(CostCentreStack); struct_field(CostCentreStack, ccsID); @@ -277,9 +275,10 @@ main(int argc, char *argv[]) closure_size(StgMutArrPtrs); closure_field(StgMutArrPtrs, ptrs); + closure_field(StgMutArrPtrs, size); closure_size(StgArrWords); - closure_field(StgArrWords, words); + closure_field(StgArrWords, bytes); closure_payload(StgArrWords, payload); closure_field(StgTSO, _link); @@ -294,10 +293,14 @@ main(int argc, char *argv[]) closure_field(StgTSO, trec); closure_field(StgTSO, flags); closure_field(StgTSO, dirty); + closure_field(StgTSO, bq); closure_field_("StgTSO_CCCS", StgTSO, prof.CCCS); - tso_field(StgTSO, sp); - tso_field_offset(StgTSO, stack); - tso_field(StgTSO, stack_size); + closure_field(StgTSO, stackobj); + + closure_field(StgStack, sp); + closure_field_offset(StgStack, stack); + closure_field(StgStack, stack_size); + closure_field(StgStack, dirty); struct_size(StgTSOProfInfo); @@ -342,6 +345,8 @@ main(int argc, char *argv[]) closure_field(StgAtomicInvariant, code); + closure_field(StgTRecHeader, enclosing_trec); + closure_size(StgCatchSTMFrame); closure_field(StgCatchSTMFrame, handler); closure_field(StgCatchSTMFrame, code); @@ -372,6 +377,10 @@ main(int argc, char *argv[]) closure_field(StgMVar,tail); closure_field(StgMVar,value); + closure_size(StgMVarTSOQueue); + closure_field(StgMVarTSOQueue, link); + closure_field(StgMVarTSOQueue, tso); + closure_size(StgBCO); closure_field(StgBCO, instrs); closure_field(StgBCO, literals); @@ -383,6 +392,17 @@ main(int argc, char *argv[]) closure_size(StgStableName); closure_field(StgStableName,sn); + closure_size(StgBlockingQueue); + closure_field(StgBlockingQueue, bh); + closure_field(StgBlockingQueue, owner); + closure_field(StgBlockingQueue, queue); + closure_field(StgBlockingQueue, link); + + closure_size(MessageBlackHole); + closure_field(MessageBlackHole, link); + closure_field(MessageBlackHole, tso); + closure_field(MessageBlackHole, bh); + struct_field_("RtsFlags_ProfFlags_showCCSOnException", RTS_FLAGS, ProfFlags.showCCSOnException); struct_field_("RtsFlags_DebugFlags_apply",