diff options
| author | simonmar <unknown> | 2002-08-16 13:29:07 +0000 | 
|---|---|---|
| committer | simonmar <unknown> | 2002-08-16 13:29:07 +0000 | 
| commit | 95371b03d1e5310f3b344cc2ecf29982e2bc9f5d (patch) | |
| tree | fd1a58d1883c1fb955862e416f5b64ec55026b4c | |
| parent | 3dfd50c38c25da76fc9d09da1ac02541eb2feaaa (diff) | |
| download | haskell-95371b03d1e5310f3b344cc2ecf29982e2bc9f5d.tar.gz | |
[project @ 2002-08-16 13:29:05 by simonmar]
Global and common variable sweep: staticize many variables that don't
need to be globally visible.
| -rw-r--r-- | ghc/includes/Stable.h | 5 | ||||
| -rw-r--r-- | ghc/rts/Capability.c | 2 | ||||
| -rw-r--r-- | ghc/rts/GC.c | 18 | ||||
| -rw-r--r-- | ghc/rts/Itimer.c | 6 | ||||
| -rw-r--r-- | ghc/rts/Linker.c | 4 | ||||
| -rw-r--r-- | ghc/rts/ProfHeap.c | 6 | ||||
| -rw-r--r-- | ghc/rts/RtsStartup.c | 4 | ||||
| -rw-r--r-- | ghc/rts/RtsUtils.c | 4 | ||||
| -rw-r--r-- | ghc/rts/Schedule.c | 38 | ||||
| -rw-r--r-- | ghc/rts/Stable.c | 8 | ||||
| -rw-r--r-- | ghc/rts/Stats.c | 8 | ||||
| -rw-r--r-- | ghc/rts/ThreadLabels.c | 2 | 
12 files changed, 48 insertions, 57 deletions
diff --git a/ghc/includes/Stable.h b/ghc/includes/Stable.h index 12056f9974..386087e351 100644 --- a/ghc/includes/Stable.h +++ b/ghc/includes/Stable.h @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: Stable.h,v 1.12 2001/12/20 16:12:09 sewardj Exp $ + * $Id: Stable.h,v 1.13 2002/08/16 13:29:05 simonmar Exp $   *   * (c) The GHC Team, 1998-2000   * @@ -38,9 +38,6 @@ typedef struct {  } snEntry;  extern DLL_IMPORT_RTS snEntry *stable_ptr_table; -extern DLL_IMPORT_RTS snEntry *stable_ptr_free; - -extern DLL_IMPORT_RTS unsigned int SPT_size;  extern void freeStablePtr(StgStablePtr sp); diff --git a/ghc/rts/Capability.c b/ghc/rts/Capability.c index d8bdbe6b50..668f43512c 100644 --- a/ghc/rts/Capability.c +++ b/ghc/rts/Capability.c @@ -26,7 +26,7 @@  Capability MainCapability;     /* for non-SMP, we have one global capability */  #endif -nat rts_n_free_capabilities; +static nat rts_n_free_capabilities;  #if defined(RTS_SUPPORTS_THREADS)  /* returning_worker_cond: when a worker thread returns from executing an diff --git a/ghc/rts/GC.c b/ghc/rts/GC.c index 14dc91f1ef..78218534d2 100644 --- a/ghc/rts/GC.c +++ b/ghc/rts/GC.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: GC.c,v 1.137 2002/07/17 09:21:49 simonmar Exp $ + * $Id: GC.c,v 1.138 2002/08/16 13:29:06 simonmar Exp $   *   * (c) The GHC Team 1998-1999   * @@ -81,8 +81,8 @@   * We build up a static object list while collecting generations 0..N,   * which is then appended to the static object list of generation N+1.   */ -StgClosure* static_objects;	      // live static objects -StgClosure* scavenged_static_objects; // static objects scavenged so far +static StgClosure* static_objects;      // live static objects +StgClosure* scavenged_static_objects;   // static objects scavenged so far  /* N is the oldest generation being collected, where the generations   * are numbered starting at 0.  A major GC (indicated by the major_gc @@ -120,16 +120,16 @@ static rtsBool failed_to_evac;  /* Old to-space (used for two-space collector only)   */ -bdescr *old_to_blocks; +static bdescr *old_to_blocks;  /* Data used for allocation area sizing.   */ -lnat new_blocks;		// blocks allocated during this GC  -lnat g0s0_pcnt_kept = 30;	// percentage of g0s0 live at last minor GC  +static lnat new_blocks;		 // blocks allocated during this GC  +static lnat g0s0_pcnt_kept = 30; // percentage of g0s0 live at last minor GC   /* Used to avoid long recursion due to selector thunks   */ -lnat thunk_selector_depth = 0; +static lnat thunk_selector_depth = 0;  #define MAX_THUNK_SELECTOR_DEPTH 256  /* ----------------------------------------------------------------------------- @@ -1469,8 +1469,8 @@ copyPart(StgClosure *src, nat size_to_reserve, nat size_to_copy, step *stp)     Evacuate a large object     This just consists of removing the object from the (doubly-linked) -   large_alloc_list, and linking it on to the (singly-linked) -   new_large_objects list, from where it will be scavenged later. +   step->large_objects list, and linking it on to the (singly-linked) +   step->new_large_objects list, from where it will be scavenged later.     Convention: bd->flags has BF_EVACUATED set for a large object     that has been evacuated, or unset otherwise. diff --git a/ghc/rts/Itimer.c b/ghc/rts/Itimer.c index e40c83dae7..bbc87384e0 100644 --- a/ghc/rts/Itimer.c +++ b/ghc/rts/Itimer.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: Itimer.c,v 1.30 2002/07/17 09:21:49 simonmar Exp $ + * $Id: Itimer.c,v 1.31 2002/08/16 13:29:06 simonmar Exp $   *   * (c) The GHC Team, 1995-1999   * @@ -47,10 +47,10 @@  # include <signal.h>  #endif -lnat total_ticks = 0; +static lnat total_ticks = 0;  /* ticks left before next pre-emptive context switch */ -int ticks_to_ctxt_switch = 0; +static int ticks_to_ctxt_switch = 0;  /* -----------------------------------------------------------------------------     Tick handler diff --git a/ghc/rts/Linker.c b/ghc/rts/Linker.c index f74274928d..bb2be5bd40 100644 --- a/ghc/rts/Linker.c +++ b/ghc/rts/Linker.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: Linker.c,v 1.100 2002/07/18 06:05:29 sof Exp $ + * $Id: Linker.c,v 1.101 2002/08/16 13:29:06 simonmar Exp $   *   * (c) The GHC Team, 2000, 2001   * @@ -71,7 +71,7 @@  #endif  /* Hash table mapping symbol names to Symbol */ -/*Str*/HashTable *symhash; +static /*Str*/HashTable *symhash;  #if defined(OBJFORMAT_ELF)  static int ocVerifyImage_ELF    ( ObjectCode* oc ); diff --git a/ghc/rts/ProfHeap.c b/ghc/rts/ProfHeap.c index ffbbd1da82..01737549e2 100644 --- a/ghc/rts/ProfHeap.c +++ b/ghc/rts/ProfHeap.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: ProfHeap.c,v 1.37 2002/07/18 09:12:34 simonmar Exp $ + * $Id: ProfHeap.c,v 1.38 2002/08/16 13:29:06 simonmar Exp $   *   * (c) The GHC Team, 1998-2000   * @@ -95,8 +95,8 @@ typedef struct {      int       drag_total;  } Census; -Census *censuses = NULL; -nat n_censuses = 0; +static Census *censuses = NULL; +static nat n_censuses = 0;  #ifdef PROFILING  static void aggregateCensusInfo( void ); diff --git a/ghc/rts/RtsStartup.c b/ghc/rts/RtsStartup.c index c375426f43..2a288b7d00 100644 --- a/ghc/rts/RtsStartup.c +++ b/ghc/rts/RtsStartup.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: RtsStartup.c,v 1.65 2002/07/17 09:21:50 simonmar Exp $ + * $Id: RtsStartup.c,v 1.66 2002/08/16 13:29:06 simonmar Exp $   *   * (c) The GHC Team, 1998-2000   * @@ -226,7 +226,6 @@ startupHaskell(int argc, char *argv[], void (*init_root)(void))   */  #define INIT_STACK_BLOCKS  4  F_ *init_stack = NULL; -nat init_sp = 0;  static void  initModules ( void (*init_root)(void) ) @@ -237,6 +236,7 @@ initModules ( void (*init_root)(void) )  #else  #define cap MainCapability  #endif +    nat init_sp;      init_sp = 0;      bd = allocGroup(INIT_STACK_BLOCKS); diff --git a/ghc/rts/RtsUtils.c b/ghc/rts/RtsUtils.c index 693531e6c8..775735986e 100644 --- a/ghc/rts/RtsUtils.c +++ b/ghc/rts/RtsUtils.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: RtsUtils.c,v 1.26 2002/07/17 09:21:50 simonmar Exp $ + * $Id: RtsUtils.c,v 1.27 2002/08/16 13:29:07 simonmar Exp $   *   * (c) The GHC Team, 1998-1999   * @@ -188,7 +188,7 @@ nat stg_strlen(char *s)     ToDo: put this somewhere sensible.     -------------------------------------------------------------------------  */ -I_ __GenSymCounter = 0; +static I_ __GenSymCounter = 0;  I_  genSymZh(void) diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index 2e2bbecfc0..468a59657a 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -1,5 +1,5 @@  /* --------------------------------------------------------------------------- - * $Id: Schedule.c,v 1.151 2002/07/25 18:36:59 sof Exp $ + * $Id: Schedule.c,v 1.152 2002/08/16 13:29:07 simonmar Exp $   *   * (c) The GHC Team, 1998-2000   * @@ -133,7 +133,7 @@  /* Main thread queue.   * Locks required: sched_mutex.   */ -StgMainThread *main_threads; +StgMainThread *main_threads = NULL;  /* Thread queues.   * Locks required: sched_mutex. @@ -160,16 +160,18 @@ StgTSO *ccalling_threadss[MAX_PROC];  #else /* !GRAN */ -StgTSO *run_queue_hd, *run_queue_tl; -StgTSO *blocked_queue_hd, *blocked_queue_tl; -StgTSO *sleeping_queue;		/* perhaps replace with a hash table? */ +StgTSO *run_queue_hd = NULL; +StgTSO *run_queue_tl = NULL; +StgTSO *blocked_queue_hd = NULL; +StgTSO *blocked_queue_tl = NULL; +StgTSO *sleeping_queue = NULL;    /* perhaps replace with a hash table? */  #endif  /* Linked list of all threads.   * Used for detecting garbage collected threads.   */ -StgTSO *all_threads; +StgTSO *all_threads = NULL;  /* When a thread performs a safe C call (_ccall_GC, using old   * terminology), it gets put on the suspended_ccalling_threads @@ -186,17 +188,17 @@ static StgTSO *threadStackOverflow(StgTSO *tso);  /* flag set by signal handler to precipitate a context switch */  //@cindex context_switch -nat context_switch; +nat context_switch = 0;  /* if this flag is set as well, give up execution */  //@cindex interrupted -rtsBool interrupted; +rtsBool interrupted = rtsFalse;  /* Next thread ID to allocate.   * Locks required: thread_id_mutex   */  //@cindex next_thread_id -StgThreadID next_thread_id = 1; +static StgThreadID next_thread_id = 1;  /*   * Pointers to the state of the current thread. @@ -227,7 +229,7 @@ StgTSO *CurrentTSO;   */  StgTSO dummy_tso; -rtsBool ready_to_gc; +static rtsBool ready_to_gc;  /*   * Set to TRUE when entering a shutdown state (via shutdownHaskellAndExit()) -- @@ -275,21 +277,13 @@ rtsBool emitSchedule = rtsTrue;  #endif  #if DEBUG -char *whatNext_strs[] = { +static char *whatNext_strs[] = {    "ThreadEnterGHC",    "ThreadRunGHC",    "ThreadEnterInterp",    "ThreadKilled",    "ThreadComplete"  }; - -char *threadReturnCode_strs[] = { -  "HeapOverflow",			/* might also be StackOverflow */ -  "StackOverflow", -  "ThreadYielding", -  "ThreadBlocked", -  "ThreadFinished" -};  #endif  #if defined(PAR) @@ -2493,7 +2487,7 @@ GetRoots(evac_fn evac)     This needs to be protected by the GC condition variable above.  KH.     -------------------------------------------------------------------------- */ -void (*extra_roots)(evac_fn); +static void (*extra_roots)(evac_fn);  void  performGC(void) @@ -3279,6 +3273,8 @@ raiseAsync(StgTSO *tso, StgClosure *exception)      nat i;      StgAP_UPD * ap; +    ASSERT((P_)su > (P_)sp); +          /* If we find a CATCH_FRAME, and we've got an exception to raise,       * then build the THUNK raise(exception), and leave it on       * top of the CATCH_FRAME ready to enter. @@ -3326,8 +3322,6 @@ raiseAsync(StgTSO *tso, StgClosure *exception)       */      ap = (StgAP_UPD *)allocate(AP_sizeW(words)); -    ASSERT(words >= 0); -          ap->n_args = words;      ap->fun    = (StgClosure *)sp[0];      sp++; diff --git a/ghc/rts/Stable.c b/ghc/rts/Stable.c index 474134efeb..7bfd15ecaa 100644 --- a/ghc/rts/Stable.c +++ b/ghc/rts/Stable.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: Stable.c,v 1.21 2002/04/24 13:29:01 simonmar Exp $ + * $Id: Stable.c,v 1.22 2002/08/16 13:29:07 simonmar Exp $   *   * (c) The GHC Team, 1998-1999   * @@ -88,9 +88,9 @@  */  snEntry *stable_ptr_table; -snEntry *stable_ptr_free; +static snEntry *stable_ptr_free; -unsigned int SPT_size; +static unsigned int SPT_size;  /* This hash table maps Haskell objects to stable names, so that every   * call to lookupStableName on a given object will return the same @@ -125,7 +125,7 @@ unsigned int SPT_size;   * to the weight stored in the table entry.   * */ -HashTable *addrToStableHash; +static HashTable *addrToStableHash;  #define INIT_SPT_SIZE 64 diff --git a/ghc/rts/Stats.c b/ghc/rts/Stats.c index 5052e260e0..546466d142 100644 --- a/ghc/rts/Stats.c +++ b/ghc/rts/Stats.c @@ -1,5 +1,5 @@  /* ----------------------------------------------------------------------------- - * $Id: Stats.c,v 1.44 2002/02/06 01:21:40 sof Exp $ + * $Id: Stats.c,v 1.45 2002/08/16 13:29:07 simonmar Exp $   *   * (c) The GHC Team, 1998-1999   * @@ -111,9 +111,9 @@ static TICK_TYPE HCe_start_time, HCe_tot_time = 0;   // heap census prof elap ti  #define PROF_VAL(x)   0  #endif -lnat MaxResidency = 0;     /* in words; for stats only */ -lnat AvgResidency = 0; -lnat ResidencySamples = 0; /* for stats only */ +static lnat MaxResidency = 0;     // in words; for stats only +static lnat AvgResidency = 0; +static lnat ResidencySamples = 0; // for stats only  static lnat GC_start_faults = 0, GC_end_faults = 0; diff --git a/ghc/rts/ThreadLabels.c b/ghc/rts/ThreadLabels.c index 79a0a77e65..dacd8a363d 100644 --- a/ghc/rts/ThreadLabels.c +++ b/ghc/rts/ThreadLabels.c @@ -4,7 +4,7 @@  #include <stdlib.h> -HashTable * threadLabels = NULL; +static HashTable * threadLabels = NULL;  void  initThreadLabelTable(void)  | 
