X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FCmm.h;h=b23a37be040e5bda37a37c90ebbde5172a00fc05;hb=1d708730ee5d0882c59f3d90422ff04fa0e5f39b;hp=d58eebc424015603667ef6fced915491286f3685;hpb=93db1991b5cacf8357493a2e17fbbfb485f3205b;p=ghc-hetmet.git diff --git a/includes/Cmm.h b/includes/Cmm.h index d58eebc..b23a37b 100644 --- a/includes/Cmm.h +++ b/includes/Cmm.h @@ -273,6 +273,8 @@ #include "DerivedConstants.h" #include "ClosureTypes.h" #include "StgFun.h" +#include "OSThreads.h" +#include "SMP.h" /* * Need MachRegs, because some of the RTS code is conditionally @@ -463,18 +465,13 @@ #define TICK_SLOW_CALL_ppppp() TICK_BUMP(SLOW_CALL_ppppp_ctr) #define TICK_SLOW_CALL_pppppp() TICK_BUMP(SLOW_CALL_pppppp_ctr) -#ifdef TICKY_TICKY -#define TICK_HISTO_BY(histo,n,i) \ - W_ __idx; \ - __idx = (n); \ - if (__idx > 8) { \ - __idx = 8; \ - } \ - CLong[histo##_hst + _idx*SIZEOF_LONG] \ - = histo##_hst + __idx*SIZEOF_LONG] + i; -#else +/* NOTE: TICK_HISTO_BY and TICK_HISTO + currently have no effect. + The old code for it didn't typecheck and I + just commented it out to get ticky to work. + - krc 1/2007 */ + #define TICK_HISTO_BY(histo,n,i) /* nothing */ -#endif #define TICK_HISTO(histo,n) TICK_HISTO_BY(histo,n,1) @@ -513,8 +510,9 @@ Misc junk -------------------------------------------------------------------------- */ -#define NO_TREC stg_NO_TREC_closure -#define END_TSO_QUEUE stg_END_TSO_QUEUE_closure +#define NO_TREC stg_NO_TREC_closure +#define END_TSO_QUEUE stg_END_TSO_QUEUE_closure +#define END_INVARIANT_CHECK_QUEUE stg_END_INVARIANT_CHECK_QUEUE_closure #define dirtyTSO(tso) \ StgTSO_flags(tso) = StgTSO_flags(tso) | TSO_DIRTY::I32; @@ -526,7 +524,7 @@ __bd = W_[mut_list]; \ if (bdescr_free(__bd) >= bdescr_start(__bd) + BLOCK_SIZE) { \ W_ __new_bd; \ - "ptr" __new_bd = foreign "C" allocBlock_lock() [regs]; \ + ("ptr" __new_bd) = foreign "C" allocBlock_lock() [regs]; \ bdescr_link(__new_bd) = __bd; \ __bd = __new_bd; \ W_[mut_list] = __bd; \