summaryrefslogtreecommitdiff
path: root/mk/config.mk.in
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2006-02-08 14:33:48 +0000
committerSimon Marlow <simonmar@microsoft.com>2006-02-08 14:33:48 +0000
commitbeb5737b7ee42c4e9373a505e7d957206d69a30e (patch)
tree0651a5ae4dbf1d1cf4036b3393a7b6e1c1b6186a /mk/config.mk.in
parent76e3742711eb9eb2fed7654c56e602b54c517e87 (diff)
downloadhaskell-beb5737b7ee42c4e9373a505e7d957206d69a30e.tar.gz
make the smp way RTS-only, normal libraries now work with -smp
We had to bite the bullet here and add an extra word to every thunk, to enable running ordinary libraries on SMP. Otherwise, we would have needed to ship an extra set of libraries with GHC 6.6 in addition to the two sets we already ship (normal + profiled), and all Cabal packages would have to be compiled for SMP too. We decided it best just to take the hit now, making SMP easily accessible to everyone in GHC 6.6. Incedentally, although this increases allocation by around 12% on average, the performance hit is around 5%, and much less if your inner loop doesn't use any laziness.
Diffstat (limited to 'mk/config.mk.in')
-rw-r--r--mk/config.mk.in14
1 files changed, 8 insertions, 6 deletions
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 85625e36de..931c4f5244 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -311,8 +311,10 @@ endif
#
# thr : threaded
# thr_p : threaded profiled
+# s : smp
# debug : debugging (compile with -g for the C compiler, and -DDEBUG)
# debug_p : debugging profiled
+# debug_s : debugging smp
# debug_u : debugging unregisterised
# thr_debug : debugging threaded
# thr_debug_p : debugging threaded profiled
@@ -320,7 +322,7 @@ endif
ifeq "$(BootingFromHc)" "YES"
GhcRTSWays=
else
-GhcRTSWays=thr thr_p debug thr_debug
+GhcRTSWays=thr thr_p s debug debug_s thr_debug
endif
# Option flags to pass to GHC when it's compiling modules in
@@ -1048,10 +1050,6 @@ WAY_t_HC_OPTS= -ticky
WAY_u_NAME=unregisterized (using portable C only)
WAY_u_HC_OPTS=-unreg
-# Way `s':
-WAY_s_NAME=threads (for SMP)
-WAY_s_HC_OPTS=-smp -optc-DTHREADED_RTS
-
# Way `mp':
WAY_mp_NAME=parallel
WAY_mp_HC_OPTS=-parallel
@@ -1072,6 +1070,10 @@ WAY_thr_HC_OPTS=-optc-DTHREADED_RTS
WAY_thr_p_NAME=threaded profiled
WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof
+# Way `s':
+WAY_s_NAME=threads (for SMP)
+WAY_s_HC_OPTS=-optc-DSMP -optc-DTHREADED_RTS
+
# Way 'debug':
WAY_debug_NAME=debug
WAY_debug_HC_OPTS=-optc-DDEBUG
@@ -1086,7 +1088,7 @@ WAY_debug_u_HC_OPTS=-optc-DDEBUG -unreg
# Way 'debug_s':
WAY_debug_s_NAME=debug SMP
-WAY_debug_s_HC_OPTS=-optc-DDEBUG -optc-DTHREADED_RTS -smp
+WAY_debug_s_HC_OPTS=-optc-DDEBUG -optc-DTHREADED_RTS -optc-DSMP
# Way 'thr_debug':
WAY_thr_debug_NAME=threaded