Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

107 lines (99 sloc) 5.747 kb
/* -----------------------------------------------------------------------------
*
* (c) The GHC Team 1998-1999
*
* Closure type flags
*
* ---------------------------------------------------------------------------*/
#include "PosixSource.h"
#include "Rts.h"
StgWord16 closure_flags[] = {
/*
* These *must* be in the same order as the closure types in
* 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 8 */
/* HNF BTM NS STA THU MUT UPT SRT IND */
/* INVALID_OBJECT = */ ( 0 ),
/* CONSTR = */ (_HNF| _NS ),
/* CONSTR_1_0 = */ (_HNF| _NS ),
/* CONSTR_0_1 = */ (_HNF| _NS ),
/* CONSTR_2_0 = */ (_HNF| _NS ),
/* CONSTR_1_1 = */ (_HNF| _NS ),
/* CONSTR_0_2 = */ (_HNF| _NS ),
/* CONSTR_STATIC = */ (_HNF| _NS|_STA ),
/* CONSTR_NOCAF_STATIC = */ (_HNF| _NS|_STA ),
/* FUN = */ (_HNF| _NS| _SRT ),
/* FUN_1_0 = */ (_HNF| _NS| _SRT ),
/* FUN_0_1 = */ (_HNF| _NS| _SRT ),
/* FUN_2_0 = */ (_HNF| _NS| _SRT ),
/* FUN_1_1 = */ (_HNF| _NS| _SRT ),
/* FUN_0_2 = */ (_HNF| _NS| _SRT ),
/* FUN_STATIC = */ (_HNF| _NS|_STA| _SRT ),
/* THUNK = */ ( _BTM| _THU| _SRT ),
/* THUNK_1_0 = */ ( _BTM| _THU| _SRT ),
/* THUNK_0_1 = */ ( _BTM| _THU| _SRT ),
/* THUNK_2_0 = */ ( _BTM| _THU| _SRT ),
/* THUNK_1_1 = */ ( _BTM| _THU| _SRT ),
/* THUNK_0_2 = */ ( _BTM| _THU| _SRT ),
/* THUNK_STATIC = */ ( _BTM| _STA|_THU| _SRT ),
/* THUNK_SELECTOR = */ ( _BTM| _THU| _SRT ),
/* BCO = */ (_HNF| _NS ),
/* AP = */ ( _THU ),
/* PAP = */ (_HNF| _NS ),
/* AP_STACK = */ ( _THU ),
/* IND = */ ( _NS| _IND ),
/* IND_OLDGEN = */ ( _NS| _IND ),
/* IND_PERM = */ ( _NS| _IND ),
/* IND_OLDGEN_PERM = */ ( _NS| _IND ),
/* IND_STATIC = */ ( _NS|_STA| _IND ),
/* RET_BCO = */ ( _BTM ),
/* RET_SMALL = */ ( _BTM| _SRT ),
/* RET_BIG = */ ( _SRT ),
/* RET_DYN = */ ( _SRT ),
/* RET_FUN = */ ( 0 ),
/* UPDATE_FRAME = */ ( _BTM ),
/* CATCH_FRAME = */ ( _BTM ),
/* STOP_FRAME = */ ( _BTM ),
/* CAF_BLACKHOLE = */ ( _BTM|_NS| _UPT ),
/* BLACKHOLE = */ ( _NS| _UPT ),
/* SE_BLACKHOLE = */ ( _NS| _UPT ),
/* SE_CAF_BLACKHOLE = */ ( _NS| _UPT ),
/* MVAR_CLEAN = */ (_HNF| _NS| _MUT|_UPT ),
/* MVAR_DIRTY = */ (_HNF| _NS| _MUT|_UPT ),
/* ARR_WORDS = */ (_HNF| _NS| _UPT ),
/* MUT_ARR_PTRS_CLEAN = */ (_HNF| _NS| _MUT|_UPT ),
/* MUT_ARR_PTRS_DIRTY = */ (_HNF| _NS| _MUT|_UPT ),
/* MUT_ARR_PTRS_FROZEN0 = */ (_HNF| _NS| _MUT|_UPT ),
/* MUT_ARR_PTRS_FROZEN = */ (_HNF| _NS| _UPT ),
/* MUT_VAR_CLEAN = */ (_HNF| _NS| _MUT|_UPT ),
/* MUT_VAR_DIRTY = */ (_HNF| _NS| _MUT|_UPT ),
/* WEAK = */ (_HNF| _NS| _UPT ),
/* STABLE_NAME = */ (_HNF| _NS| _UPT ),
/* TSO = */ (_HNF| _NS| _MUT|_UPT ),
/* BLOCKED_FETCH = */ (_HNF| _NS| _MUT|_UPT ),
/* FETCH_ME = */ (_HNF| _NS| _MUT|_UPT ),
/* FETCH_ME_BQ = */ ( _NS| _MUT|_UPT ),
/* RBH = */ ( _NS| _MUT|_UPT ),
/* EVACUATED = */ ( 0 ),
/* REMOTE_REF = */ (_HNF| _NS| _UPT ),
/* TVAR_WATCH_QUEUE = */ ( _NS| _MUT|_UPT ),
/* INVARIANT_CHECK_QUEUE= */ ( _NS| _MUT|_UPT ),
/* ATOMIC_INVARIANT = */ ( _NS| _MUT|_UPT ),
/* TVAR = */ (_HNF| _NS| _MUT|_UPT ),
/* TREC_CHUNK = */ ( _NS| _MUT|_UPT ),
/* TREC_HEADER = */ ( _NS| _MUT|_UPT ),
/* ATOMICALLY_FRAME = */ ( _BTM ),
/* CATCH_RETRY_FRAME = */ ( _BTM ),
/* CATCH_STM_FRAME = */ ( _BTM ),
/* WHITEHOLE = */ ( 0 )
};
#if N_CLOSURE_TYPES != 73
#error Closure types changed: update ClosureFlags.c!
#endif
Jump to Line
Something went wrong with that request. Please try again.