diff options
author | Simon Marlow <simonmar@microsoft.com> | 2006-02-08 14:33:48 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2006-02-08 14:33:48 +0000 |
commit | beb5737b7ee42c4e9373a505e7d957206d69a30e (patch) | |
tree | 0651a5ae4dbf1d1cf4036b3393a7b6e1c1b6186a /mk/config.mk.in | |
parent | 76e3742711eb9eb2fed7654c56e602b54c517e87 (diff) | |
download | haskell-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.in | 14 |
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 |