X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FmkDerivedConstants.c;h=94157f035bbdbaf1e4eb17bea95ca1db3ad1ca33;hb=4bba92f93b88e15f0e0f23732d2cfa540acb737b;hp=116b2e997185a8ded9f1809dcca6363df75bc35c;hpb=176fa33f17dd78355cc572e006d2ab26898e2c69;p=ghc-hetmet.git diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c index 116b2e9..94157f0 100644 --- a/includes/mkDerivedConstants.c +++ b/includes/mkDerivedConstants.c @@ -21,10 +21,8 @@ #define THREADED_RTS #include "Rts.h" -#include "RtsFlags.h" -#include "Storage.h" + #include "Stable.h" -#include "OSThreads.h" #include "Capability.h" #include @@ -33,26 +31,20 @@ #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) #define ctype(type) /* nothing */ #else #define ctype(type) \ - printf("#define SIZEOF_" #type " %d\n", sizeof(type)); + printf("#define SIZEOF_" #type " %lu\n", (unsigned long)sizeof(type)); #endif #if defined(GEN_HASKELL) @@ -67,7 +59,7 @@ */ #define field_type_(str, s_type, field) \ printf("#define REP_" str " b"); \ - printf("%d\n", sizeof (__typeof__(((((s_type*)0)->field)))) * 8); + printf("%lu\n", (unsigned long)sizeof (__typeof__(((((s_type*)0)->field)))) * 8); #define field_type_gcptr_(str, s_type, field) \ printf("#define REP_" str " gcptr\n"); #endif @@ -99,17 +91,17 @@ #if defined(GEN_HASKELL) #define def_size(str, size) \ printf("sIZEOF_" str " :: Int\n"); \ - printf("sIZEOF_" str " = %d\n", size); + printf("sIZEOF_" str " = %lu\n", (unsigned long)size); #else #define def_size(str, size) \ - printf("#define SIZEOF_" str " %d\n", size); + printf("#define SIZEOF_" str " %lu\n", (unsigned long)size); #endif #if defined(GEN_HASKELL) #define def_closure_size(str, size) /* nothing */ #else #define def_closure_size(str, size) \ - printf("#define SIZEOF_" str " (SIZEOF_StgHeader+%d)\n", size); + printf("#define SIZEOF_" str " (SIZEOF_StgHeader+%lu)\n", (unsigned long)size); #endif #define struct_size(s_type) \ @@ -168,7 +160,7 @@ /* Full byte offset for a TSO field, for use from Cmm */ #define tso_field_offset_macro(str) \ - printf("#define TSO_OFFSET_" str " (SIZEOF_StgHeader+SIZEOF_OPT_StgTSOProfInfo+SIZEOF_OPT_StgTSOParInfo+SIZEOF_OPT_StgTSOGranInfo+SIZEOF_OPT_StgTSODistInfo+OFFSET_" str ")\n"); + printf("#define TSO_OFFSET_" str " (SIZEOF_StgHeader+SIZEOF_OPT_StgTSOProfInfo+OFFSET_" str ")\n"); #define tso_field_offset(s_type, field) \ tso_payload_offset(s_type, field); \ @@ -197,13 +189,12 @@ main(int argc, char *argv[]) #ifndef GEN_HASKELL printf("/* This file is created automatically. Do not edit by hand.*/\n\n"); - printf("#define STD_HDR_SIZE %d\n", sizeofW(StgHeader) - sizeofW(StgProfHeader)); + printf("#define STD_HDR_SIZE %lu\n", (unsigned long)sizeofW(StgHeader) - sizeofW(StgProfHeader)); /* grrr.. PROFILING is on so we need to subtract sizeofW(StgProfHeader) */ - printf("#define PROF_HDR_SIZE %d\n", sizeofW(StgProfHeader)); - printf("#define GRAN_HDR_SIZE %d\n", sizeofW(StgGranHeader)); + printf("#define PROF_HDR_SIZE %lu\n", (unsigned long)sizeofW(StgProfHeader)); - printf("#define BLOCK_SIZE %d\n", BLOCK_SIZE); - printf("#define MBLOCK_SIZE %d\n", MBLOCK_SIZE); + printf("#define BLOCK_SIZE %u\n", BLOCK_SIZE); + printf("#define MBLOCK_SIZE %u\n", MBLOCK_SIZE); printf("\n\n"); #endif @@ -233,13 +224,7 @@ main(int argc, char *argv[]) field_offset(StgRegTable, rCurrentNursery); field_offset(StgRegTable, rHpAlloc); struct_field(StgRegTable, rRet); - - // Needed for SMP builds - field_offset(StgRegTable, rmp_tmp_w); - field_offset(StgRegTable, rmp_tmp1); - field_offset(StgRegTable, rmp_tmp2); - field_offset(StgRegTable, rmp_result1); - field_offset(StgRegTable, rmp_result2); + struct_field(StgRegTable, rNursery); def_offset("stgEagerBlackholeInfo", FUN_OFFSET(stgEagerBlackholeInfo)); def_offset("stgGCEnter1", FUN_OFFSET(stgGCEnter1)); @@ -258,6 +243,7 @@ main(int argc, char *argv[]) struct_size(generation); struct_field(generation, mut_list); + struct_field(generation, n_new_large_blocks); struct_size(CostCentreStack); struct_field(CostCentreStack, ccsID); @@ -287,6 +273,7 @@ main(int argc, char *argv[]) closure_size(StgMutArrPtrs); closure_field(StgMutArrPtrs, ptrs); + closure_field(StgMutArrPtrs, size); closure_size(StgArrWords); closure_field(StgArrWords, words); @@ -303,20 +290,15 @@ main(int argc, char *argv[]) closure_field(StgTSO, saved_errno); closure_field(StgTSO, trec); closure_field(StgTSO, flags); + closure_field(StgTSO, dirty); closure_field_("StgTSO_CCCS", StgTSO, prof.CCCS); tso_field(StgTSO, sp); tso_field_offset(StgTSO, stack); tso_field(StgTSO, stack_size); struct_size(StgTSOProfInfo); - struct_size(StgTSOParInfo); - struct_size(StgTSOGranInfo); - struct_size(StgTSODistInfo); opt_struct_size(StgTSOProfInfo,PROFILING); - opt_struct_size(StgTSOParInfo,PAR); - opt_struct_size(StgTSOGranInfo,GRAN); - opt_struct_size(StgTSODistInfo,DIST); closure_field(StgUpdateFrame, updatee); @@ -349,6 +331,7 @@ main(int argc, char *argv[]) closure_size(StgAtomicallyFrame); closure_field(StgAtomicallyFrame, code); closure_field(StgAtomicallyFrame, next_invariant_to_check); + closure_field(StgAtomicallyFrame, result); closure_field(StgInvariantCheckQueue, invariant); closure_field(StgInvariantCheckQueue, my_execution); @@ -356,6 +339,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); @@ -376,6 +361,7 @@ main(int argc, char *argv[]) closure_field(StgWeak,key); closure_field(StgWeak,value); closure_field(StgWeak,finalizer); + closure_field(StgWeak,cfinalizer); closure_size(StgDeadWeak); closure_field(StgDeadWeak,link); @@ -435,11 +421,5 @@ main(int argc, char *argv[]) struct_field(StgAsyncIOResult, errCode); #endif - struct_size(MP_INT); - struct_field(MP_INT,_mp_alloc); - struct_field(MP_INT,_mp_size); - struct_field(MP_INT,_mp_d); - - ctype(mp_limb_t); return 0; }