/* -----------------------------------------------------------------------------
- * $Id: ClosureFlags.c,v 1.1 1999/03/15 16:30:27 simonm Exp $
+ * $Id: ClosureFlags.c,v 1.6 2000/01/13 14:34:02 hwloidl Exp $
*
* (c) The GHC Team 1998-1999
*
* ClosureTypes.h.
*/
+/* ToDo: some of these flags seem to be duplicated.
+ * - NS is the same as HNF, and the negation of THU
+ * (however, we set NS for indirections, which is probably the
+ * right thing to do, since we never get indirections pointing
+ * to thunks.)
+ */
+
+/* 0 1 2 3 4 5 6 7 */
/* HNF BTM NS STA THU MUT UPT SRT */
/* INVALID_OBJECT */ ( 0 ),
/* BCO */ (_HNF| _NS ),
/* AP_UPD */ ( _BTM| _THU ),
/* PAP */ (_HNF| _NS ),
-/* IND */ ( 0 ),
-/* IND_OLDGEN */ ( 0 ),
-/* IND_PERM */ ( 0 ),
-/* IND_OLDGEN_PERM */ ( 0 ),
-/* IND_STATIC */ ( _STA ),
+/* IND */ ( _NS ),
+/* IND_OLDGEN */ ( _NS ),
+/* IND_PERM */ ( _NS ),
+/* IND_OLDGEN_PERM */ ( _NS ),
+/* IND_STATIC */ ( _NS|_STA ),
/* CAF_UNENTERED */ ( 0 ),
/* CAF_ENTERED */ ( 0 ),
-/* CAF_BLACKHOLE */ ( _BTM|_NS| _UPT ),
+/* CAF_BLACKHOLE */ ( _BTM|_NS| _MUT|_UPT ),
/* RET_BCO */ ( _BTM ),
/* RET_SMALL */ ( _BTM| _SRT),
/* RET_VEC_SMALL */ ( _BTM| _SRT),
/* CATCH_FRAME */ ( _BTM ),
/* STOP_FRAME */ ( _BTM ),
/* SEQ_FRAME */ ( _BTM ),
-/* BLACKHOLE */ ( _NS| _UPT ),
+/* BLACKHOLE */ ( _NS| _MUT|_UPT ),
/* BLACKHOLE_BQ */ ( _NS| _MUT|_UPT ),
+/* SE_BLACKHOLE */ ( _NS| _UPT ),
+/* SE_CAF_BLACKHOLE */ ( _NS| _UPT ),
/* MVAR */ (_HNF| _NS| _MUT|_UPT ),
/* ARR_WORDS */ (_HNF| _NS| _UPT ),
/* MUT_ARR_PTRS */ (_HNF| _NS| _MUT|_UPT ),
/* WEAK */ (_HNF| _NS| _UPT ),
/* FOREIGN */ (_HNF| _NS| _UPT ),
/* STABLE_NAME */ (_HNF| _NS| _UPT ),
+
/* TSO */ (_HNF| _NS| _MUT|_UPT ),
-/* BLOCKED_FETCH */ (_HNF| _NS ),
-/* FETCH_ME */ (_HNF| _NS ),
-/* EVACUATED */ ( 0 )
+/* BLOCKED_FETCH */ (_HNF| _NS| _MUT|_UPT ),
+/* FETCH_ME */ (_HNF| _NS| _MUT|_UPT ),
+/* FETCH_ME_BQ */ ( _NS| _MUT|_UPT ),
+/* RBH */ ( _NS| _MUT|_UPT ),
+
+/* EVACUATED */ ( 0 ),
+
+/* N_CLOSURE_TYPES */ ( 0 )
};