X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FInterpreter.h;h=3bb560f0abdf87c7e4bc1e6fa31c7f2bf90519ba;hb=8d750a5cede36c5f2767b7c869adc4f42f839871;hp=bcc41876eb2968be8d9e3534cf3279a3b0ffac2f;hpb=333ddd13aebd80793bbcb746428c256dbb6a74e5;p=ghc-hetmet.git diff --git a/ghc/rts/Interpreter.h b/ghc/rts/Interpreter.h index bcc4187..3bb560f 100644 --- a/ghc/rts/Interpreter.h +++ b/ghc/rts/Interpreter.h @@ -1,83 +1,14 @@ - /* ----------------------------------------------------------------------------- - * $Id: Interpreter.h,v 1.2 2000/12/19 16:48:35 sewardj Exp $ * - * (c) The GHC Team, 1998-2000. + * (c) The GHC Team, 1998-2002. * * Prototypes for functions in Interpreter.c * * ---------------------------------------------------------------------------*/ -#ifdef GHCI - -extern StgThreadReturnCode interpretBCO ( Capability* cap ); - -typedef unsigned short UShort; - -#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 +#ifndef INTERPRETER_H +#define INTERPRETER_H -/* 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; +extern StgThreadReturnCode interpretBCO (Capability* cap); -#endif -#endif +#endif // INTERPRETER_H