@@ -173,8 +173,8 @@ cloneEnv (Env NoFork gref0 gen0) = do
173173 fs <- cloneSmallMutableArray fs0 0 (sizeofSmallMutableArray fs0)
174174 gen <- cloneForkIdGen gen0
175175 gref <- newIORef $ EnvRef n es fs
176− cache <- newIORef IM.empty
177− relinkData gref gen cache es fs n
176+ store <- newIORef IM.empty
177+ relinkData gref gen store es fs n
178178 pure $ Env NoFork gref gen
179179cloneEnv (Env forks@(Forks _ baseIx lref0 _) gref0 gen0) = do
180180 EnvRef _ es0 fs0 <- readIORef gref0
@@ -187,8 +187,8 @@ cloneEnv (Env forks@(Forks _ baseIx lref0 _) gref0 gen0) = do
187187 copySmallMutableArray fs 0 fs0 0 baseN
188188 gen <- cloneForkIdGen gen0
189189 gref <- newIORef $ EnvRef len es fs
190− cache <- newIORef IM.empty
191− relinkData gref gen cache es fs n
190+ store <- newIORef IM.empty
191+ relinkData gref gen store es fs n
192192 -- The forked environment is flattened and becomes the global one.
193193 pure $ Env NoFork gref gen
194194{-# NOINLINE cloneEnv #-}
@@ -238,18 +238,18 @@ copyForks es fs len = \case
238238 copySmallMutableArray fs baseIx fs0 0 n
239239 copyForks es fs baseIx forks
240240
241−type EnvRefCache = IORef (IM.IntMap (IORef EnvRef))
241+type EnvRefStore = IORef (IM.IntMap (IORef EnvRef))
242242
243243-- | Relink local environments hiding in the handlers.
244244relinkData
245245 :: IORef EnvRef
246246 -> ForkIdGen
247− -> EnvRefCache
247+ -> EnvRefStore
248248 -> SmallMutableArray RealWorld Any
249249 -> SmallMutableArray RealWorld Any
250250 -> Int
251251 -> IO ()
252−relinkData gref gen cache es fs = \case
252+relinkData gref gen store es fs = \case
253253 0 -> pure ()
254254 n -> do
255255 let i = n - 1
@@ -257,41 +257,41 @@ relinkData gref gen cache es fs = \case
257257 readSmallArray es i
258258 >>= f relinkEnv . fromAny
259259 >>= writeSmallArray es i . toAny
260− relinkData gref gen cache es fs i
260+ relinkData gref gen store es fs i
261261 where
262262 relinkEnv :: Env es -> IO (Env es)
263− relinkEnv (Env forks _ _) = Env <$> relinkForks gref gen cache forks
263+ relinkEnv (Env forks _ _) = Env <$> relinkForks gref gen store forks
264264 <*> pure gref
265265 <*> pure gen
266266
267−relinkForks :: IORef EnvRef -> ForkIdGen -> EnvRefCache -> Forks -> IO Forks
268−relinkForks gref gen cache = \case
267+relinkForks :: IORef EnvRef -> ForkIdGen -> EnvRefStore -> Forks -> IO Forks
268+relinkForks gref gen store = \case
269269 NoFork -> pure NoFork
270270 Forks fid baseIx lref0 forks -> do
271271 -- A specific IORef EnvRef can be held by more than one local environment
272272 -- and we need to replace all its occurences with the same, new value
273273 -- containing its clone.
274− readIORef cache >>= pure . IM.lookup (unForkId fid) >>= \case
274+ readIORef store >>= pure . IM.lookup (unForkId fid) >>= \case
275275 Just lref -> Forks fid baseIx <$> pure lref
276− <*> relinkForks gref gen cache forks
277− Nothing -> Forks fid baseIx <$> cloneEnvRef gref gen cache fid lref0
278− <*> relinkForks gref gen cache forks
276+ <*> relinkForks gref gen store forks
277+ Nothing -> Forks fid baseIx <$> cloneEnvRef gref gen store fid lref0
278+ <*> relinkForks gref gen store forks
279279
280−-- | Clone the local 'EnvRef' and put it in a cache.
280+-- | Clone the local 'EnvRef' and put it in a store.
281281cloneEnvRef
282282 :: IORef EnvRef
283283 -> ForkIdGen
284− -> EnvRefCache
284+ -> EnvRefStore
285285 -> ForkId
286286 -> IORef EnvRef
287287 -> IO (IORef EnvRef)
288−cloneEnvRef gref gen cache fid lref0 = do
288+cloneEnvRef gref gen store fid lref0 = do
289289 EnvRef n es0 fs0 <- readIORef lref0
290290 es <- cloneSmallMutableArray es0 0 (sizeofSmallMutableArray es0)
291291 fs <- cloneSmallMutableArray fs0 0 (sizeofSmallMutableArray fs0)
292292 ref <- newIORef $ EnvRef n es fs
293− modifyIORef' cache $ IM.insert (unForkId fid) ref
294− relinkData gref gen cache es fs n
293+ modifyIORef' store $ IM.insert (unForkId fid) ref
294+ relinkData gref gen store es fs n
295295 pure ref
296296
297297----------------------------------------