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