Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
-
f93d523c
by Luite Stegeman at 2026-10-15T04:56:34-04:00
3 changed files:
Changes:
| ... | ... | @@ -13,10 +13,10 @@ module Memo1 |
| 13 | 13 | where
|
| 14 | 14 | |
| 15 | 15 | import System.Mem.StableName ( StableName, makeStableName, hashStableName )
|
| 16 | -import System.Mem.Weak ( Weak, mkWeakPtr, mkWeak, deRefWeak, finalize )
|
|
| 16 | +import System.Mem.Weak ( Weak, mkWeak, deRefWeak, finalize )
|
|
| 17 | 17 | import Data.Array.IO ( IOArray, newArray, readArray, writeArray )
|
| 18 | 18 | import System.IO.Unsafe ( unsafePerformIO )
|
| 19 | -import Control.Concurrent.MVar ( MVar, newMVar, putMVar, takeMVar )
|
|
| 19 | +import Control.Concurrent.MVar ( MVar, newMVar, putMVar, takeMVar, mkWeakMVar )
|
|
| 20 | 20 | \end{code}
|
| 21 | 21 | |
| 22 | 22 | -----------------------------------------------------------------------------
|
| ... | ... | @@ -78,7 +78,7 @@ lazyMemoSized size f = |
| 78 | 78 | let (table,weak) = unsafePerformIO (
|
| 79 | 79 | do { tbl <- newArray (0,size) []
|
| 80 | 80 | ; mvar <- newMVar (size,tbl)
|
| 81 | - ; weak <- mkWeakPtr mvar (Just (table_finalizer tbl size))
|
|
| 81 | + ; weak <- mkWeakMVar mvar (table_finalizer tbl size)
|
|
| 82 | 82 | ; return (mvar,weak)
|
| 83 | 83 | })
|
| 84 | 84 | in memo' f table weak
|
| ... | ... | @@ -13,10 +13,10 @@ module Memo2 |
| 13 | 13 | where
|
| 14 | 14 | |
| 15 | 15 | import System.Mem.StableName ( StableName, makeStableName, hashStableName )
|
| 16 | -import System.Mem.Weak ( Weak, mkWeakPtr, mkWeak, deRefWeak, finalize )
|
|
| 16 | +import System.Mem.Weak ( Weak, mkWeak, deRefWeak, finalize )
|
|
| 17 | 17 | import Data.Array.IO ( IOArray, newArray, readArray, writeArray )
|
| 18 | 18 | import System.IO.Unsafe ( unsafePerformIO )
|
| 19 | -import Control.Concurrent.MVar ( MVar, newMVar, putMVar, takeMVar )
|
|
| 19 | +import Control.Concurrent.MVar ( MVar, newMVar, putMVar, takeMVar, mkWeakMVar )
|
|
| 20 | 20 | \end{code}
|
| 21 | 21 | |
| 22 | 22 | -----------------------------------------------------------------------------
|
| ... | ... | @@ -78,7 +78,7 @@ lazyMemoSized size f = |
| 78 | 78 | let (table,weak) = unsafePerformIO (
|
| 79 | 79 | do { tbl <- newArray (0,size) []
|
| 80 | 80 | ; mvar <- newMVar (size,tbl)
|
| 81 | - ; weak <- mkWeakPtr mvar (Just (table_finalizer tbl size))
|
|
| 81 | + ; weak <- mkWeakMVar mvar (table_finalizer tbl size)
|
|
| 82 | 82 | ; return (mvar,weak)
|
| 83 | 83 | })
|
| 84 | 84 | in memo' f table weak
|
| ... | ... | @@ -135,8 +135,7 @@ test('list003', when(fast(), skip), compile_and_run, ['']) |
| 135 | 135 | test('isSuffixOf', normal, compile_and_run, [''])
|
| 136 | 136 | |
| 137 | 137 | test('memo001', [extra_files(['Memo1.lhs']),
|
| 138 | - extra_run_opts('+RTS -A10k -RTS'),
|
|
| 139 | - expect_broken_for(27396, opt_ways)], multimod_compile_and_run,
|
|
| 138 | + extra_run_opts('+RTS -A10k -RTS')], multimod_compile_and_run,
|
|
| 140 | 139 | ['memo001', ''])
|
| 141 | 140 | |
| 142 | 141 | test('memo002', [extra_files(['Memo2.lhs']),
|