X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FClosureFlags.c;h=89e98e4728f600a78659d8490f880eb250bd9dd9;hb=b682cf8d64f44ce16eddac9b5efbe01e993bfbe7;hp=ded6c03de8c77b03a93c064f85d6b7926e171c84;hpb=030a1217712fb01f9feeee436efd6c0523aa3b43;p=ghc-hetmet.git diff --git a/ghc/rts/ClosureFlags.c b/ghc/rts/ClosureFlags.c index ded6c03..89e98e4 100644 --- a/ghc/rts/ClosureFlags.c +++ b/ghc/rts/ClosureFlags.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $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 * @@ -16,6 +16,14 @@ 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.) + */ + +/* 0 1 2 3 4 5 6 7 */ /* HNF BTM NS STA THU MUT UPT SRT */ /* INVALID_OBJECT */ ( 0 ), @@ -47,14 +55,14 @@ 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| _UPT ), +/* CAF_BLACKHOLE */ ( _BTM|_NS| _MUT|_UPT ), /* RET_BCO */ ( _BTM ), /* RET_SMALL */ ( _BTM| _SRT), /* RET_VEC_SMALL */ ( _BTM| _SRT), @@ -65,8 +73,10 @@ StgWord16 closure_flags[] = { /* 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 ), @@ -75,8 +85,14 @@ StgWord16 closure_flags[] = { /* 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 ) };