summaryrefslogtreecommitdiff
path: root/includes/StgFun.h
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2006-04-07 02:05:11 +0000
committerSimon Marlow <simonmar@microsoft.com>2006-04-07 02:05:11 +0000
commit0065d5ab628975892cea1ec7303f968c3338cbe1 (patch)
tree8e2afe0ab48ee33cf95009809d67c9649573ef92 /includes/StgFun.h
parent28a464a75e14cece5db40f2765a29348273ff2d2 (diff)
downloadhaskell-0065d5ab628975892cea1ec7303f968c3338cbe1.tar.gz
Reorganisation of the source tree
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.
Diffstat (limited to 'includes/StgFun.h')
-rw-r--r--includes/StgFun.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/includes/StgFun.h b/includes/StgFun.h
new file mode 100644
index 0000000000..e6f9b1fe0e
--- /dev/null
+++ b/includes/StgFun.h
@@ -0,0 +1,52 @@
+/* -----------------------------------------------------------------------------
+ * (c) The GHC Team, 2002
+ *
+ * Things for functions.
+ * ---------------------------------------------------------------------------*/
+
+#ifndef STGFUN_H
+#define STGFUN_H
+
+/* generic - function comes with a small bitmap */
+#define ARG_GEN 0
+
+/* generic - function comes with a large bitmap */
+#define ARG_GEN_BIG 1
+
+/* BCO - function is really a BCO */
+#define ARG_BCO 2
+
+/*
+ * Specialised function types: bitmaps and calling sequences
+ * for these functions are pre-generated: see ghc/utils/genapply and
+ * generated code in ghc/rts/AutoApply.cmm.
+ *
+ * NOTE: other places to change if you change this table:
+ * - utils/genapply/GenApply.hs: stackApplyTypes
+ * - compiler/codeGen/CgCallConv.lhs: stdPattern
+ */
+#define ARG_NONE 3
+#define ARG_N 4
+#define ARG_P 5
+#define ARG_F 6
+#define ARG_D 7
+#define ARG_L 8
+#define ARG_NN 9
+#define ARG_NP 10
+#define ARG_PN 11
+#define ARG_PP 12
+#define ARG_NNN 13
+#define ARG_NNP 14
+#define ARG_NPN 15
+#define ARG_NPP 16
+#define ARG_PNN 17
+#define ARG_PNP 18
+#define ARG_PPN 19
+#define ARG_PPP 20
+#define ARG_PPPP 21
+#define ARG_PPPPP 22
+#define ARG_PPPPPP 23
+#define ARG_PPPPPPP 24
+#define ARG_PPPPPPPP 25
+
+#endif /* STGFUN_H */