
#7923: Optimization for takeMVar/putMVar when MVar left empty ---------------------------------+------------------------------------------ Reporter: ezyang | Owner: ezyang Type: task | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 7.7 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Runtime performance bug Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------ Comment(by igloo): Shouldn't this hunk: {{{ - unlockClosure(mvar, stg_MVAR_DIRTY_info); + unlockClosure(mvar, info); + // escape without dirty_MVar! }}} use `stg_MVAR_CLEAN_info` instead of `info`? And likewise in `stg_tryTakeMVarzh`. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7923#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler