[project @ 1999-03-20 17:33:07 by sof]
[ghc-hetmet.git] / ghc / rts / Evaluator.h
1 /* -----------------------------------------------------------------------------
2  * $Id: Evaluator.h,v 1.4 1999/02/05 16:02:40 simonm Exp $
3  *
4  * (c) The GHC Team, 1998-1999
5  *
6  * Prototypes for functions in Evaluator.c
7  *
8  * ---------------------------------------------------------------------------*/
9
10 /* --------------------------------------------------------------------------
11  * Sizes of objects it constructs
12  * (used by Assembler)
13  * ------------------------------------------------------------------------*/
14
15 #define Izh_sizeW       CONSTR_sizeW(0,sizeofW(StgInt))
16 #define I64zh_sizeW     CONSTR_sizeW(0,sizeofW(StgInt64))
17 #define Wzh_sizeW       CONSTR_sizeW(0,sizeofW(StgWord))
18 #define Azh_sizeW       CONSTR_sizeW(0,sizeofW(StgAddr))
19 #define Czh_sizeW       CONSTR_sizeW(0,sizeofW(StgWord))
20 #define Fzh_sizeW       CONSTR_sizeW(0,sizeofW(StgFloat))
21 #define Dzh_sizeW       CONSTR_sizeW(0,sizeofW(StgDouble))
22 #define Stablezh_sizeW  CONSTR_sizeW(0,sizeofW(StgStablePtr))
23 #define Genericzh_sizeW CONSTR_sizeW(1,0)
24
25 /* --------------------------------------------------------------------------
26  * 
27  * ------------------------------------------------------------------------*/
28
29 extern StgThreadReturnCode enter        ( StgClosurePtr obj );
30
31 extern nat marshall   ( char arg_ty, void* arg );
32 extern nat unmarshall ( char res_ty, void* res );
33 extern nat argSize    ( const char* ks );
34