/* 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);
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;
extern void* allocateExec(unsigned int len);
// Breakpoint stuff
-extern int rts_stop_next_breakpoint;
-extern int rts_stop_on_exception;
-extern HsStablePtr rts_breakpoint_io_action;
/* -----------------------------------------------------------------------------
Storage manager stuff exported
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 */