[project @ 2000-01-12 12:39:20 by simonmar]
authorsimonmar <unknown>
Wed, 12 Jan 2000 12:39:20 +0000 (12:39 +0000)
committersimonmar <unknown>
Wed, 12 Jan 2000 12:39:20 +0000 (12:39 +0000)
mark INDirections as non-sparkable.

ghc/rts/ClosureFlags.c

index 17b6892..a7fdb0b 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: ClosureFlags.c,v 1.4 1999/11/09 15:46:49 simonmar Exp $
+ * $Id: ClosureFlags.c,v 1.5 2000/01/12 12:39:20 simonmar Exp $
  *
  * (c) The GHC Team 1998-1999
  *
@@ -16,6 +16,13 @@ StgWord16 closure_flags[] = {
  * 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.)
+ */
+
 /*                          HNF  BTM   NS  STA  THU MUT UPT SRT */
                                                                    
 /* INVALID_OBJECT       */ ( 0                                   ),
@@ -47,11 +54,11 @@ StgWord16 closure_flags[] = {
 /* 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|         _MUT|_UPT     ),