e1a9f2c591c1021afbc9c08f7d5637997d7471fa
[ghc-hetmet.git] / ghc / includes / ClosureTypes.h
1 /* ----------------------------------------------------------------------------
2  * $Id: ClosureTypes.h,v 1.12 2000/01/13 14:34:00 hwloidl Exp $
3  * 
4  * (c) The GHC Team, 1998-1999
5  *
6  * Closure Type Constants
7  *
8  * -------------------------------------------------------------------------- */
9
10 #ifndef CLOSURETYPES_H
11 #define CLOSURETYPES_H
12
13 /* Out here because the native code generator needs to get at them. */
14
15 /* Object tag 0 raises an internal error */
16 #define INVALID_OBJECT          0
17 #define CONSTR                  1
18 #define CONSTR_1_0              2
19 #define CONSTR_0_1              3
20 #define CONSTR_2_0              4
21 #define CONSTR_1_1              5
22 #define CONSTR_0_2              6
23 #define CONSTR_INTLIKE          7 
24 #define CONSTR_CHARLIKE         8 
25 #define CONSTR_STATIC           9 
26 #define CONSTR_NOCAF_STATIC     10
27 #define FUN                     11
28 #define FUN_1_0                 12
29 #define FUN_0_1                 13
30 #define FUN_2_0                 14
31 #define FUN_1_1                 15
32 #define FUN_0_2                 16
33 #define FUN_STATIC              17
34 #define THUNK                   18
35 #define THUNK_1_0               19
36 #define THUNK_0_1               20
37 #define THUNK_2_0               21
38 #define THUNK_1_1               22
39 #define THUNK_0_2               23
40 #define THUNK_STATIC            24
41 #define THUNK_SELECTOR          25
42 #define BCO                     26
43 #define AP_UPD                  27
44 #define PAP                     28
45 #define IND                     29
46 #define IND_OLDGEN              30
47 #define IND_PERM                31
48 #define IND_OLDGEN_PERM         32
49 #define IND_STATIC              33
50 #define CAF_UNENTERED           34
51 #define CAF_ENTERED             35
52 #define CAF_BLACKHOLE           36
53 #define RET_BCO                 37
54 #define RET_SMALL               38
55 #define RET_VEC_SMALL           39
56 #define RET_BIG                 40
57 #define RET_VEC_BIG             41
58 #define RET_DYN                 42
59 #define UPDATE_FRAME            43
60 #define CATCH_FRAME             44
61 #define STOP_FRAME              45
62 #define SEQ_FRAME               46
63 #define BLACKHOLE               47
64 #define BLACKHOLE_BQ            48
65 #define SE_BLACKHOLE            49
66 #define SE_CAF_BLACKHOLE        50
67 #define MVAR                    51
68 #define ARR_WORDS               52
69 #define MUT_ARR_PTRS            53
70 #define MUT_ARR_PTRS_FROZEN     54
71 #define MUT_VAR                 55
72 #define WEAK                    56
73 #define FOREIGN                 57
74 #define STABLE_NAME             58
75
76 #define TSO                     59
77 #define BLOCKED_FETCH           60
78 #define FETCH_ME                61
79 #define FETCH_ME_BQ             62
80 #define RBH                     63
81
82 #define EVACUATED               64
83
84 #define N_CLOSURE_TYPES         65
85
86 #endif CLOSURETYPES_H