projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add -fwarn-lazy-unlifted-bindings to the list of flags
[ghc-hetmet.git]
/
compiler
/
utils
/
FastMutInt.lhs
diff --git
a/compiler/utils/FastMutInt.lhs
b/compiler/utils/FastMutInt.lhs
index
00aba34
..
61e3e85
100644
(file)
--- a/
compiler/utils/FastMutInt.lhs
+++ b/
compiler/utils/FastMutInt.lhs
@@
-1,10
+1,15
@@
+\begin{code}
+{-# LANGUAGE BangPatterns #-}
{-# OPTIONS -cpp #-}
{-# OPTIONS -cpp #-}
+{-# OPTIONS_GHC -O #-}
+-- We always optimise this, otherwise performance of a non-optimised
+-- compiler is severely affected
+
--
-- (c) The University of Glasgow 2002-2006
--
-- Unboxed mutable Ints
--
-- (c) The University of Glasgow 2002-2006
--
-- Unboxed mutable Ints
-\begin{code}
module FastMutInt(
FastMutInt, newFastMutInt,
readFastMutInt, writeFastMutInt,
module FastMutInt(
FastMutInt, newFastMutInt,
readFastMutInt, writeFastMutInt,
@@
-15,15
+20,20
@@
module FastMutInt(
#ifdef __GLASGOW_HASKELL__
#ifdef __GLASGOW_HASKELL__
-#include "MachDeps.h"
+#include "../includes/MachDeps.h"
#ifndef SIZEOF_HSINT
#define SIZEOF_HSINT INT_SIZE_IN_BYTES
#endif
import GHC.Base
#ifndef SIZEOF_HSINT
#define SIZEOF_HSINT INT_SIZE_IN_BYTES
#endif
import GHC.Base
-import GHC.IOBase
import GHC.Ptr
import GHC.Ptr
+#if __GLASGOW_HASKELL__ >= 611
+-- import GHC.IO ( IO(..) )
+#else
+import GHC.IOBase ( IO(..) )
+#endif
+
#else /* ! __GLASGOW_HASKELL__ */
import Data.IORef
#else /* ! __GLASGOW_HASKELL__ */
import Data.IORef
@@
-46,7
+56,7
@@
data FastMutInt = FastMutInt (MutableByteArray# RealWorld)
newFastMutInt = IO $ \s ->
case newByteArray# size s of { (# s, arr #) ->
(# s, FastMutInt arr #) }
newFastMutInt = IO $ \s ->
case newByteArray# size s of { (# s, arr #) ->
(# s, FastMutInt arr #) }
- where I# size = SIZEOF_HSINT
+ where !(I# size) = SIZEOF_HSINT
readFastMutInt (FastMutInt arr) = IO $ \s ->
case readIntArray# arr 0# s of { (# s, i #) ->
readFastMutInt (FastMutInt arr) = IO $ \s ->
case readIntArray# arr 0# s of { (# s, i #) ->
@@
-61,7
+71,7
@@
data FastMutPtr = FastMutPtr (MutableByteArray# RealWorld)
newFastMutPtr = IO $ \s ->
case newByteArray# size s of { (# s, arr #) ->
(# s, FastMutPtr arr #) }
newFastMutPtr = IO $ \s ->
case newByteArray# size s of { (# s, arr #) ->
(# s, FastMutPtr arr #) }
- where I# size = SIZEOF_VOID_P
+ where !(I# size) = SIZEOF_VOID_P
readFastMutPtr (FastMutPtr arr) = IO $ \s ->
case readAddrArray# arr 0# s of { (# s, i #) ->
readFastMutPtr (FastMutPtr arr) = IO $ \s ->
case readAddrArray# arr 0# s of { (# s, i #) ->