[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / includes / ClosureTypes.h
1 /* ----------------------------------------------------------------------------
2  * $Id: ClosureTypes.h,v 1.2 1998/12/02 13:20:58 simonm Exp $
3  * 
4  * Closure Type Constants
5  *
6  * -------------------------------------------------------------------------- */
7
8 #ifndef CLOSURETYPES_H
9 #define CLOSURETYPES_H
10
11 /* Out here because the native code generator needs to get at them. */
12
13 /* Object tag 0 raises an internal error */
14 #define INVALID_OBJECT          0
15
16 #define CONSTR                  1
17 /* #define CONSTR_p_np */       
18 #define CONSTR_INTLIKE          2
19 #define CONSTR_CHARLIKE         3
20 #define CONSTR_STATIC           4
21 #define CONSTR_NOCAF_STATIC     5
22
23 #define FUN                     6
24 #define FUN_STATIC              7
25
26 #define THUNK                   8
27 /* #define THUNK_p_np */        
28 #define THUNK_STATIC            9
29 #define THUNK_SELECTOR          10
30
31 #define BCO                     11
32
33 #define AP_UPD                  12
34 #define PAP                     13
35
36 #define IND                     14
37 #define IND_OLDGEN              15
38 #define IND_PERM                16
39 #define IND_OLDGEN_PERM         17
40 #define IND_STATIC              18
41
42 #define CAF_UNENTERED           19
43 #define CAF_ENTERED             20
44 #define CAF_BLACKHOLE           21
45
46 #define RET_BCO                 22
47 #define RET_SMALL               23
48 #define RET_VEC_SMALL           24
49 #define RET_BIG                 25
50 #define RET_VEC_BIG             26
51 #define RET_DYN                 27
52 #define UPDATE_FRAME            28
53 #define CATCH_FRAME             29
54 #define STOP_FRAME              30
55 #define SEQ_FRAME               31
56
57 #define BLACKHOLE               32
58 #define MVAR                    33
59
60 #define ARR_WORDS               34
61 #define ARR_PTRS                35
62
63 #define MUT_ARR_WORDS           36
64 #define MUT_ARR_PTRS            37
65 #define MUT_ARR_PTRS_FROZEN     38
66 #define MUT_VAR                 39
67
68 #define WEAK                    40
69 #define FOREIGN                 41
70
71 #define TSO                     42
72 #define BLOCKED_FETCH           43
73 #define FETCH_ME                44
74
75 #define EVACUATED               45
76
77 #endif CLOSURETYPES_H