diff options
Diffstat (limited to 'includes/rts')
| -rw-r--r-- | includes/rts/Flags.h | 58 | ||||
| -rw-r--r-- | includes/rts/IOManager.h | 2 | ||||
| -rw-r--r-- | includes/rts/OSThreads.h | 4 | ||||
| -rw-r--r-- | includes/rts/SpinLock.h | 4 | ||||
| -rw-r--r-- | includes/rts/Threads.h | 4 | ||||
| -rw-r--r-- | includes/rts/Types.h | 3 | ||||
| -rw-r--r-- | includes/rts/prof/CCS.h | 2 | ||||
| -rw-r--r-- | includes/rts/storage/Block.h | 4 | ||||
| -rw-r--r-- | includes/rts/storage/ClosureMacros.h | 36 | ||||
| -rw-r--r-- | includes/rts/storage/GC.h | 8 | ||||
| -rw-r--r-- | includes/rts/storage/MBlock.h | 4 | ||||
| -rw-r--r-- | includes/rts/storage/SMPClosureOps.h | 2 | 
12 files changed, 66 insertions, 65 deletions
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h index d3bc001ca1..8020a177b0 100644 --- a/includes/rts/Flags.h +++ b/includes/rts/Flags.h @@ -27,30 +27,30 @@  /* See Note [Synchronization of flags and base APIs] */  typedef struct _GC_FLAGS {      FILE   *statsFile; -    nat	    giveStats; +    uint32_t  giveStats;  #define NO_GC_STATS	 0  #define COLLECT_GC_STATS 1  #define ONELINE_GC_STATS 2  #define SUMMARY_GC_STATS 3  #define VERBOSE_GC_STATS 4 -    nat     maxStkSize;         /* in *words* */ -    nat     initialStkSize;     /* in *words* */ -    nat     stkChunkSize;       /* in *words* */ -    nat     stkChunkBufferSize; /* in *words* */ - -    nat	    maxHeapSize;        /* in *blocks* */ -    nat     minAllocAreaSize;   /* in *blocks* */ -    nat     largeAllocLim;      /* in *blocks* */ -    nat     nurseryChunkSize;   /* in *blocks* */ -    nat     minOldGenSize;      /* in *blocks* */ -    nat     heapSizeSuggestion; /* in *blocks* */ +    uint32_t     maxStkSize;         /* in *words* */ +    uint32_t     initialStkSize;     /* in *words* */ +    uint32_t     stkChunkSize;       /* in *words* */ +    uint32_t     stkChunkBufferSize; /* in *words* */ + +    uint32_t     maxHeapSize;        /* in *blocks* */ +    uint32_t     minAllocAreaSize;   /* in *blocks* */ +    uint32_t     largeAllocLim;      /* in *blocks* */ +    uint32_t     nurseryChunkSize;   /* in *blocks* */ +    uint32_t     minOldGenSize;      /* in *blocks* */ +    uint32_t     heapSizeSuggestion; /* in *blocks* */      rtsBool heapSizeSuggestionAuto;      double  oldGenFactor;      double  pcFreeHeap; -    nat     generations; -    nat     steps; +    uint32_t     generations; +    uint32_t     steps;      rtsBool squeezeUpdFrames;      rtsBool compact;		/* True <=> "compact all the time" */ @@ -97,7 +97,7 @@ typedef struct _DEBUG_FLAGS {  /* See Note [Synchronization of flags and base APIs] */  typedef struct _COST_CENTRE_FLAGS { -    nat	    doCostCentres; +    uint32_t    doCostCentres;  # define COST_CENTRES_NONE      0  # define COST_CENTRES_SUMMARY	1  # define COST_CENTRES_VERBOSE	2 /* incl. serial time profile */ @@ -110,7 +110,7 @@ typedef struct _COST_CENTRE_FLAGS {  /* See Note [Synchronization of flags and base APIs] */  typedef struct _PROFILING_FLAGS { -    nat	doHeapProfile; +    uint32_t doHeapProfile;  # define NO_HEAP_PROFILING	0	/* N.B. Used as indexes into arrays */  # define HEAP_BY_CCS		1  # define HEAP_BY_MOD		2 @@ -121,16 +121,16 @@ typedef struct _PROFILING_FLAGS {  # define HEAP_BY_CLOSURE_TYPE   8 -    Time                heapProfileInterval; /* time between samples */ -    nat                 heapProfileIntervalTicks; /* ticks between samples (derived) */ -    rtsBool             includeTSOs; +    Time        heapProfileInterval; /* time between samples */ +    uint32_t    heapProfileIntervalTicks; /* ticks between samples (derived) */ +    rtsBool     includeTSOs;      rtsBool		showCCSOnException; -    nat                 maxRetainerSetSize; +    uint32_t    maxRetainerSetSize; -    nat                 ccsLength; +    uint32_t    ccsLength;      const char*         modSelector;      const char*         descrSelector; @@ -184,27 +184,27 @@ typedef struct _MISC_FLAGS {  #ifdef THREADED_RTS  /* See Note [Synchronization of flags and base APIs] */  typedef struct _PAR_FLAGS { -  nat            nNodes;         /* number of threads to run simultaneously */ +  uint32_t       nNodes;         /* number of threads to run simultaneously */    rtsBool        migrate;        /* migrate threads between capabilities */ -  nat            maxLocalSparks; +  uint32_t       maxLocalSparks;    rtsBool        parGcEnabled;   /* enable parallel GC */ -  nat            parGcGen;       /* do parallel GC in this generation +  uint32_t       parGcGen;       /* do parallel GC in this generation                                    * and higher only */ -  rtsBool        parGcLoadBalancingEnabled;  +  rtsBool        parGcLoadBalancingEnabled;                                   /* enable load-balancing in the                                    * parallel GC */ -  nat            parGcLoadBalancingGen; +  uint32_t       parGcLoadBalancingGen;                                   /* do load-balancing in this                                    * generation and higher only */ -  nat            parGcNoSyncWithIdle; +  uint32_t       parGcNoSyncWithIdle;                                   /* if a Capability has been idle for                                    * this many GCs, do not try to wake                                    * it up when doing a                                    * non-load-balancing parallel GC.                                    * (zero disables) */ -  nat            parGcThreads; +  uint32_t       parGcThreads;                                   /* Use this many threads for parallel                                    * GC (default: use all nNodes). */ @@ -249,7 +249,7 @@ extern RTS_FLAGS RtsFlags;  /*   * The printf formats are here, so we are less likely to make   * overly-long filenames (with disastrous results).  No more than 128 - * chars, please!   + * chars, please!   */  #define STATS_FILENAME_MAXLEN	128 diff --git a/includes/rts/IOManager.h b/includes/rts/IOManager.h index 7bf2cdf43c..f9e2cd7958 100644 --- a/includes/rts/IOManager.h +++ b/includes/rts/IOManager.h @@ -26,7 +26,7 @@ void     sendIOManagerEvent (HsWord32 event);  #else -void     setIOManagerControlFd   (nat cap_no, int fd); +void     setIOManagerControlFd   (uint32_t cap_no, int fd);  void     setTimerManagerControlFd(int fd);  void     setIOManagerWakeupFd   (int fd); diff --git a/includes/rts/OSThreads.h b/includes/rts/OSThreads.h index a3ed47c19b..ee1855b4da 100644 --- a/includes/rts/OSThreads.h +++ b/includes/rts/OSThreads.h @@ -200,7 +200,7 @@ void  setThreadLocalVar (ThreadLocalKey *key, void *value);  void  freeThreadLocalKey (ThreadLocalKey *key);  // Processors and affinity -void setThreadAffinity     (nat n, nat m); +void setThreadAffinity     (uint32_t n, uint32_t m);  #endif // !CMINUSMINUS  #else @@ -221,7 +221,7 @@ int forkOS_createThread ( HsStablePtr entry );  //  // Returns the number of processor cores in the machine  // -nat getNumberOfProcessors (void); +uint32_t getNumberOfProcessors (void);  //  // Support for getting at the kernel thread Id for tracing/profiling. diff --git a/includes/rts/SpinLock.h b/includes/rts/SpinLock.h index b54d678fa5..dccd86705c 100644 --- a/includes/rts/SpinLock.h +++ b/includes/rts/SpinLock.h @@ -42,7 +42,7 @@ typedef StgWord SpinLock;  INLINE_HEADER void ACQUIRE_SPIN_LOCK(SpinLock * p)  {      StgWord32 r = 0; -    nat i; +    uint32_t i;      do {          for (i = 0; i < SPIN_COUNT; i++) {              r = cas((StgVolatilePtr)&(p->lock), 1, 0); @@ -75,7 +75,7 @@ INLINE_HEADER void initSpinLock(SpinLock * p)  INLINE_HEADER void ACQUIRE_SPIN_LOCK(SpinLock * p)  {      StgWord32 r = 0; -    nat i; +    uint32_t i;      do {          for (i = 0; i < SPIN_COUNT; i++) {              r = cas((StgVolatilePtr)p, 1, 0); diff --git a/includes/rts/Threads.h b/includes/rts/Threads.h index fc8ae6e089..67d01db7d4 100644 --- a/includes/rts/Threads.h +++ b/includes/rts/Threads.h @@ -62,7 +62,7 @@ HsBool rtsSupportsBoundThreads (void);  extern unsigned int n_capabilities;  // The number of Capabilities that are not disabled -extern nat enabled_capabilities; +extern uint32_t enabled_capabilities;  #if !IN_STG_CODE  extern Capability MainCapability; @@ -72,6 +72,6 @@ extern Capability MainCapability;  // Change the number of capabilities (only supports increasing the  // current value at the moment).  // -extern void setNumCapabilities (nat new_); +extern void setNumCapabilities (uint32_t new_);  #endif /* RTS_THREADS_H */ diff --git a/includes/rts/Types.h b/includes/rts/Types.h index 1791b88772..08baceb1cf 100644 --- a/includes/rts/Types.h +++ b/includes/rts/Types.h @@ -16,7 +16,8 @@  #include <stddef.h> -typedef unsigned int     nat;           /* at least 32 bits (like int) */ +// Deprecated, use uint32_t instead. +typedef unsigned int nat __attribute__((deprecated));  /* uint32_t */  /* ullong (64|128-bit) type: only include if needed (not ANSI) */  #if defined(__GNUC__)  diff --git a/includes/rts/prof/CCS.h b/includes/rts/prof/CCS.h index f3c158d8e2..1ed53c1d7c 100644 --- a/includes/rts/prof/CCS.h +++ b/includes/rts/prof/CCS.h @@ -113,7 +113,7 @@ typedef struct IndexTable_ {      CostCentre *cc;      CostCentreStack *ccs;      struct IndexTable_ *next; -    nat back_edge; +    uint32_t back_edge;  } IndexTable; diff --git a/includes/rts/storage/Block.h b/includes/rts/storage/Block.h index 024f78c6e3..1a31de5512 100644 --- a/includes/rts/storage/Block.h +++ b/includes/rts/storage/Block.h @@ -57,7 +57,7 @@   * own and treat it as an immovable object during GC, expressed as a   * fraction of BLOCK_SIZE.   */ -#define LARGE_OBJECT_THRESHOLD ((nat)(BLOCK_SIZE * 8 / 10)) +#define LARGE_OBJECT_THRESHOLD ((uint32_t)(BLOCK_SIZE * 8 / 10))  /*   * Note [integer overflow] @@ -295,7 +295,7 @@ void freeChain(bdescr *p);  void freeGroup_lock(bdescr *p);  void freeChain_lock(bdescr *p); -bdescr * splitBlockGroup (bdescr *bd, nat blocks); +bdescr * splitBlockGroup (bdescr *bd, uint32_t blocks);  /* Round a value to megablocks --------------------------------------------- */ diff --git a/includes/rts/storage/ClosureMacros.h b/includes/rts/storage/ClosureMacros.h index 03589f2f16..d7ae5ea122 100644 --- a/includes/rts/storage/ClosureMacros.h +++ b/includes/rts/storage/ClosureMacros.h @@ -256,20 +256,20 @@ INLINE_HEADER rtsBool LOOKS_LIKE_CLOSURE_PTR (void *p)     Macros for calculating the size of a closure     -------------------------------------------------------------------------- */ -EXTERN_INLINE StgOffset PAP_sizeW   ( nat n_args ); -EXTERN_INLINE StgOffset PAP_sizeW   ( nat n_args ) +EXTERN_INLINE StgOffset PAP_sizeW   ( uint32_t n_args ); +EXTERN_INLINE StgOffset PAP_sizeW   ( uint32_t n_args )  { return sizeofW(StgPAP) + n_args; } -EXTERN_INLINE StgOffset AP_sizeW   ( nat n_args ); -EXTERN_INLINE StgOffset AP_sizeW   ( nat n_args ) +EXTERN_INLINE StgOffset AP_sizeW   ( uint32_t n_args ); +EXTERN_INLINE StgOffset AP_sizeW   ( uint32_t n_args )  { return sizeofW(StgAP) + n_args; } -EXTERN_INLINE StgOffset AP_STACK_sizeW ( nat size ); -EXTERN_INLINE StgOffset AP_STACK_sizeW ( nat size ) +EXTERN_INLINE StgOffset AP_STACK_sizeW ( uint32_t size ); +EXTERN_INLINE StgOffset AP_STACK_sizeW ( uint32_t size )  { return sizeofW(StgAP_STACK) + size; } -EXTERN_INLINE StgOffset CONSTR_sizeW( nat p, nat np ); -EXTERN_INLINE StgOffset CONSTR_sizeW( nat p, nat np ) +EXTERN_INLINE StgOffset CONSTR_sizeW( uint32_t p, uint32_t np ); +EXTERN_INLINE StgOffset CONSTR_sizeW( uint32_t p, uint32_t np )  { return sizeofW(StgHeader) + p + np; }  EXTERN_INLINE StgOffset THUNK_SELECTOR_sizeW ( void ); @@ -333,12 +333,12 @@ EXTERN_INLINE StgWord bco_sizeW ( StgBCO *bco )  { return bco->size; }  /* - * TODO: Consider to switch return type from 'nat' to 'StgWord' #8742 + * TODO: Consider to switch return type from 'uint32_t' to 'StgWord' #8742   *   * (Also for 'closure_sizeW' below)   */ -EXTERN_INLINE nat closure_sizeW_ (StgClosure *p, StgInfoTable *info); -EXTERN_INLINE nat +EXTERN_INLINE uint32_t closure_sizeW_ (StgClosure *p, StgInfoTable *info); +EXTERN_INLINE uint32_t  closure_sizeW_ (StgClosure *p, StgInfoTable *info)  {      switch (info->type) { @@ -399,8 +399,8 @@ closure_sizeW_ (StgClosure *p, StgInfoTable *info)  }  // The definitive way to find the size, in words, of a heap-allocated closure -EXTERN_INLINE nat closure_sizeW (StgClosure *p); -EXTERN_INLINE nat closure_sizeW (StgClosure *p) +EXTERN_INLINE uint32_t closure_sizeW (StgClosure *p); +EXTERN_INLINE uint32_t closure_sizeW (StgClosure *p)  {      return closure_sizeW_(p, get_itbl(p));  } @@ -505,13 +505,13 @@ INLINE_HEADER StgWord8 *mutArrPtrsCard (StgMutArrPtrs *a, W_ n)  #endif  #ifdef PROFILING -void LDV_recordDead (StgClosure *c, nat size); +void LDV_recordDead (StgClosure *c, uint32_t size);  #endif  EXTERN_INLINE void overwritingClosure (StgClosure *p);  EXTERN_INLINE void overwritingClosure (StgClosure *p)  { -    nat size, i; +    uint32_t size, i;  #if ZERO_SLOP_FOR_LDV_PROF && !ZERO_SLOP_FOR_SANITY_CHECK      // see Note [zeroing slop], also #8402 @@ -537,10 +537,10 @@ EXTERN_INLINE void overwritingClosure (StgClosure *p)  //  // Note: As this calls LDV_recordDead() you have to call LDV_RECORD()  //       on the final state of the closure at the call-site -EXTERN_INLINE void overwritingClosureOfs (StgClosure *p, nat offset); -EXTERN_INLINE void overwritingClosureOfs (StgClosure *p, nat offset) +EXTERN_INLINE void overwritingClosureOfs (StgClosure *p, uint32_t offset); +EXTERN_INLINE void overwritingClosureOfs (StgClosure *p, uint32_t offset)  { -    nat size, i; +    uint32_t size, i;  #if ZERO_SLOP_FOR_LDV_PROF && !ZERO_SLOP_FOR_SANITY_CHECK      // see Note [zeroing slop], also #8402 diff --git a/includes/rts/storage/GC.h b/includes/rts/storage/GC.h index f7da838739..04548be379 100644 --- a/includes/rts/storage/GC.h +++ b/includes/rts/storage/GC.h @@ -88,7 +88,7 @@ typedef struct nursery_ {  // memory allocation is tracked.  typedef struct generation_ { -    nat            no;                  // generation number +    uint32_t       no;                  // generation number      bdescr *       blocks;              // blocks in this gen      memcount       n_blocks;            // number of blocks @@ -109,9 +109,9 @@ typedef struct generation_ {      struct generation_ *to;             // destination gen for live objects      // stats information -    nat collections; -    nat par_collections; -    nat failed_promotions; +    uint32_t collections; +    uint32_t par_collections; +    uint32_t failed_promotions;      // ------------------------------------      // Fields below are used during GC only diff --git a/includes/rts/storage/MBlock.h b/includes/rts/storage/MBlock.h index 046990eea9..419a96e225 100644 --- a/includes/rts/storage/MBlock.h +++ b/includes/rts/storage/MBlock.h @@ -17,8 +17,8 @@ extern W_ mblocks_allocated;  extern void initMBlocks(void);  extern void * getMBlock(void); -extern void * getMBlocks(nat n); -extern void freeMBlocks(void *addr, nat n); +extern void * getMBlocks(uint32_t n); +extern void freeMBlocks(void *addr, uint32_t n);  extern void releaseFreeMemory(void);  extern void freeAllMBlocks(void); diff --git a/includes/rts/storage/SMPClosureOps.h b/includes/rts/storage/SMPClosureOps.h index a8ebb5d0ed..ee92186f5f 100644 --- a/includes/rts/storage/SMPClosureOps.h +++ b/includes/rts/storage/SMPClosureOps.h @@ -51,7 +51,7 @@ EXTERN_INLINE StgInfoTable *reallyLockClosure(StgClosure *p)  {      StgWord info;      do { -        nat i = 0; +        uint32_t i = 0;          do {              info = xchg((P_)(void *)&p->header.info, (W_)&stg_WHITEHOLE_info);              if (info != (W_)&stg_WHITEHOLE_info) return (StgInfoTable *)info;  | 
