#include "rtsdefs.h"
#endif
+#if __GLASGOW_HASKELL__ >= 408
+#include "../rts/RtsFlags.h"
+#include "HsFFI.h"
+#endif
+
+void
+defaultsHook (void)
+{
+#if __GLASGOW_HASKELL__ >= 408
+ RtsFlags.GcFlags.heapSizeSuggestion = 6*1024*1024 / BLOCK_SIZE;
+ RtsFlags.GcFlags.maxStkSize = 8*1024*1024 / sizeof(W_);
+#endif
+#if __GLASGOW_HASKELL__ >= 411
+ RtsFlags.GcFlags.giveStats = COLLECT_GC_STATS;
+ RtsFlags.GcFlags.statsFile = stderr;
+#endif
+}
+
+void
+enableTimingStats( void ) /* called from the driver */
+{
+#if __GLASGOW_HASKELL__ >= 411
+ RtsFlags.GcFlags.giveStats = ONELINE_GC_STATS;
+#endif
+ /* ignored when bootstrapping with an older GHC */
+}
+
+void
+setHeapSize( HsInt size )
+{
+#if __GLASGOW_HASKELL__ >= 408
+ RtsFlags.GcFlags.heapSizeSuggestion = size / BLOCK_SIZE;
+ if (RtsFlags.GcFlags.heapSizeSuggestion >
+ RtsFlags.GcFlags.maxHeapSize) {
+ RtsFlags.GcFlags.maxHeapSize = RtsFlags.GcFlags.heapSizeSuggestion;
+ }
+#endif
+}
+
#if __GLASGOW_HASKELL__ >= 303
void
void
PatErrorHdrHook (long fd)
{
- const char msg[]="\n*** Pattern-matching error within GHC!\n\nThis is a compiler bug; please report it to glasgow-haskell-bugs@dcs.gla.ac.uk.\n\nFail:";
+ const char msg[]="\n*** Pattern-matching error within GHC!\n\nThis is a compiler bug; please report it to glasgow-haskell-bugs@haskell.org.\n\nFail:";
write(fd,msg,sizeof(msg)-1);
}
void
PatErrorHdrHook (FILE *where)
{
- fprintf(where, "\n*** Pattern-matching error within GHC!\n\nThis is a compiler bug; please report it to glasgow-haskell-bugs@dcs.gla.ac.uk.\n\nFail: ");
+ fprintf(where, "\n*** Pattern-matching error within GHC!\n\nThis is a compiler bug; please report it to glasgow-haskell-bugs@haskell.org.\n\nFail: ");
}
void