X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FEvaluator.h;h=84a44b83c4648026e45ce057f44d0b1d41d2ba8d;hb=b756fcaa083986e10a6c0282fdaf677fc01f3308;hp=6c680e1cb3447533e3764aa8ed6eeee3b363d6ed;hpb=2878ae561adc49685cf0ac7cf43bb4e6b3f2eddb;p=ghc-hetmet.git diff --git a/ghc/rts/Evaluator.h b/ghc/rts/Evaluator.h index 6c680e1..84a44b8 100644 --- a/ghc/rts/Evaluator.h +++ b/ghc/rts/Evaluator.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Evaluator.h,v 1.7 2000/04/25 17:47:43 andy 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 ( Capability* cap, StgClosurePtr obj ); +extern StgThreadReturnCode interpretBCO ( Capability* cap ); extern nat marshall ( char arg_ty, void* arg ); extern nat unmarshall ( char res_ty, void* res ); @@ -53,3 +53,21 @@ 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