module GHC.Vacuum.ClosureType (
isFun,isThunk,isCon
,ClosureType(..)
) where
isFun :: ClosureType -> Bool
isFun FUN = True
isFun FUN_1_0 = True
isFun FUN_0_1 = True
isFun FUN_2_0 = True
isFun FUN_1_1 = True
isFun FUN_0_2 = True
isFun FUN_STATIC = True
isFun _ = False
isThunk :: ClosureType -> Bool
isThunk AP = True
isThunk THUNK = True
isThunk THUNK_1_0 = True
isThunk THUNK_0_1 = True
isThunk THUNK_2_0 = True
isThunk THUNK_1_1 = True
isThunk THUNK_0_2 = True
isThunk THUNK_STATIC = True
isThunk THUNK_SELECTOR = True
isThunk _ = False
isCon :: ClosureType -> Bool
isCon CONSTR = True
isCon CONSTR_1_0 = True
isCon CONSTR_0_1 = True
isCon CONSTR_2_0 = True
isCon CONSTR_1_1 = True
isCon CONSTR_0_2 = True
isCon CONSTR_STATIC = True
isCon CONSTR_NOCAF_STATIC = True
isCon _ = False
data ClosureType
= INVALID_OBJECT
| CONSTR
| CONSTR_1_0
| CONSTR_0_1
| CONSTR_2_0
| CONSTR_1_1
| CONSTR_0_2
| CONSTR_STATIC
| CONSTR_NOCAF_STATIC
| 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_OLDGEN
| IND_PERM
| IND_OLDGEN_PERM
| IND_STATIC
| RET_BCO
| RET_SMALL
| RET_BIG
| RET_DYN
| RET_FUN
| UPDATE_FRAME
| CATCH_FRAME
| STOP_FRAME
| CAF_BLACKHOLE
| BLACKHOLE
| SE_BLACKHOLE
| SE_CAF_BLACKHOLE
| MVAR_CLEAN
| MVAR_DIRTY
| ARR_WORDS
| MUT_ARR_PTRS_CLEAN
| MUT_ARR_PTRS_DIRTY
| MUT_ARR_PTRS_FROZEN0
| MUT_ARR_PTRS_FROZEN
| MUT_VAR_CLEAN
| MUT_VAR_DIRTY
| WEAK
| STABLE_NAME
| TSO
| BLOCKED_FETCH
| FETCH_ME
| FETCH_ME_BQ
| RBH
| REMOTE_REF
| TVAR_WATCH_QUEUE
| INVARIANT_CHECK_QUEUE
| ATOMIC_INVARIANT
| TVAR
| TREC_CHUNK
| TREC_HEADER
| ATOMICALLY_FRAME
| CATCH_RETRY_FRAME
| CATCH_STM_FRAME
| WHITEHOLE
deriving(Eq,Ord,Read,Show)
instance Enum ClosureType where
fromEnum INVALID_OBJECT = 0
fromEnum CONSTR = 1
fromEnum CONSTR_1_0 = 2
fromEnum CONSTR_0_1 = 3
fromEnum CONSTR_2_0 = 4
fromEnum CONSTR_1_1 = 5
fromEnum CONSTR_0_2 = 6
fromEnum CONSTR_STATIC = 7
fromEnum CONSTR_NOCAF_STATIC = 8
fromEnum FUN = 9
fromEnum FUN_1_0 = 10
fromEnum FUN_0_1 = 11
fromEnum FUN_2_0 = 12
fromEnum FUN_1_1 = 13
fromEnum FUN_0_2 = 14
fromEnum FUN_STATIC = 15
fromEnum THUNK = 16
fromEnum THUNK_1_0 = 17
fromEnum THUNK_0_1 = 18
fromEnum THUNK_2_0 = 19
fromEnum THUNK_1_1 = 20
fromEnum THUNK_0_2 = 21
fromEnum THUNK_STATIC = 22
fromEnum THUNK_SELECTOR = 23
fromEnum BCO = 24
fromEnum AP = 25
fromEnum PAP = 26
fromEnum AP_STACK = 27
fromEnum IND = 28
fromEnum IND_OLDGEN = 29
fromEnum IND_PERM = 30
fromEnum IND_OLDGEN_PERM = 31
fromEnum IND_STATIC = 32
fromEnum RET_BCO = 33
fromEnum RET_SMALL = 34
fromEnum RET_BIG = 35
fromEnum RET_DYN = 36
fromEnum RET_FUN = 37
fromEnum UPDATE_FRAME = 38
fromEnum CATCH_FRAME = 39
fromEnum STOP_FRAME = 40
fromEnum CAF_BLACKHOLE = 41
fromEnum BLACKHOLE = 42
fromEnum SE_BLACKHOLE = 43
fromEnum SE_CAF_BLACKHOLE = 44
fromEnum MVAR_CLEAN = 45
fromEnum MVAR_DIRTY = 46
fromEnum ARR_WORDS = 47
fromEnum MUT_ARR_PTRS_CLEAN = 48
fromEnum MUT_ARR_PTRS_DIRTY = 49
fromEnum MUT_ARR_PTRS_FROZEN0 = 50
fromEnum MUT_ARR_PTRS_FROZEN = 51
fromEnum MUT_VAR_CLEAN = 52
fromEnum MUT_VAR_DIRTY = 53
fromEnum WEAK = 54
fromEnum STABLE_NAME = 55
fromEnum TSO = 56
fromEnum BLOCKED_FETCH = 57
fromEnum FETCH_ME = 58
fromEnum FETCH_ME_BQ = 59
fromEnum RBH = 60
fromEnum REMOTE_REF = 62
fromEnum TVAR_WATCH_QUEUE = 63
fromEnum INVARIANT_CHECK_QUEUE = 64
fromEnum ATOMIC_INVARIANT = 65
fromEnum TVAR = 66
fromEnum TREC_CHUNK = 67
fromEnum TREC_HEADER = 68
fromEnum ATOMICALLY_FRAME = 69
fromEnum CATCH_RETRY_FRAME = 70
fromEnum CATCH_STM_FRAME = 71
fromEnum WHITEHOLE = 72
toEnum 0 = INVALID_OBJECT
toEnum 1 = CONSTR
toEnum 2 = CONSTR_1_0
toEnum 3 = CONSTR_0_1
toEnum 4 = CONSTR_2_0
toEnum 5 = CONSTR_1_1
toEnum 6 = CONSTR_0_2
toEnum 7 = CONSTR_STATIC
toEnum 8 = CONSTR_NOCAF_STATIC
toEnum 9 = FUN
toEnum 10 = FUN_1_0
toEnum 11 = FUN_0_1
toEnum 12 = FUN_2_0
toEnum 13 = FUN_1_1
toEnum 14 = FUN_0_2
toEnum 15 = FUN_STATIC
toEnum 16 = THUNK
toEnum 17 = THUNK_1_0
toEnum 18 = THUNK_0_1
toEnum 19 = THUNK_2_0
toEnum 20 = THUNK_1_1
toEnum 21 = THUNK_0_2
toEnum 22 = THUNK_STATIC
toEnum 23 = THUNK_SELECTOR
toEnum 24 = BCO
toEnum 25 = AP
toEnum 26 = PAP
toEnum 27 = AP_STACK
toEnum 28 = IND
toEnum 29 = IND_OLDGEN
toEnum 30 = IND_PERM
toEnum 31 = IND_OLDGEN_PERM
toEnum 32 = IND_STATIC
toEnum 33 = RET_BCO
toEnum 34 = RET_SMALL
toEnum 35 = RET_BIG
toEnum 36 = RET_DYN
toEnum 37 = RET_FUN
toEnum 38 = UPDATE_FRAME
toEnum 39 = CATCH_FRAME
toEnum 40 = STOP_FRAME
toEnum 41 = CAF_BLACKHOLE
toEnum 42 = BLACKHOLE
toEnum 43 = SE_BLACKHOLE
toEnum 44 = SE_CAF_BLACKHOLE
toEnum 45 = MVAR_CLEAN
toEnum 46 = MVAR_DIRTY
toEnum 47 = ARR_WORDS
toEnum 48 = MUT_ARR_PTRS_CLEAN
toEnum 49 = MUT_ARR_PTRS_DIRTY
toEnum 50 = MUT_ARR_PTRS_FROZEN0
toEnum 51 = MUT_ARR_PTRS_FROZEN
toEnum 52 = MUT_VAR_CLEAN
toEnum 53 = MUT_VAR_DIRTY
toEnum 54 = WEAK
toEnum 55 = STABLE_NAME
toEnum 56 = TSO
toEnum 57 = BLOCKED_FETCH
toEnum 58 = FETCH_ME
toEnum 59 = FETCH_ME_BQ
toEnum 60 = RBH
toEnum 62 = REMOTE_REF
toEnum 63 = TVAR_WATCH_QUEUE
toEnum 64 = INVARIANT_CHECK_QUEUE
toEnum 65 = ATOMIC_INVARIANT
toEnum 66 = TVAR
toEnum 67 = TREC_CHUNK
toEnum 68 = TREC_HEADER
toEnum 69 = ATOMICALLY_FRAME
toEnum 70 = CATCH_RETRY_FRAME
toEnum 71 = CATCH_STM_FRAME
toEnum 72 = WHITEHOLE
toEnum n = error ("toEnum: ClosureType: invalid ClosureType: " ++ show n)