Sat May 6 13:01:34 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Do loopU realloc on the Haskell heap. And add a really tough stress test
Sat May 6 12:28:58 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Use simple, 3x faster concat. Plus QC properties. Suggested by sjanssen and dcoutts
Sat May 6 15:59:31 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* dcoutt's packByte bug squashed
With inlinePerformIO, ghc head was compiling:
packByte 255 `compare` packByte 127
into roughly
case mallocByteString 2 of
ForeignPtr f internals ->
case writeWord8OffAddr# f 0 255 of _ ->
case writeWord8OffAddr# f 0 127 of _ ->
case eqAddr# f f of
False -> case compare (GHC.Prim.plusAddr# f 0)
(GHC.Prim.plusAddr# f 0)
which is rather stunning. unsafePerformIO seems to prevent whatever
magic inlining was leading to this. Only affected the head.