commit ghc-memory for openSUSE:Factory
Hello community,
here is the log from the commit of package ghc-memory for openSUSE:Factory checked in at 2016-01-28 17:23:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-memory (Old)
and /work/SRC/openSUSE:Factory/.ghc-memory.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-memory"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-memory/ghc-memory.changes 2016-01-07 00:25:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-memory.new/ghc-memory.changes 2016-01-28 17:24:53.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Jan 15 10:04:57 UTC 2016 - mimi.vx@gmail.com
+
+- update 0.11
+
+-------------------------------------------------------------------
Old:
----
memory-0.10.tar.gz
New:
----
memory-0.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-memory.spec ++++++
--- /var/tmp/diff_new_pack.UOWviT/_old 2016-01-28 17:24:54.000000000 +0100
+++ /var/tmp/diff_new_pack.UOWviT/_new 2016-01-28 17:24:54.000000000 +0100
@@ -21,7 +21,7 @@
%bcond_with tests
Name: ghc-memory
-Version: 0.10
+Version: 0.11
Release: 0
Summary: Memory and related abtraction stuff
License: BSD-3-Clause
++++++ memory-0.10.tar.gz -> memory-0.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/memory-0.10/Data/ByteArray/ScrubbedBytes.hs new/memory-0.11/Data/ByteArray/ScrubbedBytes.hs
--- old/memory-0.10/Data/ByteArray/ScrubbedBytes.hs 2015-09-08 15:28:21.000000000 +0200
+++ new/memory-0.11/Data/ByteArray/ScrubbedBytes.hs 2016-01-12 23:28:28.000000000 +0100
@@ -64,10 +64,29 @@
| otherwise = IO $ \s ->
case newAlignedPinnedByteArray# sz 8# s of
(# s1, mbarr #) ->
- let !scrubber = getScrubber sz
+ let !scrubber = (getScrubber sz) (byteArrayContents# (unsafeCoerce# mbarr))
!mba = ScrubbedBytes mbarr
- in case mkWeak# mbarr () (scrubber (byteArrayContents# (unsafeCoerce# mbarr)) >> touchScrubbedBytes mba) s1 of
+ in case mkWeak# mbarr () (finalize scrubber mba) s1 of
(# s2, _ #) -> (# s2, mba #)
+ where
+#if __GLASGOW_HASKELL__ > 800
+ finalize :: (State# RealWorld -> State# RealWorld) -> ScrubbedBytes -> State# RealWorld -> State# RealWorld
+ finalize scrubber mba@(ScrubbedBytes _) = \s1 ->
+ case scrubber s1 of
+ s2 -> touch# mba s2
+#elif __GLASGOW_HASKELL__ >= 800
+ finalize :: (State# RealWorld -> State# RealWorld) -> ScrubbedBytes -> State# RealWorld -> (# State# RealWorld, () #)
+ finalize scrubber mba@(ScrubbedBytes _) = \s1 ->
+ case scrubber s1 of
+ s2 -> case touch# mba s2 of
+ s3 -> (# s3, () #)
+#else
+ finalize :: (State# RealWorld -> State# RealWorld) -> ScrubbedBytes -> IO ()
+ finalize scrubber mba@(ScrubbedBytes _) = IO $ \s1 -> do
+ case scrubber s1 of
+ s2 -> case touch# mba s2 of
+ s3 -> (# s3, () #)
+#endif
scrubbedBytesAllocRet :: Int -> (Ptr p -> IO a) -> IO (a, ScrubbedBytes)
scrubbedBytesAllocRet sz f = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/memory-0.10/Data/Memory/Internal/CompatPrim.hs new/memory-0.11/Data/Memory/Internal/CompatPrim.hs
--- old/memory-0.10/Data/Memory/Internal/CompatPrim.hs 2015-09-08 15:28:21.000000000 +0200
+++ new/memory-0.11/Data/Memory/Internal/CompatPrim.hs 2016-01-12 23:28:28.000000000 +0100
@@ -75,10 +75,10 @@
-> (Int# -> a) -- ^ if it divided by 8, the argument is the number of 8 bytes words
-> (Int# -> a) -- ^ if it doesn't, just the number of bytes
-> a
-#if __GLASGOW_HASKELL__ >= 740
+#if __GLASGOW_HASKELL__ > 704
eitherDivideBy8# v f8 f1 =
- let !(# q, r #) = quotRemInt v 8#
- in if booleanPrim (r ==# 0)
+ let !(# q, r #) = quotRemInt# v 8#
+ in if booleanPrim (r ==# 0#)
then f8 q
else f1 v
#else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/memory-0.10/Data/Memory/Internal/Scrubber.hs new/memory-0.11/Data/Memory/Internal/Scrubber.hs
--- old/memory-0.10/Data/Memory/Internal/Scrubber.hs 2015-09-08 15:28:21.000000000 +0200
+++ new/memory-0.11/Data/Memory/Internal/Scrubber.hs 2016-01-12 23:28:28.000000000 +0100
@@ -15,10 +15,9 @@
) where
import GHC.Prim
-import GHC.IO
import Data.Memory.Internal.CompatPrim (booleanPrim)
-getScrubber :: Int# -> (Addr# -> IO ())
+getScrubber :: Int# -> (Addr# -> State# RealWorld -> State# RealWorld)
getScrubber sz
| booleanPrim (sz ==# 4#) = scrub4
| booleanPrim (sz ==# 8#) = scrub8
@@ -26,31 +25,31 @@
| booleanPrim (sz ==# 32#) = scrub32
| otherwise = scrubBytes sz
where
- scrub4 a = IO $ \s -> (# writeWord32OffAddr# a 0# 0## s, () #)
+ scrub4 a = \s -> writeWord32OffAddr# a 0# 0## s
#if WORD_SIZE_IN_BITS == 64
- scrub8 a = IO $ \s -> (# writeWord64OffAddr# a 0# 0## s, () #)
- scrub16 a = IO $ \s1 ->
+ scrub8 a = \s -> writeWord64OffAddr# a 0# 0## s
+ scrub16 a = \s1 ->
let !s2 = writeWord64OffAddr# a 0# 0## s1
!s3 = writeWord64OffAddr# a 1# 0## s2
- in (# s3, () #)
- scrub32 a = IO $ \s1 ->
+ in s3
+ scrub32 a = \s1 ->
let !s2 = writeWord64OffAddr# a 0# 0## s1
!s3 = writeWord64OffAddr# a 1# 0## s2
!s4 = writeWord64OffAddr# a 2# 0## s3
!s5 = writeWord64OffAddr# a 3# 0## s4
- in (# s5, () #)
+ in s5
#else
- scrub8 a = IO $ \s1 ->
+ scrub8 a = \s1 ->
let !s2 = writeWord32OffAddr# a 0# 0## s1
!s3 = writeWord32OffAddr# a 1# 0## s2
- in (# s3, () #)
- scrub16 a = IO $ \s1 ->
+ in s3
+ scrub16 a = \s1 ->
let !s2 = writeWord32OffAddr# a 0# 0## s1
!s3 = writeWord32OffAddr# a 1# 0## s2
!s4 = writeWord32OffAddr# a 2# 0## s3
!s5 = writeWord32OffAddr# a 3# 0## s4
- in (# s5, () #)
- scrub32 a = IO $ \s1 ->
+ in s5
+ scrub32 a = \s1 ->
let !s2 = writeWord32OffAddr# a 0# 0## s1
!s3 = writeWord32OffAddr# a 1# 0## s2
!s4 = writeWord32OffAddr# a 2# 0## s3
@@ -59,11 +58,11 @@
!s7 = writeWord32OffAddr# a 5# 0## s6
!s8 = writeWord32OffAddr# a 6# 0## s7
!s9 = writeWord32OffAddr# a 7# 0## s8
- in (# s9, () #)
+ in s9
#endif
-scrubBytes :: Int# -> Addr# -> IO ()
-scrubBytes sz8 addr = IO $ \s -> (# loop sz8 addr s, () #)
+scrubBytes :: Int# -> Addr# -> State# RealWorld -> State# RealWorld
+scrubBytes sz8 addr = \s -> loop sz8 addr s
where loop :: Int# -> Addr# -> State# RealWorld -> State# RealWorld
loop n a s
| booleanPrim (n ==# 0#) = s
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/memory-0.10/memory.cabal new/memory-0.11/memory.cabal
--- old/memory-0.10/memory.cabal 2015-09-08 15:28:21.000000000 +0200
+++ new/memory-0.11/memory.cabal 2016-01-12 23:28:28.000000000 +0100
@@ -1,5 +1,5 @@
Name: memory
-Version: 0.10
+Version: 0.11
Synopsis: memory and related abstraction stuff
Description:
Chunk of memory, polymorphic byte array management and manipulation
@@ -13,6 +13,8 @@
* Aliasing with endianness support.
.
* Encoding : Base16, Base32, Base64.
+ .
+ * Hashing : FNV, SipHash
License: BSD3
License-file: LICENSE
Copyright: Vincent Hanquez
participants (1)
-
root@hilbert.suse.de