[commit: ghc] master: Revert "Per-thread allocation counters and limits" (f0fcc41)

Karel Gardas karel.gardas at centrum.cz
Tue May 13 06:30:05 UTC 2014


Hello Simon,

I'm sorry to disturb you, but I've noticed that your revert patch below 
contains this change:

diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs
index f3abb3d..3d6dd41 100644
--- a/includes/CodeGen.Platform.hs
+++ b/includes/CodeGen.Platform.hs
@@ -741,8 +741,10 @@ globalRegMaybe CurrentTSO               = Just 
(RealRegSingle REG_CurrentTSO)
  # ifdef REG_CurrentNursery
  globalRegMaybe CurrentNursery           = Just (RealRegSingle 
REG_CurrentNursery)
  # endif
-#endif
  globalRegMaybe _                        = Nothing
+#else
+globalRegMaybe = panic "globalRegMaybe not defined for this platform"
+#endif


and I'm not sure if this is intentional or just overlooked addition. The 
problem with this line is that it causes stage1 panic on unregisterised 
build on PPC64 platform:

http://haskell.inf.elte.hu/builders/linux-ppc64-head/41/10.html

and we have not had such panic before the patch:

http://haskell.inf.elte.hu/builders/linux-ppc64-head/31/10.html -- well, 
you see that dll-split segfaults, but at least ghc-stage1 is proved to 
work well here.

Kudos to Gabor Pali who spotted this on PPC64 builder...

Thanks!
Karel

On 05/ 4/14 11:45 PM, git at git.haskell.org wrote:
> Repository : ssh://git@git.haskell.org/ghc
>
> On branch  : master
> Link       : http://ghc.haskell.org/trac/ghc/changeset/f0fcc41d755876a1b02d1c7c79f57515059f6417/ghc
>
>> ---------------------------------------------------------------
>
> commit f0fcc41d755876a1b02d1c7c79f57515059f6417
> Author: Simon Marlow<marlowsd at gmail.com>
> Date:   Sun May 4 20:27:42 2014 +0100
>
>      Revert "Per-thread allocation counters and limits"
>
>      Problems were found on 32-bit platforms, I'll commit again when I have a fix.
>
>      This reverts the following commits:
>         54b31f744848da872c7c6366dea840748e01b5cf
>         b0534f78a73f972e279eed4447a5687bd6a8308e
>
>
>> ---------------------------------------------------------------
>
> f0fcc41d755876a1b02d1c7c79f57515059f6417
>   compiler/cmm/CmmLayoutStack.hs                     |   9 +-
>   compiler/codeGen/StgCmmForeign.hs                  | 268 ++++++---------------
>   includes/CodeGen.Platform.hs                       |   4 +-
>   includes/rts/Constants.h                           |   6 -
>   includes/rts/Flags.h                               |   8 -
>   includes/rts/Threads.h                             |   8 +-
>   includes/rts/storage/TSO.h                         |  31 +--
>   libraries/base/Control/Exception.hs                |   1 -
>   libraries/base/Control/Exception/Base.hs           |   1 -
>   libraries/base/GHC/Conc.lhs                        |   6 -
>   libraries/base/GHC/Conc/Sync.lhs                   |  92 +------
>   libraries/base/GHC/IO/Exception.hs                 |  21 +-
>   rts/HeapStackCheck.cmm                             |   4 +-
>   rts/Linker.c                                       |   4 -
>   rts/Prelude.h                                      |   2 -
>   rts/RaiseAsync.c                                   |  54 -----
>   rts/RaiseAsync.h                                   |   4 -
>   rts/RtsFlags.c                                     |  10 -
>   rts/RtsStartup.c                                   |   1 -
>   rts/Schedule.c                                     |  19 --
>   rts/Threads.c                                      |  77 +++---
>   rts/package.conf.in                                |   2 -
>   rts/sm/Storage.c                                   |   6 -
>   rts/win32/libHSbase.def                            |   1 -
>   testsuite/tests/concurrent/should_run/all.T        |   7 -
>   .../tests/concurrent/should_run/allocLimit1.hs     |   9 -
>   .../tests/concurrent/should_run/allocLimit1.stderr |   1 -
>   .../tests/concurrent/should_run/allocLimit2.hs     |  17 --
>   .../tests/concurrent/should_run/allocLimit3.hs     |  15 --
>   .../tests/concurrent/should_run/allocLimit3.stderr |   1 -
>   .../tests/concurrent/should_run/allocLimit3.stdout |   1 -
>   .../tests/concurrent/should_run/allocLimit4.hs     |  31 ---
>   utils/deriveConstants/DeriveConstants.hs           |   1 -
>   33 files changed, 144 insertions(+), 578 deletions(-)
>
> Diff suppressed because of size. To see it, use:
>
>      git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f0fcc41d755876a1b02d1c7c79f57515059f6417
> _______________________________________________
> ghc-commits mailing list
> ghc-commits at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-commits
>



More information about the ghc-devs mailing list