X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRts.h;h=610cd701b3e33861eddc432a1eba4d3b7767fb94;hb=b0ca990457eaf7991e72b13d0040d937b5759b36;hp=eba8146fd2efd9284c3e7ffbca0ca869e036a93b;hpb=6015a94f9108a502150565577b66c23650796639;p=ghc-hetmet.git diff --git a/includes/Rts.h b/includes/Rts.h index eba8146..610cd70 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -18,6 +18,9 @@ extern "C" { #endif #include "Stg.h" +// ToDo: move RtsExternal stuff elsewhere +#include "RtsExternal.h" + // Turn off inlining when debugging - it obfuscates things #ifdef DEBUG # undef STATIC_INLINE @@ -165,7 +168,8 @@ TAG_CLOSURE(StgWord tag,StgClosure * p) /* Parallel information */ #include "Parallel.h" #include "OSThreads.h" -#include "SMP.h" +#include "SMPClosureOps.h" +#include "SpinLock.h" /* GNU mp library */ #if defined(HAVE_FRAMEWORK_GMP) @@ -202,6 +206,8 @@ extern void stackOverflow(void); extern void __decodeDouble (MP_INT *man, I_ *_exp, StgDouble dbl); extern void __decodeFloat (MP_INT *man, I_ *_exp, StgFloat flt); +extern void __decodeDouble_2Int (I_ *man_high, I_ *man_low, I_ *exp, StgDouble dbl); +extern void __decodeFloat_Int (I_ *man, I_ *exp, StgFloat flt); #if defined(WANT_DOTNET_SUPPORT) #include "DNInvoke.h" @@ -258,7 +264,11 @@ TICK_VAR(2) -------------------------------------------------------------------------- */ #ifdef DEBUG +#if IN_STG_CODE +#define IF_DEBUG(c,s) if (RtsFlags[0].DebugFlags.c) { s; } +#else #define IF_DEBUG(c,s) if (RtsFlags.DebugFlags.c) { s; } +#endif #else #define IF_DEBUG(c,s) doNothing() #endif