@@ -149,7 +149,7 @@ data SimState s a = SimState {
149149 timers :: ! (Timeouts s ),
150150 -- | list of clocks
151151 clocks :: ! (Map ClockId UTCTime ),
152- nextVid :: ! TVarId , -- ^ next unused 'TVarId '
152+ nextVid :: ! VarId , -- ^ next unused 'VarId '
153153 nextTmid :: ! TimeoutId -- ^ next unused 'TimeoutId'
154154 }
155155
@@ -161,7 +161,7 @@ initialState =
161161 curTime = Time 0 ,
162162 timers = PSQ. empty,
163163 clocks = Map. singleton (ClockId [] ) epoch1970,
164- nextVid = TVarId 0 ,
164+ nextVid = 0 ,
165165 nextTmid = TimeoutId 0
166166 }
167167 where
@@ -358,7 +358,7 @@ schedule !thread@Thread{
358358 error " schedule: StartTimeout: Impossible happened"
359359
360360 StartTimeout d action' k -> do
361- ! lock <- TMVar <$> execNewTVar nextVid (Just $! " lock-" ++ show nextTmid) Nothing
361+ ! lock <- TMVar <$> execNewTVar ( TMVarId nextVid) (Just $! " lock-" ++ show nextTmid) Nothing
362362 let ! expiry = d `addTime` time
363363 ! timers' = PSQ. insert nextTmid expiry (TimerTimeout tid nextTmid lock) timers
364364 ! thread' = thread { threadControl =
@@ -376,18 +376,18 @@ schedule !thread@Thread{
376376 schedule thread' simstate { timers = PSQ. delete tmid timers }
377377
378378 RegisterDelay d k | d < 0 -> do
379- ! tvar <- execNewTVar nextVid
379+ ! tvar <- execNewTVar ( TVarId nextVid)
380380 (Just $! " <<timeout " ++ show (unTimeoutId nextTmid) ++ " >>" )
381381 True
382382 let ! expiry = d `addTime` time
383383 ! thread' = thread { threadControl = ThreadControl (k tvar) ctl }
384384 trace <- schedule thread' simstate { nextVid = succ nextVid }
385- return (SimTrace time tid tlbl (EventRegisterDelayCreated nextTmid nextVid expiry) $
385+ return (SimTrace time tid tlbl (EventRegisterDelayCreated nextTmid ( TVarId nextVid) expiry) $
386386 SimTrace time tid tlbl (EventRegisterDelayFired nextTmid) $
387387 trace)
388388
389389 RegisterDelay d k -> do
390- ! tvar <- execNewTVar nextVid
390+ ! tvar <- execNewTVar ( TVarId nextVid)
391391 (Just $! " <<timeout " ++ show (unTimeoutId nextTmid) ++ " >>" )
392392 False
393393 let ! expiry = d `addTime` time
@@ -397,7 +397,7 @@ schedule !thread@Thread{
397397 , nextVid = succ nextVid
398398 , nextTmid = succ nextTmid }
399399 return (SimTrace time tid tlbl
400- (EventRegisterDelayCreated nextTmid nextVid expiry) trace)
400+ (EventRegisterDelayCreated nextTmid ( TVarId nextVid) expiry) trace)
401401
402402 ThreadDelay d k | d < 0 -> do
403403 let ! expiry = d `addTime` time
@@ -424,12 +424,12 @@ schedule !thread@Thread{
424424 ! expiry = d `addTime` time
425425 ! thread' = thread { threadControl = ThreadControl (k t) ctl }
426426 trace <- schedule thread' simstate { nextTmid = succ nextTmid }
427- return (SimTrace time tid tlbl (EventTimerCreated nextTmid nextVid expiry) $
427+ return (SimTrace time tid tlbl (EventTimerCreated nextTmid ( TVarId nextVid) expiry) $
428428 SimTrace time tid tlbl (EventTimerCancelled nextTmid) $
429429 trace)
430430
431431 NewTimeout d k -> do
432- ! tvar <- execNewTVar nextVid
432+ ! tvar <- execNewTVar ( TVarId nextVid)
433433 (Just $! " <<timeout-state " ++ show (unTimeoutId nextTmid) ++ " >>" )
434434 TimeoutPending
435435 let ! expiry = d `addTime` time
@@ -439,7 +439,7 @@ schedule !thread@Thread{
439439 trace <- schedule thread' simstate { timers = timers'
440440 , nextVid = succ nextVid
441441 , nextTmid = succ nextTmid }
442- return (SimTrace time tid tlbl (EventTimerCreated nextTmid nextVid expiry) trace)
442+ return (SimTrace time tid tlbl (EventTimerCreated nextTmid ( TVarId nextVid) expiry) trace)
443443
444444 CancelTimeout (Timeout tvar tmid) k -> do
445445 let ! timers' = PSQ. delete tmid timers
@@ -1030,7 +1030,7 @@ execAtomically :: forall s a c.
10301030 Time
10311031 -> IOSimThreadId
10321032 -> Maybe ThreadLabel
1033- -> TVarId
1033+ -> VarId
10341034 -> StmA s a
10351035 -> (StmTxResult s a -> ST s (SimTrace c ))
10361036 -> ST s (SimTrace c )
@@ -1043,7 +1043,7 @@ execAtomically !time !tid !tlbl !nextVid0 !action0 !k0 =
10431043 -> Map TVarId (SomeTVar s ) -- set of vars written
10441044 -> [SomeTVar s ] -- vars written in order (no dups)
10451045 -> [SomeTVar s ] -- vars created in order
1046- -> TVarId -- var fresh name supply
1046+ -> VarId -- var fresh name supply
10471047 -> StmA s b
10481048 -> ST s (SimTrace c )
10491049 go ! ctl ! read ! written ! writtenSeq ! createdSeq ! nextVid ! action =
@@ -1145,8 +1145,8 @@ execAtomically !time !tid !tlbl !nextVid0 !action0 !k0 =
11451145 let ctl' = BranchFrame (OrElseStmA b) k written writtenSeq createdSeq ctl
11461146 go ctl' read Map. empty [] [] nextVid a
11471147
1148- NewTVar ! mbLabel x k -> do
1149- ! v <- execNewTVar nextVid mbLabel x
1148+ NewTVar mkId ! mbLabel x k -> do
1149+ ! v <- execNewTVar (mkId nextVid) mbLabel x
11501150 go ctl read written writtenSeq (SomeTVar v : createdSeq) (succ nextVid) (k v)
11511151
11521152 LabelTVar ! label tvar k -> do
@@ -1229,14 +1229,14 @@ execAtomically' = go Map.empty
12291229
12301230
12311231execNewTVar :: TVarId -> Maybe String -> a -> ST s (TVar s a )
1232- execNewTVar nextVid ! mbLabel x = do
1232+ execNewTVar ! tvarId ! mbLabel x = do
12331233 ! tvarLabel <- newSTRef mbLabel
12341234 ! tvarCurrent <- newSTRef x
12351235 ! tvarUndo <- newSTRef $! []
12361236 ! tvarBlocked <- newSTRef ([] , Set. empty)
12371237 ! tvarVClock <- newSTRef $! VectorClock Map. empty
12381238 ! tvarTrace <- newSTRef $! Nothing
1239- return TVar {tvarId = nextVid , tvarLabel,
1239+ return TVar {tvarId, tvarLabel,
12401240 tvarCurrent, tvarUndo, tvarBlocked, tvarVClock,
12411241 tvarTrace}
12421242
0 commit comments