Skip to content

Commit

Permalink
Merge branch 'CAD-4750-generalise-orelse-frame' into CAD-4738-stm-mon…
Browse files Browse the repository at this point in the history
…ad-catch-instance
  • Loading branch information
Yogesh Sajanikar committed Aug 2, 2022
2 parents 238d845 + abc4bff commit 15366db
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions io-sim/src/Control/Monad/IOSim/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -934,15 +934,15 @@ execAtomically !time !tid !tlbl !nextVid0 action0 k0 =
k0 $! StmTxBlocked $! (Map.elems read)

BranchFrame (OrElseStmA b) k writtenOuter writtenOuterSeq createdOuterSeq ctl' ->
{-# SCC "execAtomically.go.OrElseLeftFrame" #-} do
{-# SCC "execAtomically.go.BranchFrame" #-} do
-- Revert all the TVar writes within this orElse
!_ <- traverse_ (\(SomeTVar tvar) -> revertTVar tvar) written
-- Execute the orElse right hand with an empty written set
let ctl'' = BranchFrame EmptyStmA k writtenOuter writtenOuterSeq createdOuterSeq ctl'
go ctl'' read Map.empty [] [] nextVid b

BranchFrame _ _k writtenOuter writtenOuterSeq createdOuterSeq ctl' ->
{-# SCC "execAtomically.go.OrElseRightFrame" #-} do
{-# SCC "execAtomically.go.BranchFrame" #-} do
-- Revert all the TVar writes within this orElse branch
!_ <- traverse_ (\(SomeTVar tvar) -> revertTVar tvar) written
-- Skip the continuation and propagate the retry into the outer frame
Expand Down
4 changes: 2 additions & 2 deletions io-sim/src/Control/Monad/IOSimPOR/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1144,15 +1144,15 @@ execAtomically time tid tlbl nextVid0 action0 k0 =
k0 $! StmTxBlocked $! Map.elems read

BranchFrame (OrElseStmA b) k writtenOuter writtenOuterSeq createdOuterSeq ctl' ->
{-# SCC "execAtomically.go.OrElseLeftFrame" #-} do
{-# SCC "execAtomically.go.BranchFrame" #-} do
-- Revert all the TVar writes within this orElse
!_ <- traverse_ (\(SomeTVar tvar) -> revertTVar tvar) written
-- Execute the orElse right hand with an empty written set
let ctl'' = BranchFrame EmptyStmA k writtenOuter writtenOuterSeq createdOuterSeq ctl'
go ctl'' read Map.empty [] [] nextVid b

BranchFrame _ _k writtenOuter writtenOuterSeq createdOuterSeq ctl' ->
{-# SCC "execAtomically.go.OrElseRightFrame" #-} do
{-# SCC "execAtomically.go.BranchFrame" #-} do
-- Revert all the TVar writes within this orElse branch
!_ <- traverse_ (\(SomeTVar tvar) -> revertTVar tvar) written
-- Skip the continuation and propagate the retry into the outer frame
Expand Down

0 comments on commit 15366db

Please sign in to comment.