[project @ 2000-12-14 15:19:47 by sewardj]
[ghc-hetmet.git] / ghc / rts / Evaluator.h
index 3e4cf0d..84a44b8 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Evaluator.h,v 1.5 1999/10/22 15:58:25 sewardj Exp $
+ * $Id: Evaluator.h,v 1.9 2000/12/14 15:19:47 sewardj Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -26,7 +26,7 @@
  * 
  * ------------------------------------------------------------------------*/
 
-extern StgThreadReturnCode enter        ( StgClosurePtr obj );
+extern StgThreadReturnCode interpretBCO ( Capability* cap );
 
 extern nat marshall   ( char arg_ty, void* arg );
 extern nat unmarshall ( char res_ty, void* res );
@@ -51,3 +51,23 @@ extern void   PushTaggedDouble     ( StgDouble    );
 
 extern void   PushPtr        ( StgPtr );
 extern StgPtr PopPtr         ( void );
+
+extern int    numEnters;
+
+/*-------------------------------------------------------------------------*/
+#ifdef XMLAMBDA
+
+#define MAX_CALL_VALUES  100
+
+/* Self contained CallInfo structure for the i_ccall instruction */
+typedef struct _CallInfo {
+  unsigned int  argCount;
+  unsigned int  resultCount;
+  char          callConv;     /* 's'=stdcall, 'c'=ccall */
+  
+/* The strings arg_tys and result_tys reside here. 
+   This allows us to put the complete CallInfo in the nonptrwords of a BCO */
+  char          data[MAX_CALL_VALUES+2];  
+} CallInfo;
+
+#endif