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