[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / rts / Evaluator.h
1 /* -----------------------------------------------------------------------------
2  * $Id: Evaluator.h,v 1.2 1998/12/02 13:28:21 simonm 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