summaryrefslogtreecommitdiff
path: root/includes/ClosureTypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/ClosureTypes.h')
-rw-r--r--includes/ClosureTypes.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/includes/ClosureTypes.h b/includes/ClosureTypes.h
new file mode 100644
index 0000000000..f8840264f3
--- /dev/null
+++ b/includes/ClosureTypes.h
@@ -0,0 +1,99 @@
+/* ----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team, 1998-2005
+ *
+ * Closure Type Constants: out here because the native code generator
+ * needs to get at them.
+ *
+ * -------------------------------------------------------------------------- */
+
+#ifndef CLOSURETYPES_H
+#define CLOSURETYPES_H
+
+/*
+ * 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 CONSTR 1
+#define CONSTR_1_0 2
+#define CONSTR_0_1 3
+#define CONSTR_2_0 4
+#define CONSTR_1_1 5
+#define CONSTR_0_2 6
+#define CONSTR_INTLIKE 7
+#define CONSTR_CHARLIKE 8
+#define CONSTR_STATIC 9
+#define CONSTR_NOCAF_STATIC 10
+#define FUN 11
+#define FUN_1_0 12
+#define FUN_0_1 13
+#define FUN_2_0 14
+#define FUN_1_1 15
+#define FUN_0_2 16
+#define FUN_STATIC 17
+#define THUNK 18
+#define THUNK_1_0 19
+#define THUNK_0_1 20
+#define THUNK_2_0 21
+#define THUNK_1_1 22
+#define THUNK_0_2 23
+#define THUNK_STATIC 24
+#define THUNK_SELECTOR 25
+#define BCO 26
+#define AP 27
+#define PAP 28
+#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_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 */