[GHC] #13424: readMutVar# is marked can_fail
#13424: readMutVar# is marked can_fail -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Other Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- `readMutVar#` can only fail if its argument is not a valid pointer. As far as I know, we never check whether a pointer is valid; we ensure it's valid by construction. So I think we should set `can_fail = False`. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13424> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13424: readMutVar# is marked can_fail -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Other | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3340 Wiki Page: | -------------------------------------+------------------------------------- Changes (by dfeuer): * status: new => patch * differential: => Phab:D3340 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13424#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13424: readMutVar# is marked can_fail -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Other | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3340 Wiki Page: | -------------------------------------+------------------------------------- Comment (by David Feuer <David.Feuer@…>): In [changeset:"2ac13c132d039438382baef6ce52c79b29725145/ghc" 2ac13c1/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="2ac13c132d039438382baef6ce52c79b29725145" Let GHC know MutVar# ops can't fail The only way `readMutVar#` or `writeMutVar#` can fail is if its argument is not a valid pointer. I believe we ensure this by construction, and never test for pointer validity. So I think it should be safe to say that it can't fail. Fixes #13424 Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3340 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13424#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13424: readMutVar# is marked can_fail -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Other | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3340 Wiki Page: | -------------------------------------+------------------------------------- Changes (by dfeuer): * status: patch => closed * resolution: => fixed Comment: Note that this change probably won't have any immediate effect, since these primops are both `has_side_effects`; it just tries to set the stage a bit for further ones. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13424#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC