439e1b7e22d03f0b4345e7d54616278a0554a7af
[ghc-hetmet.git] / ghc / rts / ClosureFlags.c
1 /* -----------------------------------------------------------------------------
2  * $Id: ClosureFlags.c,v 1.3 1999/11/02 15:05:56 simonmar Exp $
3  *
4  * (c) The GHC Team 1998-1999
5  *
6  * Closure type flags
7  *
8  * ---------------------------------------------------------------------------*/
9
10 #include "Rts.h"
11
12 StgWord16 closure_flags[] = {
13
14 /* 
15  * These *must* be in the same order as the closure types in
16  * ClosureTypes.h.
17  */
18
19 /*                           HNF  BTM   NS  STA  THU MUT UPT SRT */
20                                                                     
21 /* INVALID_OBJECT       */ ( 0                                   ),
22 /* CONSTR               */ (_HNF|     _NS                        ),
23 /* CONSTR_1_0           */ (_HNF|     _NS                        ),
24 /* CONSTR_0_1           */ (_HNF|     _NS                        ),
25 /* CONSTR_2_0           */ (_HNF|     _NS                        ),
26 /* CONSTR_1_1           */ (_HNF|     _NS                        ),
27 /* CONSTR_0_2           */ (_HNF|     _NS                        ),
28 /* CONSTR_INTLIKE       */ (_HNF|     _NS|_STA                   ),
29 /* CONSTR_CHARLIKE      */ (_HNF|     _NS|_STA                   ),
30 /* CONSTR_STATIC        */ (_HNF|     _NS|_STA                   ),
31 /* CONSTR_NOCAF_STATIC  */ (_HNF|     _NS|_STA                   ),
32 /* FUN                  */ (_HNF|     _NS|                  _SRT ),
33 /* FUN_1_0              */ (_HNF|     _NS                        ),
34 /* FUN_0_1              */ (_HNF|     _NS                        ),
35 /* FUN_2_0              */ (_HNF|     _NS                        ),
36 /* FUN_1_1              */ (_HNF|     _NS                        ),
37 /* FUN_0_2              */ (_HNF|     _NS                        ),
38 /* FUN_STATIC           */ (_HNF|     _NS|_STA|             _SRT ),
39 /* THUNK                */ (     _BTM|         _THU|        _SRT ),
40 /* THUNK_1_0            */ (     _BTM|         _THU|        _SRT ),
41 /* THUNK_0_1            */ (     _BTM|         _THU|        _SRT ),
42 /* THUNK_2_0            */ (     _BTM|         _THU|        _SRT ),
43 /* THUNK_1_1            */ (     _BTM|         _THU|        _SRT ),
44 /* THUNK_0_2            */ (     _BTM|         _THU|        _SRT ),
45 /* THUNK_STATIC         */ (     _BTM|    _STA|_THU|        _SRT ),
46 /* THUNK_SELECTOR       */ (     _BTM|         _THU|        _SRT ),
47 /* BCO                  */ (_HNF|     _NS                        ),
48 /* AP_UPD               */ (     _BTM|         _THU              ),
49 /* PAP                  */ (_HNF|     _NS                        ),
50 /* IND                  */ ( 0                                   ),
51 /* IND_OLDGEN           */ ( 0                                   ),
52 /* IND_PERM             */ ( 0                                   ),
53 /* IND_OLDGEN_PERM      */ ( 0                                   ),
54 /* IND_STATIC           */ (              _STA                   ),
55 /* CAF_UNENTERED        */ ( 0                                   ),
56 /* CAF_ENTERED          */ ( 0                                   ),
57 /* BLACKHOLE_BQ         */ (     _BTM|_NS|         _MUT|_UPT     ),
58 /* RET_BCO              */ (     _BTM                            ),
59 /* RET_SMALL            */ (     _BTM|                       _SRT),
60 /* RET_VEC_SMALL        */ (     _BTM|                       _SRT),
61 /* RET_BIG              */ (                                 _SRT),
62 /* RET_VEC_BIG          */ (                                 _SRT),
63 /* RET_DYN              */ (                                 _SRT),
64 /* UPDATE_FRAME         */ (     _BTM                            ),
65 /* CATCH_FRAME          */ (     _BTM                            ),
66 /* STOP_FRAME           */ (     _BTM                            ),
67 /* SEQ_FRAME            */ (     _BTM                            ),
68 /* BLACKHOLE            */ (          _NS|              _UPT     ),
69 /* BLACKHOLE_BQ         */ (          _NS|         _MUT|_UPT     ),
70 /* SE_BLACKHOLE         */ (          _NS|              _UPT     ),
71 /* SE_CAF_BLACKHOLE     */ (          _NS|              _UPT     ),
72 /* MVAR                 */ (_HNF|     _NS|         _MUT|_UPT     ),
73 /* ARR_WORDS            */ (_HNF|     _NS|              _UPT     ),
74 /* MUT_ARR_PTRS         */ (_HNF|     _NS|         _MUT|_UPT     ),
75 /* MUT_ARR_PTRS_FROZEN  */ (_HNF|     _NS|         _MUT|_UPT     ),
76 /* MUT_VAR              */ (_HNF|     _NS|         _MUT|_UPT     ),
77 /* WEAK                 */ (_HNF|     _NS|              _UPT     ),
78 /* FOREIGN              */ (_HNF|     _NS|              _UPT     ),
79 /* STABLE_NAME          */ (_HNF|     _NS|              _UPT     ),
80 /* TSO                  */ (_HNF|     _NS|         _MUT|_UPT     ),
81 /* BLOCKED_FETCH        */ (_HNF|     _NS                        ),
82 /* FETCH_ME             */ (_HNF|     _NS                        ),
83 /* EVACUATED            */ ( 0                                   )
84 };