X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FmkDerivedConstants.c;h=56296ec4f147eef3c24b37adee8c7d72c13d3efc;hp=efb6c4aed7e2652d3c84a5a1bfbc117150426cf1;hb=c97c0ab354da338854574f9c1fb89f7db061d4ae;hpb=73566e25d75588185b0581722406da5c48965c51 diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c index efb6c4a..56296ec 100644 --- a/includes/mkDerivedConstants.c +++ b/includes/mkDerivedConstants.c @@ -23,6 +23,7 @@ #include "Rts.h" #include "RtsFlags.h" #include "Storage.h" +#include "Stable.h" #include "OSThreads.h" #include "Capability.h" @@ -30,14 +31,21 @@ #define str(a,b) #a "_" #b -#define OFFSET(s_type, field) ((unsigned int)&(((s_type*)0)->field)) +#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 " = %d::Int\n", offset); +#define def_offset(str, offset) \ + printf("oFFSET_" str " :: Int\n"); \ + printf("oFFSET_" str " = %" SIZET_FMT "\n", offset); #else #define def_offset(str, offset) \ - printf("#define OFFSET_" str " %d\n", offset); + printf("#define OFFSET_" str " %" SIZET_FMT "\n", offset); #endif #if defined(GEN_HASKELL) @@ -80,8 +88,9 @@ struct_field_macro(str) #if defined(GEN_HASKELL) -#define def_size(str, size) \ - printf("sIZEOF_" str " = %d::Int\n", size); +#define def_size(str, size) \ + printf("sIZEOF_" str " :: Int\n"); \ + printf("sIZEOF_" str " = %d\n", size); #else #define def_size(str, size) \ printf("#define SIZEOF_" str " %d\n", size); @@ -178,13 +187,6 @@ main(int argc, char *argv[]) printf("#define PROF_HDR_SIZE %d\n", sizeofW(StgProfHeader)); printf("#define GRAN_HDR_SIZE %d\n", sizeofW(StgGranHeader)); - printf("#define STD_ITBL_SIZE %d\n", sizeofW(StgInfoTable)); - printf("#define RET_ITBL_SIZE %d\n", sizeofW(StgRetInfoTable) - sizeofW(StgInfoTable)); - printf("#define PROF_ITBL_SIZE %d\n", sizeofW(StgProfInfo)); - - printf("#define GRAN_ITBL_SIZE %d\n", 0); - printf("#define TICKY_ITBL_SIZE %d\n", 0); - printf("#define BLOCK_SIZE %d\n", BLOCK_SIZE); printf("#define MBLOCK_SIZE %d\n", MBLOCK_SIZE); @@ -260,7 +262,8 @@ main(int argc, char *argv[]) struct_field(StgEntCounter, allocs); struct_field(StgEntCounter, registeredp); struct_field(StgEntCounter, link); - + struct_field(StgEntCounter, entry_count); + closure_size(StgUpdateFrame); closure_size(StgCatchFrame); closure_size(StgStopFrame); @@ -328,15 +331,26 @@ main(int argc, char *argv[]) closure_size(StgAtomicallyFrame); closure_field(StgAtomicallyFrame, code); + closure_field(StgAtomicallyFrame, next_invariant_to_check); + + closure_field(StgInvariantCheckQueue, invariant); + closure_field(StgInvariantCheckQueue, my_execution); + closure_field(StgInvariantCheckQueue, next_queue_entry); + + closure_field(StgAtomicInvariant, code); closure_size(StgCatchSTMFrame); closure_field(StgCatchSTMFrame, handler); + closure_field(StgCatchSTMFrame, code); closure_size(StgCatchRetryFrame); closure_field(StgCatchRetryFrame, running_alt_code); closure_field(StgCatchRetryFrame, first_code); closure_field(StgCatchRetryFrame, alt_code); - closure_field(StgCatchRetryFrame, first_code_trec); + + closure_field(StgTVarWatchQueue, closure); + closure_field(StgTVarWatchQueue, next_queue_entry); + closure_field(StgTVarWatchQueue, prev_queue_entry); closure_size(StgWeak); closure_field(StgWeak,link); @@ -356,7 +370,6 @@ main(int argc, char *argv[]) closure_field(StgBCO, instrs); closure_field(StgBCO, literals); closure_field(StgBCO, ptrs); - closure_field(StgBCO, itbls); closure_field(StgBCO, arity); closure_field(StgBCO, size); closure_payload(StgBCO, bitmap); @@ -374,6 +387,8 @@ main(int argc, char *argv[]) RTS_FLAGS, DebugFlags.weak); struct_field_("RtsFlags_GcFlags_initialStkSize", RTS_FLAGS, GcFlags.initialStkSize); + struct_field_("RtsFlags_MiscFlags_tickInterval", + RTS_FLAGS, MiscFlags.tickInterval); struct_size(StgFunInfoExtraFwd); struct_field(StgFunInfoExtraFwd, slow_apply);