ghc-heap-8.7: Functions for walking GHC's heap
Safe HaskellSafe
LanguageHaskell2010

GHC.Exts.Heap.ClosureTypes

Synopsis

Documentation

data ClosureType Source #

Instances

Instances details
Enum ClosureType Source # 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

Eq ClosureType Source # 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

Ord ClosureType Source # 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

Show ClosureType Source # 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

Generic ClosureType Source # 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

Associated Types

type Rep ClosureType :: Type -> Type Source #

type Rep ClosureType Source # 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

type Rep ClosureType = D1 (MetaData "ClosureType" "GHC.Exts.Heap.ClosureTypes" "ghc-heap-8.7" False) ((((((C1 (MetaCons "INVALID_OBJECT" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "CONSTR" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "CONSTR_1_0" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "CONSTR_0_1" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "CONSTR_2_0" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "CONSTR_1_1" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "CONSTR_0_2" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "CONSTR_NOCAF" PrefixI False) (U1 :: Type -> Type)))) :+: (((C1 (MetaCons "FUN" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FUN_1_0" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "FUN_0_1" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FUN_2_0" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "FUN_1_1" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FUN_0_2" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "FUN_STATIC" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "THUNK" PrefixI False) (U1 :: Type -> Type))))) :+: ((((C1 (MetaCons "THUNK_1_0" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "THUNK_0_1" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "THUNK_2_0" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "THUNK_1_1" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "THUNK_0_2" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "THUNK_STATIC" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "THUNK_SELECTOR" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "BCO" PrefixI False) (U1 :: Type -> Type)))) :+: (((C1 (MetaCons "AP" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "PAP" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "AP_STACK" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "IND" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "IND_STATIC" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "RET_BCO" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "RET_SMALL" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "RET_BIG" PrefixI False) (U1 :: Type -> Type)))))) :+: (((((C1 (MetaCons "RET_FUN" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "UPDATE_FRAME" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "CATCH_FRAME" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "UNDERFLOW_FRAME" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "STOP_FRAME" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "BLOCKING_QUEUE" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "BLACKHOLE" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MVAR_CLEAN" PrefixI False) (U1 :: Type -> Type)))) :+: (((C1 (MetaCons "MVAR_DIRTY" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "TVAR" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "ARR_WORDS" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MUT_ARR_PTRS_CLEAN" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "MUT_ARR_PTRS_DIRTY" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MUT_ARR_PTRS_FROZEN_DIRTY" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "MUT_ARR_PTRS_FROZEN_CLEAN" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MUT_VAR_CLEAN" PrefixI False) (U1 :: Type -> Type))))) :+: ((((C1 (MetaCons "MUT_VAR_DIRTY" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "WEAK" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "PRIM" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MUT_PRIM" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "TSO" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "STACK" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "TREC_CHUNK" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ATOMICALLY_FRAME" PrefixI False) (U1 :: Type -> Type)))) :+: (((C1 (MetaCons "CATCH_RETRY_FRAME" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "CATCH_STM_FRAME" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "WHITEHOLE" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "SMALL_MUT_ARR_PTRS_CLEAN" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "SMALL_MUT_ARR_PTRS_DIRTY" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "SMALL_MUT_ARR_PTRS_FROZEN_DIRTY" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "SMALL_MUT_ARR_PTRS_FROZEN_CLEAN" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "COMPACT_NFDATA" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "N_CLOSURE_TYPES" PrefixI False) (U1 :: Type -> Type))))))))

closureTypeHeaderSize :: ClosureType -> Int Source #

Return the size of the closures header in words