X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=System%2FMem.hs;h=af96b5dd1c293830369f0f07d4abbae505bff669;hb=HEAD;hp=a50d6ffab02839e5b32afc9a57eb872aa1c827cc;hpb=cb68ac0418c116c15346ff4c05aed69a635b5d04;p=ghc-base.git diff --git a/System/Mem.hs b/System/Mem.hs index a50d6ff..af96b5d 100644 --- a/System/Mem.hs +++ b/System/Mem.hs @@ -1,15 +1,19 @@ +{-# LANGUAGE CPP #-} + +#ifdef __GLASGOW_HASKELL__ +{-# LANGUAGE ForeignFunctionInterface #-} +#endif + ----------------------------------------------------------------------------- --- +-- | -- Module : System.Mem -- Copyright : (c) The University of Glasgow 2001 --- License : BSD-style (see the file libraries/core/LICENSE) +-- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org -- Stability : provisional -- Portability : portable -- --- $Id: Mem.hs,v 1.1 2002/02/12 10:50:03 simonmar Exp $ --- -- Memory-related system things. -- ----------------------------------------------------------------------------- @@ -18,6 +22,17 @@ module System.Mem ( performGC -- :: IO () ) where +import Prelude + +#ifdef __HUGS__ +import Hugs.IOExts +#endif + #ifdef __GLASGOW_HASKELL__ -foreign import {-safe-} "performGC" performGC :: IO () +-- | Triggers an immediate garbage collection +foreign import ccall {-safe-} "performMajorGC" performGC :: IO () +#endif + +#ifdef __NHC__ +import NHC.IOExtras (performGC) #endif