ghc-heap-8.10.7: Functions for walking GHC's heap
Safe Haskell Safe-Inferred
Language Haskell2010

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

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.10.7-IUP7BK823zx9GcxXynNXv1" ' 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