1 /* -----------------------------------------------------------------------------
2 * $Id: ClosureFlags.c,v 1.5 2000/01/12 12:39:20 simonmar Exp $
4 * (c) The GHC Team 1998-1999
8 * ---------------------------------------------------------------------------*/
12 StgWord16 closure_flags[] = {
15 * These *must* be in the same order as the closure types in
19 /* ToDo: some of these flags seem to be duplicated.
20 * - NS is the same as HNF, and the negation of THU
21 * (however, we set NS for indirections, which is probably the
22 * right thing to do, since we never get indirections pointing
26 /* HNF BTM NS STA THU MUT UPT SRT */
28 /* INVALID_OBJECT */ ( 0 ),
29 /* CONSTR */ (_HNF| _NS ),
30 /* CONSTR_1_0 */ (_HNF| _NS ),
31 /* CONSTR_0_1 */ (_HNF| _NS ),
32 /* CONSTR_2_0 */ (_HNF| _NS ),
33 /* CONSTR_1_1 */ (_HNF| _NS ),
34 /* CONSTR_0_2 */ (_HNF| _NS ),
35 /* CONSTR_INTLIKE */ (_HNF| _NS|_STA ),
36 /* CONSTR_CHARLIKE */ (_HNF| _NS|_STA ),
37 /* CONSTR_STATIC */ (_HNF| _NS|_STA ),
38 /* CONSTR_NOCAF_STATIC */ (_HNF| _NS|_STA ),
39 /* FUN */ (_HNF| _NS| _SRT ),
40 /* FUN_1_0 */ (_HNF| _NS ),
41 /* FUN_0_1 */ (_HNF| _NS ),
42 /* FUN_2_0 */ (_HNF| _NS ),
43 /* FUN_1_1 */ (_HNF| _NS ),
44 /* FUN_0_2 */ (_HNF| _NS ),
45 /* FUN_STATIC */ (_HNF| _NS|_STA| _SRT ),
46 /* THUNK */ ( _BTM| _THU| _SRT ),
47 /* THUNK_1_0 */ ( _BTM| _THU| _SRT ),
48 /* THUNK_0_1 */ ( _BTM| _THU| _SRT ),
49 /* THUNK_2_0 */ ( _BTM| _THU| _SRT ),
50 /* THUNK_1_1 */ ( _BTM| _THU| _SRT ),
51 /* THUNK_0_2 */ ( _BTM| _THU| _SRT ),
52 /* THUNK_STATIC */ ( _BTM| _STA|_THU| _SRT ),
53 /* THUNK_SELECTOR */ ( _BTM| _THU| _SRT ),
54 /* BCO */ (_HNF| _NS ),
55 /* AP_UPD */ ( _BTM| _THU ),
56 /* PAP */ (_HNF| _NS ),
58 /* IND_OLDGEN */ ( _NS ),
59 /* IND_PERM */ ( _NS ),
60 /* IND_OLDGEN_PERM */ ( _NS ),
61 /* IND_STATIC */ ( _NS|_STA ),
62 /* CAF_UNENTERED */ ( 0 ),
63 /* CAF_ENTERED */ ( 0 ),
64 /* CAF_BLACKHOLE */ ( _BTM|_NS| _MUT|_UPT ),
65 /* RET_BCO */ ( _BTM ),
66 /* RET_SMALL */ ( _BTM| _SRT),
67 /* RET_VEC_SMALL */ ( _BTM| _SRT),
68 /* RET_BIG */ ( _SRT),
69 /* RET_VEC_BIG */ ( _SRT),
70 /* RET_DYN */ ( _SRT),
71 /* UPDATE_FRAME */ ( _BTM ),
72 /* CATCH_FRAME */ ( _BTM ),
73 /* STOP_FRAME */ ( _BTM ),
74 /* SEQ_FRAME */ ( _BTM ),
75 /* BLACKHOLE */ ( _NS| _MUT|_UPT ),
76 /* BLACKHOLE_BQ */ ( _NS| _MUT|_UPT ),
77 /* SE_BLACKHOLE */ ( _NS| _UPT ),
78 /* SE_CAF_BLACKHOLE */ ( _NS| _UPT ),
79 /* MVAR */ (_HNF| _NS| _MUT|_UPT ),
80 /* ARR_WORDS */ (_HNF| _NS| _UPT ),
81 /* MUT_ARR_PTRS */ (_HNF| _NS| _MUT|_UPT ),
82 /* MUT_ARR_PTRS_FROZEN */ (_HNF| _NS| _MUT|_UPT ),
83 /* MUT_VAR */ (_HNF| _NS| _MUT|_UPT ),
84 /* WEAK */ (_HNF| _NS| _UPT ),
85 /* FOREIGN */ (_HNF| _NS| _UPT ),
86 /* STABLE_NAME */ (_HNF| _NS| _UPT ),
87 /* TSO */ (_HNF| _NS| _MUT|_UPT ),
88 /* BLOCKED_FETCH */ (_HNF| _NS ),
89 /* FETCH_ME */ (_HNF| _NS ),