Timeline


and

May 11, 2006:

7:44 AM Ticket #769 (Heap profiling: time tag format) closed by simonmar
fixed: Thanks. #664 was fixed, but the fix was not merged into the 6.4 branch …

May 10, 2006:

10:11 PM Ticket #769 (Heap profiling: time tag format) created by guest
If you enable heap profiling and then use hp2ps to generate a graph it …
4:33 AM Changeset in base [7618028]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Don Stewart <dons@…>
Some small optimisations, generalise the type of unfold Tue May 9 22:36:29 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Surely the error function should not be inlined. Tue May 9 22:35:53 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Reorder memory writes for better cache locality. Tue May 9 23:28:09 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Generalise the type of unfoldrN The type of unfoldrN was overly constrained: unfoldrN :: Int -> (Word8 -> Maybe (Word8, Word8)) -> Word8 -> ByteString if we compare that to unfoldr: unfoldr :: (b -> Maybe (a, b)) -> b -> [a] So we can generalise unfoldrN to this type: unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> ByteString and something similar for the .Char8 version. If people really do want to use it a lot with Word8/Char then perhaps we should add a specialise pragma. Wed May 10 13:26:40 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Add foldl', and thus a fusion rule for length . {map,filter,fold}, that avoids creating an array at all if the end of the pipeline is a 'length' reduction **END OF DESCRIPTION*** Place the long patch description above the ***END OF DESCRIPTION*** marker. The first line of this file will be the patch name. This patch contains the following changes: M ./Data/ByteString.hs -8 +38 M ./Data/ByteString/Char8.hs -6 +12
4:33 AM Changeset in directory [7618028]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Don Stewart <dons@…>
Some small optimisations, generalise the type of unfold Tue May 9 22:36:29 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Surely the error function should not be inlined. Tue May 9 22:35:53 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Reorder memory writes for better cache locality. Tue May 9 23:28:09 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Generalise the type of unfoldrN The type of unfoldrN was overly constrained: unfoldrN :: Int -> (Word8 -> Maybe (Word8, Word8)) -> Word8 -> ByteString if we compare that to unfoldr: unfoldr :: (b -> Maybe (a, b)) -> b -> [a] So we can generalise unfoldrN to this type: unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> ByteString and something similar for the .Char8 version. If people really do want to use it a lot with Word8/Char then perhaps we should add a specialise pragma. Wed May 10 13:26:40 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Add foldl', and thus a fusion rule for length . {map,filter,fold}, that avoids creating an array at all if the end of the pipeline is a 'length' reduction **END OF DESCRIPTION*** Place the long patch description above the ***END OF DESCRIPTION*** marker. The first line of this file will be the patch name. This patch contains the following changes: M ./Data/ByteString.hs -8 +38 M ./Data/ByteString/Char8.hs -6 +12
4:33 AM Changeset in process [7618028]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Don Stewart <dons@…>
Some small optimisations, generalise the type of unfold Tue May 9 22:36:29 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Surely the error function should not be inlined. Tue May 9 22:35:53 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Reorder memory writes for better cache locality. Tue May 9 23:28:09 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> * Generalise the type of unfoldrN The type of unfoldrN was overly constrained: unfoldrN :: Int -> (Word8 -> Maybe (Word8, Word8)) -> Word8 -> ByteString if we compare that to unfoldr: unfoldr :: (b -> Maybe (a, b)) -> b -> [a] So we can generalise unfoldrN to this type: unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> ByteString and something similar for the .Char8 version. If people really do want to use it a lot with Word8/Char then perhaps we should add a specialise pragma. Wed May 10 13:26:40 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Add foldl', and thus a fusion rule for length . {map,filter,fold}, that avoids creating an array at all if the end of the pipeline is a 'length' reduction **END OF DESCRIPTION*** Place the long patch description above the ***END OF DESCRIPTION*** marker. The first line of this file will be the patch name. This patch contains the following changes: M ./Data/ByteString.hs -8 +38 M ./Data/ByteString/Char8.hs -6 +12
12:18 AM Changeset in base [a9add2f]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Ross Paterson <ross@…>
portable implementation of WordPtr/IntPtr for non-GHC plus much tweaking of imports to avoid cycles
12:18 AM Changeset in directory [a9add2f]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Ross Paterson <ross@…>
portable implementation of WordPtr/IntPtr for non-GHC plus much tweaking of imports to avoid cycles
12:18 AM Changeset in process [a9add2f]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Ross Paterson <ross@…>
portable implementation of WordPtr/IntPtr for non-GHC plus much tweaking of imports to avoid cycles

May 9, 2006:

6:07 PM ArmLinuxGhc edited by guest
(diff)
9:48 AM Ticket #768 (Improve performance of binary serialisation for interface files) created by simonmar
utils/Binary.hs can be made significantly faster. See: …
9:26 AM Changeset in base [8b36758]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Simon Marlow <simonmar@…>
add WordPtr and IntPtr types to Foreign.Ptr, with associated conversions As suggested by John Meacham. I had to move the Show instance for Ptr into GHC.ForeignPtr to avoid recursive dependencies.
9:26 AM Changeset in directory [8b36758]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Simon Marlow <simonmar@…>
add WordPtr and IntPtr types to Foreign.Ptr, with associated conversions As suggested by John Meacham. I had to move the Show instance for Ptr into GHC.ForeignPtr to avoid recursive dependencies.
9:26 AM Changeset in process [8b36758]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Simon Marlow <simonmar@…>
add WordPtr and IntPtr types to Foreign.Ptr, with associated conversions As suggested by John Meacham. I had to move the Show instance for Ptr into GHC.ForeignPtr to avoid recursive dependencies.
9:24 AM Ticket #764 (DESTDIR Makefile variable) reopened by guest
9:24 AM Changeset in base [d5893dc]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Simon Marlow <simonmar@…>
add CIntPtr, CUIntPtr, CIntMax, CUIntMax types
9:24 AM Changeset in directory [d5893dc]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Simon Marlow <simonmar@…>
add CIntPtr, CUIntPtr, CIntMax, CUIntMax types
9:24 AM Changeset in process [d5893dc]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Simon Marlow <simonmar@…>
add CIntPtr, CUIntPtr, CIntMax, CUIntMax types
8:27 AM Changeset in base [71cba91]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Simon Marlow <simonmar@…>
add GHC.Dynamic
8:27 AM Changeset in directory [71cba91]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Simon Marlow <simonmar@…>
add GHC.Dynamic
8:27 AM Changeset in process [71cba91]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Simon Marlow <simonmar@…>
add GHC.Dynamic
2:34 AM Changeset in base [735f95c]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Don Stewart <dons@…>
Two things. #if defined(__GLASGOW_HASKELL__) on INLINE [n] pragmas (for jhc). And careful use of INLINE on words/unwords halves runtime for those functions
2:34 AM Changeset in directory [735f95c]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Don Stewart <dons@…>
Two things. #if defined(__GLASGOW_HASKELL__) on INLINE [n] pragmas (for jhc). And careful use of INLINE on words/unwords halves runtime for those functions
2:34 AM Changeset in process [735f95c]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Don Stewart <dons@…>
Two things. #if defined(__GLASGOW_HASKELL__) on INLINE [n] pragmas (for jhc). And careful use of INLINE on words/unwords halves runtime for those functions

May 8, 2006:

2:27 PM Changeset in base [f5890dc]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by simonpj@…>
Make length a good consumer Make length into a good consumer. Fixes Trac bug #707. (Before length simply didn't use foldr.)
2:27 PM Changeset in base [43bfd29]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by simonpj@…>
Make length a good consumer Make length into a good consumer. Fixes Trac bug #707. (Before length simply didn't use foldr.)
2:27 PM Changeset in directory [f5890dc]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by simonpj@…>
Make length a good consumer Make length into a good consumer. Fixes Trac bug #707. (Before length simply didn't use foldr.)
2:27 PM Changeset in directory [43bfd29]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by simonpj@…>
Make length a good consumer Make length into a good consumer. Fixes Trac bug #707. (Before length simply didn't use foldr.)
2:27 PM Changeset in process [f5890dc]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by simonpj@…>
Make length a good consumer Make length into a good consumer. Fixes Trac bug #707. (Before length simply didn't use foldr.)
2:27 PM Changeset in process [43bfd29]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by simonpj@…>
Make length a good consumer Make length into a good consumer. Fixes Trac bug #707. (Before length simply didn't use foldr.)
2:25 PM Changeset in base [f59ef99]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by simonpj@…>
Trim imports
2:25 PM Changeset in directory [f59ef99]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by simonpj@…>
Trim imports
2:25 PM Changeset in process [f59ef99]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by simonpj@…>
Trim imports
2:25 PM Changeset in base [19dfd6f]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by simonpj@…>
Make unsafePerformIO lazy The stricteness analyser used to have a HACK which ensured that NOINLNE things were not strictness-analysed. The reason was unsafePerformIO. Left to itself, the strictness analyser would discover this strictness for unsafePerformIO: unsafePerformIO: C(U(AV)) But then consider this sub-expression unsafePerformIO (\s -> let r = f x in case writeIORef v r s of (# s1, _ #) -> (# s1, r #) The strictness analyser will now find that r is sure to be eval'd, and may then hoist it out. This makes tests/lib/should_run/memo002 deadlock. Solving this by making all NOINLINE things have no strictness info is overkill. In particular, it's overkill for runST, which is perfectly respectable. Consider f x = runST (return x) This should be strict in x. So the new plan is to define unsafePerformIO using the 'lazy' combinator: unsafePerformIO (IO m) = lazy (case m realWorld# of (# _, r #) -> r) Remember, 'lazy' is a wired-in identity-function Id, of type a->a, which is magically NON-STRICT, and is inlined after strictness analysis. So unsafePerformIO will look non-strict, and that's what we want.
2:25 PM Changeset in directory [19dfd6f]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by simonpj@…>
Make unsafePerformIO lazy The stricteness analyser used to have a HACK which ensured that NOINLNE things were not strictness-analysed. The reason was unsafePerformIO. Left to itself, the strictness analyser would discover this strictness for unsafePerformIO: unsafePerformIO: C(U(AV)) But then consider this sub-expression unsafePerformIO (\s -> let r = f x in case writeIORef v r s of (# s1, _ #) -> (# s1, r #) The strictness analyser will now find that r is sure to be eval'd, and may then hoist it out. This makes tests/lib/should_run/memo002 deadlock. Solving this by making all NOINLINE things have no strictness info is overkill. In particular, it's overkill for runST, which is perfectly respectable. Consider f x = runST (return x) This should be strict in x. So the new plan is to define unsafePerformIO using the 'lazy' combinator: unsafePerformIO (IO m) = lazy (case m realWorld# of (# _, r #) -> r) Remember, 'lazy' is a wired-in identity-function Id, of type a->a, which is magically NON-STRICT, and is inlined after strictness analysis. So unsafePerformIO will look non-strict, and that's what we want.
2:25 PM Changeset in process [19dfd6f]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by simonpj@…>
Make unsafePerformIO lazy The stricteness analyser used to have a HACK which ensured that NOINLNE things were not strictness-analysed. The reason was unsafePerformIO. Left to itself, the strictness analyser would discover this strictness for unsafePerformIO: unsafePerformIO: C(U(AV)) But then consider this sub-expression unsafePerformIO (\s -> let r = f x in case writeIORef v r s of (# s1, _ #) -> (# s1, r #) The strictness analyser will now find that r is sure to be eval'd, and may then hoist it out. This makes tests/lib/should_run/memo002 deadlock. Solving this by making all NOINLINE things have no strictness info is overkill. In particular, it's overkill for runST, which is perfectly respectable. Consider f x = runST (return x) This should be strict in x. So the new plan is to define unsafePerformIO using the 'lazy' combinator: unsafePerformIO (IO m) = lazy (case m realWorld# of (# _, r #) -> r) Remember, 'lazy' is a wired-in identity-function Id, of type a->a, which is magically NON-STRICT, and is inlined after strictness analysis. So unsafePerformIO will look non-strict, and that's what we want.
12:23 PM Changeset in base [b9756aa9]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Don Stewart <dons@…>
Sync with FPS head. Mon May 8 10:40:14 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Igloo, dcoutts Mon May 8 16:09:41 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Import nicer loop/loop fusion rule from ghc-ndp Mon May 8 17:36:07 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Fix stack leak in split on > 60M strings Mon May 8 17:50:13 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Try same fix for stack overflow in elemIndices
12:23 PM Changeset in directory [b9756aa9]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Don Stewart <dons@…>
Sync with FPS head. Mon May 8 10:40:14 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Igloo, dcoutts Mon May 8 16:09:41 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Import nicer loop/loop fusion rule from ghc-ndp Mon May 8 17:36:07 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Fix stack leak in split on > 60M strings Mon May 8 17:50:13 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Try same fix for stack overflow in elemIndices
12:23 PM Changeset in process [b9756aa9]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Don Stewart <dons@…>
Sync with FPS head. Mon May 8 10:40:14 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Igloo, dcoutts Mon May 8 16:09:41 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Import nicer loop/loop fusion rule from ghc-ndp Mon May 8 17:36:07 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Fix stack leak in split on > 60M strings Mon May 8 17:50:13 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Try same fix for stack overflow in elemIndices
11:08 AM Ticket #765 (x86_64 NCG goes via unsigned for FFI Int return types.) closed by simonmar
invalid: This isn't a bug: the Haskell Int type corresponds to HsInt, …
10:12 AM Ticket #767 (withMVar family have a bug) created by simonmar
withMVar is defined like this: […] unfortunately this has a …
1:03 AM Changeset in base [3332385]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Don Stewart <dons@…>
Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Duncan and Ian
1:03 AM Changeset in directory [3332385]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Don Stewart <dons@…>
Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Duncan and Ian
1:03 AM Changeset in process [3332385]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Don Stewart <dons@…>
Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Duncan and Ian

May 7, 2006:

6:26 PM Ticket #766 (GHC 6.4.2 won't build on Mac OS X) created by guest
Problem I'm running Mac OS X Tiger (10.4.6) and trying to build GHC …
4:49 PM Ticket #715 (OpenAL package fails to compile with older headers) closed by panne
fixed
3:50 PM Changeset in base [8b0df2f]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Sven Panne <sven.panne@…>
Fixed import list syntax
3:50 PM Changeset in directory [8b0df2f]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Sven Panne <sven.panne@…>
Fixed import list syntax
3:50 PM Changeset in process [8b0df2f]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Sven Panne <sven.panne@…>
Fixed import list syntax
2:46 PM Ticket #765 (x86_64 NCG goes via unsigned for FFI Int return types.) created by duncan.coutts@…
With ghc-6.4.2 on x86_64 and using the -fasm NCG we get the wrong answer …
4:23 AM Changeset in base [4a3acde]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by dons@…>
Faster filterF, filterNotByte
4:23 AM Changeset in directory [4a3acde]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by dons@…>
Faster filterF, filterNotByte
4:23 AM Changeset in process [4a3acde]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by dons@…>
Faster filterF, filterNotByte
3:30 AM Changeset in base [d4df415]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by dons@…>
Much faster find, findIndex. Hint from sjanssen
3:30 AM Changeset in directory [d4df415]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by dons@…>
Much faster find, findIndex. Hint from sjanssen
3:30 AM Changeset in process [d4df415]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by dons@…>
Much faster find, findIndex. Hint from sjanssen

May 6, 2006:

11:42 PM ArmLinuxGhc edited by guest
(diff)
11:41 PM ArmLinuxGhc edited by guest
(diff)
11:08 AM Ticket #473 (getOpt' checks "non-option options") closed by panne
fixed: The bug has already been fixed in the 6.4.2 branch, and it is now fixed in …
11:05 AM Changeset in base [087ce7b]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by Sven Panne <sven.panne@…>
Merge "unrecognized long opt" fix from 6.4.2
11:05 AM Changeset in directory [087ce7b]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by Sven Panne <sven.panne@…>
Merge "unrecognized long opt" fix from 6.4.2
11:05 AM Changeset in process [087ce7b7]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by Sven Panne <sven.panne@…>
Merge "unrecognized long opt" fix from 6.4.2
10:54 AM Ticket #764 (DESTDIR Makefile variable) closed by panne
invalid: GHC's build system already has this feature, see e.g. the RPM spec file …
6:10 AM Changeset in base [1c20544]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by dons@…>
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.
6:10 AM Changeset in directory [1c20544]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by dons@…>
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.
6:10 AM Changeset in process [1c20544]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by dons@…>
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.
Note: See TracTimeline for information about the timeline view.