
#8091: retry# lacks strictness information -------------------------------------+------------------------------------ Reporter: parcs | Owner: Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Changes (by parcs): * status: new => patch Comment: The patch (validated): {{{ #!diff diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index 3d3518b..e12c1a5 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -1614,6 +1614,7 @@ primop AtomicallyOp "atomically#" GenPrimOp primop RetryOp "retry#" GenPrimOp State# RealWorld -> (# State# RealWorld, a #) with + strictness = { \ _arity -> mkStrictSig (mkTopDmdType [topDmd] botRes) } out_of_line = True has_side_effects = True }}} The unfoldings in Control.Concurrent.STM.TSem and .TQueue are improved as a result of this change due to the aforementioned dead code elimination. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8091#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler