[GHC] #14998: Sort out the strictness mess for exceptions

GHC ghc-devs at haskell.org
Fri Apr 6 09:05:48 UTC 2018


#14998: Sort out the strictness mess for exceptions
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.4.3
       Component:  Compiler          |              Version:  8.2.2
      Resolution:                    |             Keywords:  Exceptions
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by sgraf):

 The diff I used for item 1:

 {{{
 diff --git a/compiler/prelude/primops.txt.pp
 b/compiler/prelude/primops.txt.pp
 index 1362704074..4c65ba4220 100644
 --- a/compiler/prelude/primops.txt.pp
 +++ b/compiler/prelude/primops.txt.pp
 @@ -2377,7 +2377,7 @@ primop  CatchRetryOp "catchRetry#" GenPrimOp
     -> (State# RealWorld -> (# State# RealWorld, a #) )
     -> (State# RealWorld -> (# State# RealWorld, a #) )
     with
 -   strictness  = { \ _arity -> mkClosedStrictSig [ catchArgDmd
 +   strictness  = { \ _arity -> mkClosedStrictSig [ lazyApply1Dmd
                                                   , lazyApply1Dmd
                                                   , topDmd ] topRes }
                   -- See Note [Strictness for mask/unmask/catch]
 }}}

 No change in allocations, max +0.1% in counted instructions for `scc`. I
 have yet to run a validate, but this seems worthwhile if it would get rid
 of `ExnStr`!

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14998#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list