add support for x86_64; foreign import is now supported in GHCi on x86_64
[ghc-hetmet.git] / ghc / includes / ClosureTypes.h
index e53c3fe..f884026 100644 (file)
@@ -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
 #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_CLEAN          55
+#define MUT_VAR_DIRTY          56
+#define WEAK                   57
+#define STABLE_NAME            58
+#define TSO                    59
+#define BLOCKED_FETCH          60
+#define FETCH_ME                61
+#define FETCH_ME_BQ             62
+#define RBH                     63
+#define EVACUATED               64
+#define REMOTE_REF              65
+#define TVAR_WAIT_QUEUE         66
+#define TVAR                    67
+#define TREC_CHUNK              68
+#define TREC_HEADER             69
+#define ATOMICALLY_FRAME        70
+#define CATCH_RETRY_FRAME       71
+#define CATCH_STM_FRAME         72
+#define N_CLOSURE_TYPES         73
 
-#endif CLOSURETYPES_H
+#endif /* CLOSURETYPES_H */