Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
GHC.Debug.Types.Closures
Description
The Haskell representation of a heap closure, the DebugClosure
type
- is quite similar to the one found in the ghc-heap
package but with some
- more type parameters and other changes..
Synopsis
- type Closure = DebugClosure CCSPtr SrtCont PayloadCont ConstrDescCont StackCont ClosurePtr
- type SizedClosure = DebugClosureWithSize CCSPtr SrtCont PayloadCont ConstrDescCont StackCont ClosurePtr
- type SizedClosureC = DebugClosureWithSize CCSPtr SrtCont PayloadCont ConstrDesc StackCont ClosurePtr
- type SizedClosureP = DebugClosureWithSize CCSPtr SrtPayload PapPayload ConstrDesc StackCont ClosurePtr
- data DebugClosure ccs srt pap string s b
- = ConstrClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- ptrArgs :: ![b]
- dataArgs :: ![Word]
- constrDesc :: !string
- | FunClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- srt :: !srt
- ptrArgs :: ![b]
- dataArgs :: ![Word]
- | ThunkClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- srt :: !srt
- ptrArgs :: ![b]
- dataArgs :: ![Word]
- | SelectorClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- selectee :: !b
- | PAPClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- arity :: !HalfWord
- n_args :: !HalfWord
- fun :: !b
- pap_payload :: !pap
- | APClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- arity :: !HalfWord
- n_args :: !HalfWord
- fun :: !b
- ap_payload :: !pap
- | APStackClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- ap_st_size :: !Word
- fun :: !b
- payload :: !s
- | IndClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- indirectee :: !b
- | BCOClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- instrs :: !b
- literals :: !b
- bcoptrs :: !b
- arity :: !HalfWord
- size :: !HalfWord
- bitmap :: ![Word]
- | BlackholeClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- indirectee :: !b
- | ArrWordsClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- bytes :: !Word
- arrWords :: ![Word]
- | MutArrClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- mccPtrs :: !Word
- mccSize :: !Word
- mccPayload :: ![b]
- | SmallMutArrClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- mccPtrs :: !Word
- mccPayload :: ![b]
- | MVarClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- queueHead :: !b
- queueTail :: !b
- value :: !b
- | MutVarClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- var :: !b
- | BlockingQueueClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- link :: !b
- blackHole :: !b
- owner :: !b
- queue :: !b
- | TSOClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- _link :: !b
- global_link :: !b
- tsoStack :: !b
- trec :: !b
- blocked_exceptions :: !b
- bq :: !b
- threadLabel :: !(Maybe b)
- what_next :: WhatNext
- why_blocked :: WhyBlocked
- flags :: [TsoFlags]
- threadId :: Word64
- saved_errno :: Word32
- dirty :: Word32
- alloc_limit :: Int64
- tot_stack_size :: Word32
- prof :: Maybe StgTSOProfInfo
- | StackClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- stack_size :: !Word32
- stack_dirty :: !Word8
- stack_marking :: !Word8
- frames :: s
- | WeakClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- cfinalizers :: !b
- key :: !b
- value :: !b
- finalizer :: !b
- mlink :: !(Maybe b)
- | TVarClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- current_value :: !b
- tvar_watch_queue :: !b
- num_updates :: !Int
- | TRecChunkClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- prev_chunk :: !b
- next_idx :: !Word
- entries :: ![TRecEntry b]
- | MutPrimClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- ptrArgs :: ![b]
- dataArgs :: ![Word]
- | PrimClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- ptrArgs :: ![b]
- dataArgs :: ![Word]
- | OtherClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- hvalues :: ![b]
- rawWords :: ![Word]
- | UnsupportedClosure {
- info :: !StgInfoTableWithPtr
- profHeader :: Maybe (ProfHeader ccs)
- = ConstrClosure {
- data TRecEntry b = TRecEntry {
- tvar :: !b
- expected_value :: !b
- new_value :: !b
- trec_num_updates :: Int
- type DebugClosureWithSize = DebugClosureWithExtra Size
- data DebugClosureWithExtra x ccs srt pap string s b = DCS {
- extraDCS :: x
- unDCS :: DebugClosure ccs srt pap string s b
- newtype Size = Size {}
- newtype InclusiveSize = InclusiveSize {}
- newtype RetainerSize = RetainerSize {}
- noSize :: DebugClosureWithSize ccs srt pap string s b -> DebugClosure ccs srt pap string s b
- dcSize :: DebugClosureWithSize ccs srt pap string s b -> Size
- allClosures :: DebugClosure ccs (GenSrtPayload c) (GenPapPayload c) a (GenStackFrames (GenSrtPayload c) c) c -> [c]
- data StgInfoTable = StgInfoTable {
- ptrs :: HalfWord
- nptrs :: HalfWord
- tipe :: ClosureType
- srtlen :: HalfWord
- data ClosureType
- = INVALID_OBJECT
- | CONSTR
- | CONSTR_1_0
- | CONSTR_0_1
- | CONSTR_2_0
- | CONSTR_1_1
- | CONSTR_0_2
- | CONSTR_NOCAF
- | FUN
- | FUN_1_0
- | FUN_0_1
- | FUN_2_0
- | FUN_1_1
- | FUN_0_2
- | FUN_STATIC
- | THUNK
- | THUNK_1_0
- | THUNK_0_1
- | THUNK_2_0
- | THUNK_1_1
- | THUNK_0_2
- | THUNK_STATIC
- | THUNK_SELECTOR
- | BCO
- | AP
- | PAP
- | AP_STACK
- | IND
- | IND_STATIC
- | RET_BCO
- | RET_SMALL
- | RET_BIG
- | RET_FUN
- | UPDATE_FRAME
- | CATCH_FRAME
- | UNDERFLOW_FRAME
- | STOP_FRAME
- | BLOCKING_QUEUE
- | BLACKHOLE
- | MVAR_CLEAN
- | MVAR_DIRTY
- | TVAR
- | ARR_WORDS
- | MUT_ARR_PTRS_CLEAN
- | MUT_ARR_PTRS_DIRTY
- | MUT_ARR_PTRS_FROZEN_DIRTY
- | MUT_ARR_PTRS_FROZEN_CLEAN
- | MUT_VAR_CLEAN
- | MUT_VAR_DIRTY
- | WEAK
- | PRIM
- | MUT_PRIM
- | TSO
- | STACK
- | TREC_CHUNK
- | ATOMICALLY_FRAME
- | CATCH_RETRY_FRAME
- | CATCH_STM_FRAME
- | WHITEHOLE
- | SMALL_MUT_ARR_PTRS_CLEAN
- | SMALL_MUT_ARR_PTRS_DIRTY
- | SMALL_MUT_ARR_PTRS_FROZEN_DIRTY
- | SMALL_MUT_ARR_PTRS_FROZEN_CLEAN
- | COMPACT_NFDATA
- | CONTINUATION
- | N_CLOSURE_TYPES
- data WhatNext
- data WhyBlocked
- data TsoFlags
- data StgInfoTableWithPtr = StgInfoTableWithPtr {}
- data DebugStackFrame srt b = DebugStackFrame {
- frame_info :: !StgInfoTableWithPtr
- frame_srt :: srt
- values :: [FieldValue b]
- data FieldValue b
- newtype GenStackFrames srt b = GenStackFrames {
- getFrames :: [DebugStackFrame srt b]
- type StackFrames = GenStackFrames SrtCont ClosurePtr
- data StackCont = StackCont StackPtr RawStack
- newtype GenPapPayload b = GenPapPayload {
- getValues :: [FieldValue b]
- type PapPayload = GenPapPayload ClosurePtr
- data PayloadCont = PayloadCont ClosurePtr [Word64]
- data ConstrDesc = ConstrDesc {}
- type ConstrDescCont = InfoTablePtr
- parseConstrDesc :: String -> ConstrDesc
- newtype GenSrtPayload b = GenSrtPayload {}
- type SrtPayload = GenSrtPayload ClosurePtr
- type SrtCont = InfoTablePtr
- data ProfHeader a = ProfHeader {
- ccs :: a
- hp :: ProfHeaderWord
- data ProfHeaderWord
- = RetainerHeader {
- trav :: !Bool
- retainerSet :: !RetainerSetPtr
- | LDVWord {
- state :: !Bool
- creationTime :: !Word32
- lastUseTime :: !Word32
- | EraWord Word64
- | OtherHeader Word64
- = RetainerHeader {
- type ProfHeaderWithPtr = ProfHeader CCSPtr
- type CCSPayload = GenCCSPayload CCSPtr CCPtr
- data GenCCSPayload ccsPtr ccPtr = CCSPayload {
- ccsID :: !Int64
- ccsCc :: ccPtr
- ccsPrevStack :: Maybe ccsPtr
- ccsIndexTable :: Maybe IndexTablePtr
- ccsRoot :: Maybe CCSPtr
- ccsDepth :: Word
- ccsSccCount :: Word64
- ccsSelected :: Word
- ccsTimeTicks :: Word
- ccsMemAlloc :: Word64
- ccsInheritedAlloc :: Word64
- ccsInheritedTicks :: Word
- data CCPayload = CCPayload {}
- data IndexTable = IndexTable {}
- class Hextraversable m where
- hextraverse :: Applicative f => (a -> f b) -> (c -> f d) -> (e -> f g) -> (h -> f i) -> (j -> f k) -> (l -> f n) -> m a c e h j l -> f (m b d g i k n)
- hexmap :: forall a b c d e f g h i j k l t. Hextraversable t => (a -> b) -> (c -> d) -> (e -> f) -> (g -> h) -> (i -> j) -> (k -> l) -> t a c e g i k -> t b d f h j l
Closure Representation
type SizedClosure = DebugClosureWithSize CCSPtr SrtCont PayloadCont ConstrDescCont StackCont ClosurePtr Source #
type SizedClosureC = DebugClosureWithSize CCSPtr SrtCont PayloadCont ConstrDesc StackCont ClosurePtr Source #
type SizedClosureP = DebugClosureWithSize CCSPtr SrtPayload PapPayload ConstrDesc StackCont ClosurePtr Source #
data DebugClosure ccs srt pap string s b Source #
This is the representation of a Haskell value on the heap. It reflects https://gitlab.haskell.org/ghc/ghc/blob/master/includes/rts/storage/Closures.h
The data type is parametrized by 4 type parameters which correspond to different pointer types.
All Heap objects have the same basic layout. A header containing a pointer
to the info table and a payload with various fields. The info
field below
always refers to the info table pointed to by the header. The remaining
fields are the payload.
See https://gitlab.haskell.org/ghc/ghc/wikis/commentary/rts/storage/heap-objects for more information.
Constructors
ConstrClosure | A data constructor |
Fields
| |
FunClosure | A function |
Fields
| |
ThunkClosure | A thunk, an expression not obviously in head normal form |
Fields
| |
SelectorClosure | A thunk which performs a simple selection operation |
Fields
| |
PAPClosure | An unsaturated function application |
Fields
| |
APClosure | A function application |
Fields
| |
APStackClosure | A suspended thunk evaluation |
Fields
| |
IndClosure | A pointer to another closure, introduced when a thunk is updated to point at its value |
Fields
| |
BCOClosure | A byte-code object (BCO) which can be interpreted by GHC's byte-code interpreter (e.g. as used by GHCi) |
Fields
| |
BlackholeClosure | A thunk under evaluation by another thread |
Fields
| |
ArrWordsClosure | A |
Fields
| |
MutArrClosure | A |
Fields
| |
SmallMutArrClosure | A Since: 8.10.1 |
Fields
| |
MVarClosure | An |
Fields
| |
MutVarClosure | A |
Fields
| |
BlockingQueueClosure | An STM blocking queue. |
Fields
| |
TSOClosure | |
Fields
| |
StackClosure | |
Fields
| |
WeakClosure | |
Fields
| |
TVarClosure | |
Fields
| |
TRecChunkClosure | |
Fields
| |
MutPrimClosure | |
Fields
| |
PrimClosure | |
Fields
| |
OtherClosure | Another kind of closure |
Fields
| |
UnsupportedClosure | |
Fields
|
Instances
Hextraversable DebugClosure Source # | |
Defined in GHC.Debug.Types.Closures Methods hextraverse :: Applicative f => (a -> f b) -> (c -> f d) -> (e -> f g) -> (h -> f i) -> (j -> f k) -> (l -> f n) -> DebugClosure a c e h j l -> f (DebugClosure b d g i k n) Source # | |
Foldable (DebugClosure ccs srt pap string s) Source # | |
Defined in GHC.Debug.Types.Closures Methods fold :: Monoid m => DebugClosure ccs srt pap string s m -> m # foldMap :: Monoid m => (a -> m) -> DebugClosure ccs srt pap string s a -> m # foldMap' :: Monoid m => (a -> m) -> DebugClosure ccs srt pap string s a -> m # foldr :: (a -> b -> b) -> b -> DebugClosure ccs srt pap string s a -> b # foldr' :: (a -> b -> b) -> b -> DebugClosure ccs srt pap string s a -> b # foldl :: (b -> a -> b) -> b -> DebugClosure ccs srt pap string s a -> b # foldl' :: (b -> a -> b) -> b -> DebugClosure ccs srt pap string s a -> b # foldr1 :: (a -> a -> a) -> DebugClosure ccs srt pap string s a -> a # foldl1 :: (a -> a -> a) -> DebugClosure ccs srt pap string s a -> a # toList :: DebugClosure ccs srt pap string s a -> [a] # null :: DebugClosure ccs srt pap string s a -> Bool # length :: DebugClosure ccs srt pap string s a -> Int # elem :: Eq a => a -> DebugClosure ccs srt pap string s a -> Bool # maximum :: Ord a => DebugClosure ccs srt pap string s a -> a # minimum :: Ord a => DebugClosure ccs srt pap string s a -> a # sum :: Num a => DebugClosure ccs srt pap string s a -> a # product :: Num a => DebugClosure ccs srt pap string s a -> a # | |
Traversable (DebugClosure ccs srt pap string s) Source # | |
Defined in GHC.Debug.Types.Closures Methods traverse :: Applicative f => (a -> f b) -> DebugClosure ccs srt pap string s a -> f (DebugClosure ccs srt pap string s b) # sequenceA :: Applicative f => DebugClosure ccs srt pap string s (f a) -> f (DebugClosure ccs srt pap string s a) # mapM :: Monad m => (a -> m b) -> DebugClosure ccs srt pap string s a -> m (DebugClosure ccs srt pap string s b) # sequence :: Monad m => DebugClosure ccs srt pap string s (m a) -> m (DebugClosure ccs srt pap string s a) # | |
Functor (DebugClosure ccs srt pap string s) Source # | |
Defined in GHC.Debug.Types.Closures Methods fmap :: (a -> b) -> DebugClosure ccs srt pap string s a -> DebugClosure ccs srt pap string s b # (<$) :: a -> DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s a # | |
Generic (DebugClosure ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Associated Types type Rep (DebugClosure ccs srt pap string s b) :: Type -> Type # Methods from :: DebugClosure ccs srt pap string s b -> Rep (DebugClosure ccs srt pap string s b) x # to :: Rep (DebugClosure ccs srt pap string s b) x -> DebugClosure ccs srt pap string s b # | |
(Show ccs, Show string, Show srt, Show pap, Show s, Show b) => Show (DebugClosure ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> DebugClosure ccs srt pap string s b -> ShowS # show :: DebugClosure ccs srt pap string s b -> String # showList :: [DebugClosure ccs srt pap string s b] -> ShowS # | |
(Eq ccs, Eq string, Eq srt, Eq pap, Eq s, Eq b) => Eq (DebugClosure ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Methods (==) :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Bool # (/=) :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Bool # | |
(Ord ccs, Ord string, Ord srt, Ord pap, Ord s, Ord b) => Ord (DebugClosure ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Ordering # (<) :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Bool # (<=) :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Bool # (>) :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Bool # (>=) :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> Bool # max :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b # min :: DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b -> DebugClosure ccs srt pap string s b # | |
type Rep (DebugClosure ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures |
Constructors
TRecEntry | |
Fields
|
Instances
Wrappers
data DebugClosureWithExtra x ccs srt pap string s b Source #
Constructors
DCS | |
Fields
|
Instances
Hextraversable (DebugClosureWithExtra x) Source # | |
Defined in GHC.Debug.Types.Closures Methods hextraverse :: Applicative f => (a -> f b) -> (c -> f d) -> (e -> f g) -> (h -> f i) -> (j -> f k) -> (l -> f n) -> DebugClosureWithExtra x a c e h j l -> f (DebugClosureWithExtra x b d g i k n) Source # | |
(Show x, Show ccs, Show string, Show srt, Show pap, Show s, Show b) => Show (DebugClosureWithExtra x ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> DebugClosureWithExtra x ccs srt pap string s b -> ShowS # show :: DebugClosureWithExtra x ccs srt pap string s b -> String # showList :: [DebugClosureWithExtra x ccs srt pap string s b] -> ShowS # | |
(Eq x, Eq ccs, Eq string, Eq srt, Eq pap, Eq s, Eq b) => Eq (DebugClosureWithExtra x ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Methods (==) :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Bool # (/=) :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Bool # | |
(Ord x, Ord ccs, Ord string, Ord srt, Ord pap, Ord s, Ord b) => Ord (DebugClosureWithExtra x ccs srt pap string s b) Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Ordering # (<) :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Bool # (<=) :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Bool # (>) :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Bool # (>=) :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> Bool # max :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b # min :: DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b -> DebugClosureWithExtra x ccs srt pap string s b # |
Exclusive size
newtype InclusiveSize Source #
Constructors
InclusiveSize | |
Fields |
Instances
newtype RetainerSize Source #
Constructors
RetainerSize | |
Fields |
Instances
noSize :: DebugClosureWithSize ccs srt pap string s b -> DebugClosure ccs srt pap string s b Source #
dcSize :: DebugClosureWithSize ccs srt pap string s b -> Size Source #
allClosures :: DebugClosure ccs (GenSrtPayload c) (GenPapPayload c) a (GenStackFrames (GenSrtPayload c) c) c -> [c] Source #
Info Table Representation
data StgInfoTable Source #
Constructors
StgInfoTable | |
Fields
|
Instances
Generic StgInfoTable Source # | |
Defined in GHC.Debug.Types.Closures Associated Types type Rep StgInfoTable :: Type -> Type # | |
Show StgInfoTable Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> StgInfoTable -> ShowS # show :: StgInfoTable -> String # showList :: [StgInfoTable] -> ShowS # | |
Eq StgInfoTable Source # | |
Defined in GHC.Debug.Types.Closures | |
type Rep StgInfoTable Source # | |
Defined in GHC.Debug.Types.Closures |
data ClosureType Source #
Constructors
Instances
Constructors
ThreadRunGHC | |
ThreadInterpret | |
ThreadKilled | |
ThreadComplete | |
WhatNextUnknownValue Word16 | Please report this as a bug |
Instances
Generic WhatNext Source # | |
Show WhatNext Source # | |
Eq WhatNext Source # | |
Ord WhatNext Source # | |
Defined in GHC.Debug.Types.Closures | |
type Rep WhatNext Source # | |
Defined in GHC.Debug.Types.Closures type Rep WhatNext = D1 ('MetaData "WhatNext" "GHC.Debug.Types.Closures" "ghc-debug-common-0.6.0.0-inplace" 'False) ((C1 ('MetaCons "ThreadRunGHC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ThreadInterpret" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ThreadKilled" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ThreadComplete" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WhatNextUnknownValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))))) |
data WhyBlocked Source #
Constructors
Instances
Constructors
TsoLocked | |
TsoBlockx | |
TsoInterruptible | |
TsoStoppedOnBreakpoint | |
TsoMarked | |
TsoSqueezed | |
TsoAllocLimit | |
TsoFlagsUnknownValue Word32 | Please report this as a bug |
Instances
Generic TsoFlags Source # | |
Show TsoFlags Source # | |
Eq TsoFlags Source # | |
Ord TsoFlags Source # | |
Defined in GHC.Debug.Types.Closures | |
type Rep TsoFlags Source # | |
Defined in GHC.Debug.Types.Closures type Rep TsoFlags = D1 ('MetaData "TsoFlags" "GHC.Debug.Types.Closures" "ghc-debug-common-0.6.0.0-inplace" 'False) (((C1 ('MetaCons "TsoLocked" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TsoBlockx" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TsoInterruptible" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TsoStoppedOnBreakpoint" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TsoMarked" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TsoSqueezed" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TsoAllocLimit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TsoFlagsUnknownValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))))) |
data StgInfoTableWithPtr Source #
Constructors
StgInfoTableWithPtr | |
Fields |
Instances
Show StgInfoTableWithPtr Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> StgInfoTableWithPtr -> ShowS # show :: StgInfoTableWithPtr -> String # showList :: [StgInfoTableWithPtr] -> ShowS # | |
Eq StgInfoTableWithPtr Source # | |
Defined in GHC.Debug.Types.Closures Methods (==) :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Bool # (/=) :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Bool # | |
Ord StgInfoTableWithPtr Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Ordering # (<) :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Bool # (<=) :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Bool # (>) :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Bool # (>=) :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> Bool # max :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> StgInfoTableWithPtr # min :: StgInfoTableWithPtr -> StgInfoTableWithPtr -> StgInfoTableWithPtr # |
Stack Frame Representation
data DebugStackFrame srt b Source #
Constructors
DebugStackFrame | |
Fields
|
Instances
data FieldValue b Source #
Instances
newtype GenStackFrames srt b Source #
Constructors
GenStackFrames | |
Fields
|
Instances
Information needed to decode a set of stack frames
Instances
Show StackCont Source # | |
Eq StackCont Source # | |
Ord StackCont Source # | |
PAP payload representation
newtype GenPapPayload b Source #
Constructors
GenPapPayload | |
Fields
|
Instances
type PapPayload = GenPapPayload ClosurePtr Source #
data PayloadCont Source #
Information needed to decode a PAP payload
Constructors
PayloadCont ClosurePtr [Word64] |
Instances
Show PayloadCont Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> PayloadCont -> ShowS # show :: PayloadCont -> String # showList :: [PayloadCont] -> ShowS # | |
Eq PayloadCont Source # | |
Defined in GHC.Debug.Types.Closures |
Constructor Description Representation
data ConstrDesc Source #
Constructors
ConstrDesc | |
Instances
Show ConstrDesc Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> ConstrDesc -> ShowS # show :: ConstrDesc -> String # showList :: [ConstrDesc] -> ShowS # | |
Eq ConstrDesc Source # | |
Defined in GHC.Debug.Types.Closures | |
Ord ConstrDesc Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: ConstrDesc -> ConstrDesc -> Ordering # (<) :: ConstrDesc -> ConstrDesc -> Bool # (<=) :: ConstrDesc -> ConstrDesc -> Bool # (>) :: ConstrDesc -> ConstrDesc -> Bool # (>=) :: ConstrDesc -> ConstrDesc -> Bool # max :: ConstrDesc -> ConstrDesc -> ConstrDesc # min :: ConstrDesc -> ConstrDesc -> ConstrDesc # |
type ConstrDescCont = InfoTablePtr Source #
Information needed to decode a ConstrDesc
parseConstrDesc :: String -> ConstrDesc Source #
SRT field representation
newtype GenSrtPayload b Source #
Constructors
GenSrtPayload | |
Instances
type SrtPayload = GenSrtPayload ClosurePtr Source #
type SrtCont = InfoTablePtr Source #
data ProfHeader a Source #
Constructors
ProfHeader | |
Fields
|
Instances
data ProfHeaderWord Source #
Constructors
RetainerHeader | |
Fields
| |
LDVWord | |
Fields
| |
EraWord Word64 | |
OtherHeader Word64 |
Instances
Show ProfHeaderWord Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> ProfHeaderWord -> ShowS # show :: ProfHeaderWord -> String # showList :: [ProfHeaderWord] -> ShowS # | |
Eq ProfHeaderWord Source # | |
Defined in GHC.Debug.Types.Closures Methods (==) :: ProfHeaderWord -> ProfHeaderWord -> Bool # (/=) :: ProfHeaderWord -> ProfHeaderWord -> Bool # | |
Ord ProfHeaderWord Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: ProfHeaderWord -> ProfHeaderWord -> Ordering # (<) :: ProfHeaderWord -> ProfHeaderWord -> Bool # (<=) :: ProfHeaderWord -> ProfHeaderWord -> Bool # (>) :: ProfHeaderWord -> ProfHeaderWord -> Bool # (>=) :: ProfHeaderWord -> ProfHeaderWord -> Bool # max :: ProfHeaderWord -> ProfHeaderWord -> ProfHeaderWord # min :: ProfHeaderWord -> ProfHeaderWord -> ProfHeaderWord # |
type ProfHeaderWithPtr = ProfHeader CCSPtr Source #
type CCSPayload = GenCCSPayload CCSPtr CCPtr Source #
data GenCCSPayload ccsPtr ccPtr Source #
Constructors
CCSPayload | |
Fields
|
Instances
Bifoldable GenCCSPayload Source # | |
Defined in GHC.Debug.Types.Closures Methods bifold :: Monoid m => GenCCSPayload m m -> m # bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> GenCCSPayload a b -> m # bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> GenCCSPayload a b -> c # bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> GenCCSPayload a b -> c # | |
Bifunctor GenCCSPayload Source # | |
Defined in GHC.Debug.Types.Closures Methods bimap :: (a -> b) -> (c -> d) -> GenCCSPayload a c -> GenCCSPayload b d # first :: (a -> b) -> GenCCSPayload a c -> GenCCSPayload b c # second :: (b -> c) -> GenCCSPayload a b -> GenCCSPayload a c # | |
Bitraversable GenCCSPayload Source # | |
Defined in GHC.Debug.Types.Closures Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> GenCCSPayload a b -> f (GenCCSPayload c d) # | |
Functor (GenCCSPayload ccsPtr) Source # | |
Defined in GHC.Debug.Types.Closures Methods fmap :: (a -> b) -> GenCCSPayload ccsPtr a -> GenCCSPayload ccsPtr b # (<$) :: a -> GenCCSPayload ccsPtr b -> GenCCSPayload ccsPtr a # | |
(Show ccPtr, Show ccsPtr) => Show (GenCCSPayload ccsPtr ccPtr) Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> GenCCSPayload ccsPtr ccPtr -> ShowS # show :: GenCCSPayload ccsPtr ccPtr -> String # showList :: [GenCCSPayload ccsPtr ccPtr] -> ShowS # | |
(Eq ccPtr, Eq ccsPtr) => Eq (GenCCSPayload ccsPtr ccPtr) Source # | |
Defined in GHC.Debug.Types.Closures Methods (==) :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Bool # (/=) :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Bool # | |
(Ord ccPtr, Ord ccsPtr) => Ord (GenCCSPayload ccsPtr ccPtr) Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Ordering # (<) :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Bool # (<=) :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Bool # (>) :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Bool # (>=) :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> Bool # max :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr # min :: GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr -> GenCCSPayload ccsPtr ccPtr # |
Constructors
CCPayload | |
Instances
Show CCPayload Source # | |
Eq CCPayload Source # | |
Ord CCPayload Source # | |
data IndexTable Source #
Constructors
IndexTable | |
Fields
|
Instances
Show IndexTable Source # | |
Defined in GHC.Debug.Types.Closures Methods showsPrec :: Int -> IndexTable -> ShowS # show :: IndexTable -> String # showList :: [IndexTable] -> ShowS # | |
Eq IndexTable Source # | |
Defined in GHC.Debug.Types.Closures | |
Ord IndexTable Source # | |
Defined in GHC.Debug.Types.Closures Methods compare :: IndexTable -> IndexTable -> Ordering # (<) :: IndexTable -> IndexTable -> Bool # (<=) :: IndexTable -> IndexTable -> Bool # (>) :: IndexTable -> IndexTable -> Bool # (>=) :: IndexTable -> IndexTable -> Bool # max :: IndexTable -> IndexTable -> IndexTable # min :: IndexTable -> IndexTable -> IndexTable # |
Traversing functions
class Hextraversable m where Source #
Methods
hextraverse :: Applicative f => (a -> f b) -> (c -> f d) -> (e -> f g) -> (h -> f i) -> (j -> f k) -> (l -> f n) -> m a c e h j l -> f (m b d g i k n) Source #
Instances
Hextraversable DebugClosure Source # | |
Defined in GHC.Debug.Types.Closures Methods hextraverse :: Applicative f => (a -> f b) -> (c -> f d) -> (e -> f g) -> (h -> f i) -> (j -> f k) -> (l -> f n) -> DebugClosure a c e h j l -> f (DebugClosure b d g i k n) Source # | |
Hextraversable (DebugClosureWithExtra x) Source # | |
Defined in GHC.Debug.Types.Closures Methods hextraverse :: Applicative f => (a -> f b) -> (c -> f d) -> (e -> f g) -> (h -> f i) -> (j -> f k) -> (l -> f n) -> DebugClosureWithExtra x a c e h j l -> f (DebugClosureWithExtra x b d g i k n) Source # |
hexmap :: forall a b c d e f g h i j k l t. Hextraversable t => (a -> b) -> (c -> d) -> (e -> f) -> (g -> h) -> (i -> j) -> (k -> l) -> t a c e g i k -> t b d f h j l Source #