X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRtsExternal.h;h=2272b2a4291282033c61d82f70e3f0c54395ee42;hb=1d141bd52e6eea321e90cd11059f726094dd50be;hp=30a5b567021cd9079bbf911471aca1654d3ff0d8;hpb=5487e2226dac7574d951dce900176fc01efa4582;p=ghc-hetmet.git diff --git a/includes/RtsExternal.h b/includes/RtsExternal.h index 30a5b56..2272b2a 100644 --- a/includes/RtsExternal.h +++ b/includes/RtsExternal.h @@ -43,12 +43,17 @@ extern int forkOS_createThread ( HsStablePtr entry ); extern pid_t forkProcess(HsStablePtr *entry); extern HsBool rtsSupportsBoundThreads(void); extern StgInt newSpark (StgRegTable *reg, StgClosure *p); +extern void stopTimer(void); +extern unsigned int n_capabilities; /* grimy low-level support functions defined in StgPrimFloat.c */ extern StgDouble __encodeDouble (I_ size, StgByteArray arr, I_ e); +extern StgDouble __2Int_encodeDouble (I_ j_high, I_ j_low, I_ e); extern StgDouble __int_encodeDouble (I_ j, I_ e); +extern StgDouble __word_encodeDouble (W_ j, I_ e); extern StgFloat __encodeFloat (I_ size, StgByteArray arr, I_ e); extern StgFloat __int_encodeFloat (I_ j, I_ e); +extern StgFloat __word_encodeFloat (W_ j, I_ e); extern StgInt isDoubleNaN(StgDouble d); extern StgInt isDoubleInfinite(StgDouble d); extern StgInt isDoubleDenormalized(StgDouble d); @@ -71,13 +76,13 @@ extern void* createAdjustor(int cconv, StgStablePtr hptr, StgFunPtr wptr, extern void freeHaskellFunctionPtr(void* ptr); /* Hpc stuff */ -extern int hs_hpc_module(char *modName,int modCount,int modHashNo,StgWord64 *tixArr); +extern int hs_hpc_module(char *modName, StgWord32 modCount, StgWord32 modHashNo,StgWord64 *tixArr); // Simple linked list of modules typedef struct _HpcModuleInfo { char *modName; // name of module - int tickCount; // number of ticks - int tickOffset; // offset into a single large .tix Array - int hashNo; // Hash number for this module's mix info + StgWord32 tickCount; // number of ticks + StgWord32 tickOffset; // offset into a single large .tix Array + StgWord32 hashNo; // Hash number for this module's mix info StgWord64 *tixArr; // tix Array; local for this module struct _HpcModuleInfo *next; } HpcModuleInfo; @@ -89,7 +94,7 @@ extern HpcModuleInfo *hs_hpc_rootModule(void); extern int rts_InstallConsoleEvent ( int action, StgStablePtr *handler ); extern void rts_ConsoleHandlerDone ( int ev ); #else -extern int stg_sig_install (int, int, StgStablePtr *, void *); +extern int stg_sig_install (int, int, void *); #endif #if defined(mingw32_HOST_OS) @@ -106,12 +111,9 @@ void sendIOManagerEvent (HsWord32 event); extern void setIOManagerPipe (int fd); #endif -extern void* allocateExec(unsigned int len); +extern void* allocateExec(unsigned int len, void **exec_addr); // Breakpoint stuff -extern int rts_stop_next_breakpoint; -extern int rts_stop_on_exception; -extern HsStablePtr rts_breakpoint_io_action; /* ----------------------------------------------------------------------------- Storage manager stuff exported @@ -122,5 +124,6 @@ extern void performMajorGC(void); extern HsInt64 getAllocations( void ); extern void revertCAFs( void ); extern void dirty_MUT_VAR(StgRegTable *reg, StgClosure *p); +extern void dirty_MVAR(StgRegTable *reg, StgClosure *p); #endif /* RTSEXTERNAL_H */