projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tiny tweak to the stack squeezing heuristic (fixes cg060)
[ghc-hetmet.git]
/
includes
/
Rts.h
diff --git
a/includes/Rts.h
b/includes/Rts.h
index
eba8146
..
610cd70
100644
(file)
--- a/
includes/Rts.h
+++ b/
includes/Rts.h
@@
-18,6
+18,9
@@
extern "C" {
#endif
#include "Stg.h"
#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
// 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"
/* 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)
/* 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 (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"
#if defined(WANT_DOTNET_SUPPORT)
#include "DNInvoke.h"
@@
-258,7
+264,11
@@
TICK_VAR(2)
-------------------------------------------------------------------------- */
#ifdef DEBUG
-------------------------------------------------------------------------- */
#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; }
#define IF_DEBUG(c,s) if (RtsFlags.DebugFlags.c) { s; }
+#endif
#else
#define IF_DEBUG(c,s) doNothing()
#endif
#else
#define IF_DEBUG(c,s) doNothing()
#endif