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

Simon Marlow marlowsd at gmail.com
Tue May 13 11:29:53 UTC 2014


It looks like I accidentally slipped that fix in with the allocation 
counters patch, and when the patch was reverted the fix was reverted 
too.  I'll commit the fix from the patch (which is probably better, 
that's what I intended to do all along).

Sorry for the mixup!

Simon

On 13/05/14 07:30, Karel Gardas wrote:
>
> 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