Merge branch 'master' of http://darcs.haskell.org/ghc
[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 * If you add or delete any closure types, don't forget to update
17 * the closure flags table in rts/ClosureFlags.c.
18 */
19
20 /* Object tag 0 raises an internal error */
21 #define INVALID_OBJECT 0
22 #define CONSTR 1
23 #define CONSTR_1_0 2
24 #define CONSTR_0_1 3
25 #define CONSTR_2_0 4
26 #define CONSTR_1_1 5
27 #define CONSTR_0_2 6
28 #define CONSTR_STATIC 7
29 #define CONSTR_NOCAF_STATIC 8
30 #define FUN 9
31 #define FUN_1_0 10
32 #define FUN_0_1 11
33 #define FUN_2_0 12
34 #define FUN_1_1 13
35 #define FUN_0_2 14
36 #define FUN_STATIC 15
37 #define THUNK 16
38 #define THUNK_1_0 17
39 #define THUNK_0_1 18
40 #define THUNK_2_0 19
41 #define THUNK_1_1 20
42 #define THUNK_0_2 21
43 #define THUNK_STATIC 22
44 #define THUNK_SELECTOR 23
45 #define BCO 24
46 #define AP 25
47 #define PAP 26
48 #define AP_STACK 27
49 #define IND 28
50 #define IND_PERM 29
51 #define IND_STATIC 30
52 #define RET_BCO 31
53 #define RET_SMALL 32
54 #define RET_BIG 33
55 #define RET_FUN 34
56 #define UPDATE_FRAME 35
57 #define CATCH_FRAME 36
58 #define UNDERFLOW_FRAME 37
59 #define STOP_FRAME 38
60 #define BLOCKING_QUEUE 39
61 #define BLACKHOLE 40
62 #define MVAR_CLEAN 41
63 #define MVAR_DIRTY 42
64 #define TVAR 43
65 #define ARR_WORDS 44
66 #define MUT_ARR_PTRS_CLEAN 45
67 #define MUT_ARR_PTRS_DIRTY 46
68 #define MUT_ARR_PTRS_FROZEN0 47
69 #define MUT_ARR_PTRS_FROZEN 48
70 #define MUT_VAR_CLEAN 49
71 #define MUT_VAR_DIRTY 50
72 #define WEAK 51
73 #define PRIM 52
74 #define MUT_PRIM 53
75 #define TSO 54
76 #define STACK 55
77 #define TREC_CHUNK 56
78 #define ATOMICALLY_FRAME 57
79 #define CATCH_RETRY_FRAME 58
80 #define CATCH_STM_FRAME 59
81 #define WHITEHOLE 60
82 #define N_CLOSURE_TYPES 61
83
84 #endif /* RTS_STORAGE_CLOSURETYPES_H */