module RuntimeSystem
( -- * Garbage collection
performGC
, performMajorGC
, performMinorGC
-- * Allocation counter and limits
, setAllocationCounter
, getAllocationCounter
, enableAllocationLimit
, disableAllocationLimit
-- * Capabilities
, getNumCapabilities
, setNumCapabilities
-- * Spark pool
, numSparks
, runSparks
-- * Processors
, getNumProcessors
-- * Uncaught exception handler
, getUncaughtExceptionHandler
, setUncaughtExceptionHandler
-- * Event manager
, EventManager
, getSystemEventManager
, new
, Event
, evtRead
, evtWrite
, IOCallback
, FdKey
, Lifetime
, registerFd
, unregisterFd
, unregisterFd_
, closeFd
-- * Timer manager
, TimerManager
, TimeoutCallback
, TimeoutKey
, registerTimeout
, updateTimeout
, unregisterTimeout
-- * Runtime stats
, RTSStats(..)
, GCDetails(..)
, RtsTime
, getRTSStats
, getRTSStatsEnabled
-- * Memory barriers
, storeLoadBarrier
, loadLoadBarrier
, writeBarrier
) where
import Data.Atomics
import GHC.Conc
import GHC.Event
import GHC.Stats
import System.Mem