ghc-heap-9.6.3: Functions for walking GHC's heap

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Exts.Heap.FFIClosures_ProfilingEnabled

Synopsis

- data TSOFields = TSOFields {
  - tso_what_next :: WhatNext
  - tso_why_blocked :: WhyBlocked
  - tso_flags :: [TsoFlags]
  - tso_threadId :: Word64
  - tso_saved_errno :: Word32
  - tso_dirty :: Word32
  - tso_alloc_limit :: Int64
  - tso_tot_stack_size :: Word32
  - tso_prof :: Maybe StgTSOProfInfo
  }
- peekTSOFields :: (Ptr a -> IO (Maybe CostCentreStack)) -> Ptr tsoPtr -> IO TSOFields
- parseWhatNext :: Word16 -> WhatNext
- parseWhyBlocked :: Word16 -> WhyBlocked
- parseTsoFlags :: Word32 -> [TsoFlags]
- isSet :: Word32 -> Word32 -> Bool
- unset :: Word32 -> Word32 -> Word32
- data StackFields = StackFields {
  - stack_size :: Word32
  - stack_dirty :: Word8
  - stack_marking :: Word8
  - stack_sp :: Addr#
  }
- peekStackFields :: Ptr a -> IO StackFields

# Documentation

data TSOFields Source #

Constructors

TSOFields |

Fields

- tso_what_next :: WhatNext
- tso_why_blocked :: WhyBlocked
- tso_flags :: [TsoFlags]
- tso_threadId :: Word64
- tso_saved_errno :: Word32
- tso_dirty :: Word32
- tso_alloc_limit :: Int64
- tso_tot_stack_size :: Word32
- tso_prof :: Maybe StgTSOProfInfo

peekTSOFields :: (Ptr a -> IO (Maybe CostCentreStack)) -> Ptr tsoPtr -> IO TSOFields Source #

Get non-pointer fields from `StgTSO_` (`TSO.h`)

parseWhatNext :: Word16 -> WhatNext Source #

parseWhyBlocked :: Word16 -> WhyBlocked Source #

parseTsoFlags :: Word32 -> [TsoFlags] Source #

isSet :: Word32 -> Word32 -> Bool Source #

unset :: Word32 -> Word32 -> Word32 Source #

data StackFields Source #

Constructors

StackFields |

Fields

- stack_size :: Word32
- stack_dirty :: Word8
- stack_marking :: Word8
- stack_sp :: Addr#

peekStackFields :: Ptr a -> IO StackFields Source #

Get non-closure fields from `StgStack_` (`TSO.h`)