diff options
author | dons@cse.unsw.edu.au <unknown> | 2006-05-06 06:10:29 +0000 |
---|---|---|
committer | dons@cse.unsw.edu.au <unknown> | 2006-05-06 06:10:29 +0000 |
commit | 916d10f8e6e840cc0aabf739aa221c9851db1f31 (patch) | |
tree | 39e455b0eb64bc2d0d58041dde355010b1554247 /libraries/base/System/Console | |
parent | 5dc6d8aa5d148a5a81356f4babd6cf2dd2d7a556 (diff) | |
download | haskell-916d10f8e6e840cc0aabf739aa221c9851db1f31.tar.gz |
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.
Diffstat (limited to 'libraries/base/System/Console')
0 files changed, 0 insertions, 0 deletions