RTS tidyup sweep, first phase
[ghc.git] / includes / rts / storage / ClosureTypes.h
1 /* ----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2005
4 *
5 * Closure Type Constants: out here because the native code generator
6 * needs to get at them.
7 *
8 * -------------------------------------------------------------------------- */
9
10 #ifndef RTS_STORAGE_CLOSURETYPES_H
11 #define RTS_STORAGE_CLOSURETYPES_H
12
13 /*
14 * WARNING WARNING WARNING
15 *
16 * Keep the closure tags contiguous: rts/ClosureFlags.c relies on
17 * this.
18 *
19 * If you add or delete any closure types, don't forget to update
20 * the closure flags table in rts/ClosureFlags.c.
21 */
22
23 /* Object tag 0 raises an internal error */
24 #define INVALID_OBJECT 0
25 #define CONSTR 1
26 #define CONSTR_1_0 2
27 #define CONSTR_0_1 3
28 #define CONSTR_2_0 4
29 #define CONSTR_1_1 5
30 #define CONSTR_0_2 6
31 #define CONSTR_STATIC 7
32 #define CONSTR_NOCAF_STATIC 8
33 #define FUN 9
34 #define FUN_1_0 10
35 #define FUN_0_1 11
36 #define FUN_2_0 12
37 #define FUN_1_1 13
38 #define FUN_0_2 14
39 #define FUN_STATIC 15
40 #define THUNK 16
41 #define THUNK_1_0 17
42 #define THUNK_0_1 18
43 #define THUNK_2_0 19
44 #define THUNK_1_1 20
45 #define THUNK_0_2 21
46 #define THUNK_STATIC 22
47 #define THUNK_SELECTOR 23
48 #define BCO 24
49 #define AP 25
50 #define PAP 26
51 #define AP_STACK 27
52 #define IND 28
53 #define IND_OLDGEN 29
54 #define IND_PERM 30
55 #define IND_OLDGEN_PERM 31
56 #define IND_STATIC 32
57 #define RET_BCO 33
58 #define RET_SMALL 34
59 #define RET_BIG 35
60 #define RET_DYN 36
61 #define RET_FUN 37
62 #define UPDATE_FRAME 38
63 #define CATCH_FRAME 39
64 #define STOP_FRAME 40
65 #define CAF_BLACKHOLE 41
66 #define BLACKHOLE 42
67 #define MVAR_CLEAN 43
68 #define MVAR_DIRTY 44
69 #define ARR_WORDS 45
70 #define MUT_ARR_PTRS_CLEAN 46
71 #define MUT_ARR_PTRS_DIRTY 47
72 #define MUT_ARR_PTRS_FROZEN0 48
73 #define MUT_ARR_PTRS_FROZEN 49
74 #define MUT_VAR_CLEAN 50
75 #define MUT_VAR_DIRTY 51
76 #define WEAK 52
77 #define STABLE_NAME 53
78 #define TSO 54
79 #define BLOCKED_FETCH 55
80 #define FETCH_ME 56
81 #define FETCH_ME_BQ 57
82 #define RBH 58
83 #define REMOTE_REF 59
84 #define TVAR_WATCH_QUEUE 60
85 #define INVARIANT_CHECK_QUEUE 61
86 #define ATOMIC_INVARIANT 62
87 #define TVAR 63
88 #define TREC_CHUNK 64
89 #define TREC_HEADER 65
90 #define ATOMICALLY_FRAME 66
91 #define CATCH_RETRY_FRAME 67
92 #define CATCH_STM_FRAME 68
93 #define WHITEHOLE 69
94 #define N_CLOSURE_TYPES 70
95
96 #endif /* RTS_STORAGE_CLOSURETYPES_H */