X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FInterpreter.h;h=1823a921489947a07b6cc5c01dac3d2fc183f330;hb=70541676b8c2de0bcecf42eb2edcb2a11f53f83e;hp=6b48864a49e41711f06b1fc59802fe3d3bca2e31;hpb=4e551714553895ce16bc1758027df118c77188b0;p=ghc-hetmet.git diff --git a/ghc/rts/Interpreter.h b/ghc/rts/Interpreter.h index 6b48864..1823a92 100644 --- a/ghc/rts/Interpreter.h +++ b/ghc/rts/Interpreter.h @@ -1,80 +1,15 @@ /* ----------------------------------------------------------------------------- - * $Id: Interpreter.h,v 1.1 2000/12/19 13:09:52 sewardj Exp $ + * $Id: Interpreter.h,v 1.4 2002/12/11 15:36:42 simonmar Exp $ * - * (c) The GHC Team, 1998-2000. + * (c) The GHC Team, 1998-2002. * * Prototypes for functions in Interpreter.c * * ---------------------------------------------------------------------------*/ -#ifdef GHCI +#ifndef INTERPRETER_H +#define INTERPRETER_H -extern StgThreadReturnCode interpretBCO ( Capability* cap ); +extern StgThreadReturnCode interpretBCO (Capability* cap); -#endif - -#if 0 -/* -------------------------------------------------------------------------- - * Sizes of objects it constructs - * (used by Assembler) - * ------------------------------------------------------------------------*/ - -#define Izh_sizeW CONSTR_sizeW(0,sizeofW(StgInt)) -#define I64zh_sizeW CONSTR_sizeW(0,sizeofW(StgInt64)) -#define Wzh_sizeW CONSTR_sizeW(0,sizeofW(StgWord)) -#define Azh_sizeW CONSTR_sizeW(0,sizeofW(StgAddr)) -#define Czh_sizeW CONSTR_sizeW(0,sizeofW(StgWord)) -#define Fzh_sizeW CONSTR_sizeW(0,sizeofW(StgFloat)) -#define Dzh_sizeW CONSTR_sizeW(0,sizeofW(StgDouble)) -#define Stablezh_sizeW CONSTR_sizeW(0,sizeofW(StgStablePtr)) -#define Genericzh_sizeW CONSTR_sizeW(1,0) - -/* -------------------------------------------------------------------------- - * - * ------------------------------------------------------------------------*/ - - -extern nat marshall ( char arg_ty, void* arg ); -extern nat unmarshall ( char res_ty, void* res ); -extern nat argSize ( const char* ks ); - - -extern StgInt PopTaggedInt ( void ) ; -extern StgWord PopTaggedWord ( void ) ; -extern StgAddr PopTaggedAddr ( void ) ; -extern StgStablePtr PopTaggedStablePtr ( void ) ; -extern StgChar PopTaggedChar ( void ) ; -extern StgFloat PopTaggedFloat ( void ) ; -extern StgDouble PopTaggedDouble ( void ) ; - -extern void PushTaggedInt ( StgInt ); -extern void PushTaggedWord ( StgWord ); -extern void PushTaggedAddr ( StgAddr ); -extern void PushTaggedStablePtr ( StgStablePtr ); -extern void PushTaggedChar ( StgChar ); -extern void PushTaggedFloat ( StgFloat ); -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 -#endif +#endif // INTERPRETER_H