replace sparc-specific Int64 code with calls to platform-independent macros
[ghc-hetmet.git] / includes / RtsExternal.h
index 6c1f71e..2272b2a 100644 (file)
@@ -48,9 +48,12 @@ 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);
@@ -73,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;
@@ -91,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)
@@ -108,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
@@ -124,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 */