1 /* ----------------------------------------------------------------------------
3 * (c) The GHC Team, 1998-2005
5 * Closure Type Constants: out here because the native code generator
6 * needs to get at them.
8 * -------------------------------------------------------------------------- */
10 #ifndef CLOSURETYPES_H
11 #define CLOSURETYPES_H
14 * WARNING WARNING WARNING
16 * Keep the closure tags contiguous: rts/ClosureFlags.c relies on
19 * If you add or delete any closure types, don't forget to update
20 * the closure flags table in rts/ClosureFlags.c.
23 /* Object tag 0 raises an internal error */
24 #define INVALID_OBJECT 0
31 #define CONSTR_INTLIKE 7
32 #define CONSTR_CHARLIKE 8
33 #define CONSTR_STATIC 9
34 #define CONSTR_NOCAF_STATIC 10
48 #define THUNK_STATIC 24
49 #define THUNK_SELECTOR 25
57 #define IND_OLDGEN_PERM 33
61 #define RET_VEC_SMALL 37
63 #define RET_VEC_BIG 39
66 #define UPDATE_FRAME 42
67 #define CATCH_FRAME 43
69 #define CAF_BLACKHOLE 45
71 #define SE_BLACKHOLE 47
72 #define SE_CAF_BLACKHOLE 48
75 #define MUT_ARR_PTRS_CLEAN 51
76 #define MUT_ARR_PTRS_DIRTY 52
77 #define MUT_ARR_PTRS_FROZEN0 53
78 #define MUT_ARR_PTRS_FROZEN 54
79 #define MUT_VAR_CLEAN 55
80 #define MUT_VAR_DIRTY 56
82 #define STABLE_NAME 58
84 #define BLOCKED_FETCH 60
86 #define FETCH_ME_BQ 62
90 #define TVAR_WAIT_QUEUE 66
93 #define TREC_HEADER 69
94 #define ATOMICALLY_FRAME 70
95 #define CATCH_RETRY_FRAME 71
96 #define CATCH_STM_FRAME 72
97 #define N_CLOSURE_TYPES 73
99 #endif /* CLOSURETYPES_H */