X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FClosureTypes.h;h=18e94489b9d12bd71c5a3e7e600fabcfcab3bc4f;hb=da69fa9c5047c5b0d05bdb05eaddefa1eb5d5a36;hp=e53c3fec755e96d9c0166da87e79cbdb639695c2;hpb=030a1217712fb01f9feeee436efd6c0523aa3b43;p=ghc-hetmet.git diff --git a/ghc/includes/ClosureTypes.h b/ghc/includes/ClosureTypes.h index e53c3fe..18e9448 100644 --- a/ghc/includes/ClosureTypes.h +++ b/ghc/includes/ClosureTypes.h @@ -1,16 +1,24 @@ /* ---------------------------------------------------------------------------- - * $Id: ClosureTypes.h,v 1.10 1999/03/15 16:30:24 simonm Exp $ * - * (c) The GHC Team, 1998-1999 + * (c) The GHC Team, 1998-2005 * - * Closure Type Constants + * Closure Type Constants: out here because the native code generator + * needs to get at them. * * -------------------------------------------------------------------------- */ #ifndef CLOSURETYPES_H #define CLOSURETYPES_H -/* Out here because the native code generator needs to get at them. */ +/* + * WARNING WARNING WARNING + * + * Keep the closure tags contiguous: rts/ClosureFlags.c relies on + * this. + * + * If you add or delete any closure types, don't forget to update + * the closure flags table in rts/ClosureFlags.c. + */ /* Object tag 0 raises an internal error */ #define INVALID_OBJECT 0 @@ -40,40 +48,51 @@ #define THUNK_STATIC 24 #define THUNK_SELECTOR 25 #define BCO 26 -#define AP_UPD 27 +#define AP 27 #define PAP 28 -#define IND 29 -#define IND_OLDGEN 30 -#define IND_PERM 31 -#define IND_OLDGEN_PERM 32 -#define IND_STATIC 33 -#define CAF_UNENTERED 34 -#define CAF_ENTERED 35 -#define CAF_BLACKHOLE 36 -#define RET_BCO 37 -#define RET_SMALL 38 -#define RET_VEC_SMALL 39 -#define RET_BIG 40 -#define RET_VEC_BIG 41 -#define RET_DYN 42 -#define UPDATE_FRAME 43 -#define CATCH_FRAME 44 -#define STOP_FRAME 45 -#define SEQ_FRAME 46 -#define BLACKHOLE 47 -#define BLACKHOLE_BQ 48 +#define AP_STACK 29 +#define IND 30 +#define IND_OLDGEN 31 +#define IND_PERM 32 +#define IND_OLDGEN_PERM 33 +#define IND_STATIC 34 +#define RET_BCO 35 +#define RET_SMALL 36 +#define RET_VEC_SMALL 37 +#define RET_BIG 38 +#define RET_VEC_BIG 39 +#define RET_DYN 40 +#define RET_FUN 41 +#define UPDATE_FRAME 42 +#define CATCH_FRAME 43 +#define STOP_FRAME 44 +#define CAF_BLACKHOLE 45 +#define BLACKHOLE 46 +#define SE_BLACKHOLE 47 +#define SE_CAF_BLACKHOLE 48 #define MVAR 49 #define ARR_WORDS 50 -#define MUT_ARR_PTRS 51 -#define MUT_ARR_PTRS_FROZEN 52 -#define MUT_VAR 53 -#define WEAK 54 -#define FOREIGN 55 -#define STABLE_NAME 56 -#define TSO 57 -#define BLOCKED_FETCH 58 -#define FETCH_ME 59 -#define EVACUATED 60 -#define N_CLOSURE_TYPES 61 +#define MUT_ARR_PTRS_CLEAN 51 +#define MUT_ARR_PTRS_DIRTY 52 +#define MUT_ARR_PTRS_FROZEN0 53 +#define MUT_ARR_PTRS_FROZEN 54 +#define MUT_VAR 55 +#define WEAK 56 +#define STABLE_NAME 57 +#define TSO 58 +#define BLOCKED_FETCH 59 +#define FETCH_ME 60 +#define FETCH_ME_BQ 61 +#define RBH 62 +#define EVACUATED 63 +#define REMOTE_REF 64 +#define TVAR_WAIT_QUEUE 65 +#define TVAR 66 +#define TREC_CHUNK 67 +#define TREC_HEADER 68 +#define ATOMICALLY_FRAME 69 +#define CATCH_RETRY_FRAME 70 +#define CATCH_STM_FRAME 71 +#define N_CLOSURE_TYPES 72 -#endif CLOSURETYPES_H +#endif /* CLOSURETYPES_H */