@@ -25,6 +25,7 @@ import Test.QuickCheck (Arbitrary, arbitrary)
27import Streamly.Internal.Data.MutByteArray hiding (encode)
27import Streamly.Internal.Data.MutByteArray hiding (encode)
28+import qualified Streamly.Internal.Data.MutByteArray as MBA
28#ifdef USE_UNBOX
29#ifdef USE_UNBOX
29import Data.Proxy (Proxy(..))
30import Data.Proxy (Proxy(..))
@@ -335,7 +336,7 @@ pokeWithSize arr val = do
335pokeTimesWithSize :: SERIALIZE_CLASS a => a -> Int -> IO ()
336pokeTimesWithSize :: SERIALIZE_CLASS a => a -> Int -> IO ()
336pokeTimesWithSize val times = do
337pokeTimesWithSize val times = do
337 let n = getSize val
338 let n = getSize val
338− arr <- newByteArray n
339+ arr <- MBA.new n
339 loopWith times pokeWithSize arr val
340 loopWith times pokeWithSize arr val
@@ -347,14 +348,14 @@ poke arr val = SERIALIZE_OP 0 arr val >> return ()
347pokeTimes :: SERIALIZE_CLASS a => a -> Int -> IO ()
348pokeTimes :: SERIALIZE_CLASS a => a -> Int -> IO ()
348pokeTimes val times = do
349pokeTimes val times = do
349 let n = getSize val
350 let n = getSize val
350− arr <- newByteArray n
351+ arr <- MBA.new n
351 loopWith times poke arr val
352 loopWith times poke arr val
353{-# INLINE encode #-}
354{-# INLINE encode #-}
354encode :: SERIALIZE_CLASS a => a -> IO ()
355encode :: SERIALIZE_CLASS a => a -> IO ()
355encode val = do
356encode val = do
356 let n = getSize val
357 let n = getSize val
357− arr <- newByteArray n
358+ arr <- MBA.new n
358 SERIALIZE_OP 0 arr val >> return ()
359 SERIALIZE_OP 0 arr val >> return ()
360{-# INLINE encodeTimes #-}
361{-# INLINE encodeTimes #-}
@@ -390,7 +391,7 @@ peek (_val, n) arr = do
390{-# INLINE peekTimes #-}
391{-# INLINE peekTimes #-}
391peekTimes :: (NFData a, SERIALIZE_CLASS a) => Int -> a -> Int -> IO ()
392peekTimes :: (NFData a, SERIALIZE_CLASS a) => Int -> a -> Int -> IO ()
392peekTimes n val times = do
393peekTimes n val times = do
393− arr <- newByteArray n
394+ arr <- MBA.new n
394 _ <- SERIALIZE_OP 0 arr val
395 _ <- SERIALIZE_OP 0 arr val
395 loopWith times peek (val, n) arr
396 loopWith times peek (val, n) arr
@@ -398,7 +399,7 @@ peekTimes n val times = do
398trip :: forall a. (NFData a, SERIALIZE_CLASS a) => a -> IO ()
399trip :: forall a. (NFData a, SERIALIZE_CLASS a) => a -> IO ()
399trip val = do
400trip val = do
400 let n = getSize val
401 let n = getSize val
401− arr <- newByteArray n
402+ arr <- MBA.new n
402 _ <- SERIALIZE_OP 0 arr val
403 _ <- SERIALIZE_OP 0 arr val
403#ifdef USE_UNBOX
404#ifdef USE_UNBOX
404 (val1 :: a) <- DESERIALIZE_OP 0 arr
405 (val1 :: a) <- DESERIALIZE_OP 0 arr