X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Fincludes%2FPrimOps.h;h=daf96dad440162a8595a073ecb2ead75864d9a95;hb=d255dfff87648bcd4dd1d87faa8d835d358c70a2;hp=61dcf84c3e936e217683f350085a72918a02b5e8;hpb=7457757f193b28b5fe8fee01edbed012c2fda897;p=ghc-hetmet.git diff --git a/ghc/includes/PrimOps.h b/ghc/includes/PrimOps.h index 61dcf84..daf96da 100644 --- a/ghc/includes/PrimOps.h +++ b/ghc/includes/PrimOps.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: PrimOps.h,v 1.96 2002/07/17 09:21:48 simonmar Exp $ + * $Id: PrimOps.h,v 1.106 2003/10/01 10:57:41 wolfgang Exp $ * * (c) The GHC Team, 1998-2000 * @@ -218,7 +218,7 @@ extern StgInt isFloatNegativeZero(StgFloat f); -------------------------------------------------------------------------- */ EXTFUN_RTS(newMutVarzh_fast); - +EXTFUN_RTS(atomicModifyMutVarzh_fast); /* ----------------------------------------------------------------------------- MVar PrimOps. @@ -241,6 +241,11 @@ EXTFUN_RTS(tryPutMVarzh_fast); EXTFUN_RTS(waitReadzh_fast); EXTFUN_RTS(waitWritezh_fast); EXTFUN_RTS(delayzh_fast); +#ifdef mingw32_TARGET_OS +EXTFUN_RTS(asyncReadzh_fast); +EXTFUN_RTS(asyncWritezh_fast); +EXTFUN_RTS(asyncDoProczh_fast); +#endif /* ----------------------------------------------------------------------------- @@ -249,8 +254,9 @@ EXTFUN_RTS(delayzh_fast); EXTFUN_RTS(catchzh_fast); EXTFUN_RTS(raisezh_fast); +EXTFUN_RTS(raiseIOzh_fast); -extern void stg_exit(I_ n) __attribute__ ((noreturn)); +extern void stg_exit(int n) __attribute__ ((noreturn)); /* ----------------------------------------------------------------------------- @@ -267,7 +273,6 @@ EXTFUN_RTS(deRefStablePtrzh_fast); -------------------------------------------------------------------------- */ EXTFUN_RTS(forkzh_fast); -EXTFUN_RTS(forkProcesszh_fast); EXTFUN_RTS(yieldzh_fast); EXTFUN_RTS(killThreadzh_fast); EXTFUN_RTS(seqzh_fast); @@ -275,11 +280,11 @@ EXTFUN_RTS(blockAsyncExceptionszh_fast); EXTFUN_RTS(unblockAsyncExceptionszh_fast); EXTFUN_RTS(myThreadIdzh_fast); EXTFUN_RTS(labelThreadzh_fast); +EXTFUN_RTS(isCurrentThreadBoundzh_fast); -extern int cmp_thread(const StgTSO *tso1, const StgTSO *tso2); -extern int rts_getThreadId(const StgTSO *tso); -extern void labelThread(StgTSO *tso, char *label); - +extern int cmp_thread(StgPtr tso1, StgPtr tso2); +extern int rts_getThreadId(StgPtr tso); +extern int forkOS_createThread ( HsStablePtr entry ); /* ----------------------------------------------------------------------------- Weak Pointer PrimOps. @@ -316,21 +321,6 @@ EXTFUN_RTS(mkForeignObjzh_fast); EXTFUN_RTS(newBCOzh_fast); EXTFUN_RTS(mkApUpd0zh_fast); - -/* ----------------------------------------------------------------------------- - Signal handling. Not really primops, but called directly from Haskell. - -------------------------------------------------------------------------- */ - -#define STG_SIG_DFL (-1) -#define STG_SIG_IGN (-2) -#define STG_SIG_ERR (-3) -#define STG_SIG_HAN (-4) - -extern StgInt stg_sig_install (StgInt, StgInt, StgStablePtr, void *); -#define stg_sig_default(sig,mask) stg_sig_install(sig,STG_SIG_DFL,0,(void *)mask) -#define stg_sig_ignore(sig,mask) stg_sig_install(sig,STG_SIG_IGN,0,(void *)mask) -#define stg_sig_catch(sig,ptr,mask) stg_sig_install(sig,STG_SIG_HAN,ptr,(void *)mask) - /* ------------------------------------------------------------------------ Parallel PrimOps @@ -428,4 +418,5 @@ extern StgInt stg_sig_install (StgInt, StgInt, StgStablePtr, void *); -------------------------------------------------------------------------- */ #define ForeignObj_CLOSURE_DATA(c) (((StgForeignObj *)c)->data) + #endif /* PRIMOPS_H */