changeset 20:a7ca8f45c1c4 dev_expl_VP_and_DKU

fix coding standard to work with -std=gnu99 -Wall
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Tue, 25 Sep 2012 16:12:40 +0200
parents 58a71af04cd1
children feea343d202f
files Measurement/dependency.c Measurement/dependency.h VSs.c VSs.h VSs_PluginFns.c VSs_Request_Handlers.c VSs_Request_Handlers.h
diffstat 7 files changed, 96 insertions(+), 80 deletions(-) [+]
line diff
     1.1 --- a/Measurement/dependency.c	Mon Sep 17 11:07:07 2012 +0200
     1.2 +++ b/Measurement/dependency.c	Tue Sep 25 16:12:40 2012 +0200
     1.3 @@ -20,7 +20,7 @@
     1.4      return newn;
     1.5  }
     1.6  
     1.7 -int set_dependency_file(FILE* file){
     1.8 +void set_dependency_file(FILE* file){
     1.9      dependency_file = file;
    1.10  }
    1.11  
    1.12 @@ -93,4 +93,4 @@
    1.13      forAllInListOfArraysDo(nton->senders,&print_nton_set_helper);
    1.14      forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper);
    1.15      fprintf(dependency_file,"\n");
    1.16 -}
    1.17 \ No newline at end of file
    1.18 +}
     2.1 --- a/Measurement/dependency.h	Mon Sep 17 11:07:07 2012 +0200
     2.2 +++ b/Measurement/dependency.h	Tue Sep 25 16:12:40 2012 +0200
     2.3 @@ -36,7 +36,7 @@
     2.4  
     2.5  NtoN* new_NtoN(int id);
     2.6  
     2.7 -int set_dependency_file(FILE* file);
     2.8 +void set_dependency_file(FILE* file);
     2.9  
    2.10  void print_ctl_dependency_to_file(void* _dep);
    2.11  
     3.1 --- a/VSs.c	Mon Sep 17 11:07:07 2012 +0200
     3.2 +++ b/VSs.c	Tue Sep 25 16:12:40 2012 +0200
     3.3 @@ -281,10 +281,11 @@
     3.4   { VSsSemEnv *semanticEnv;
     3.5     
     3.6     semanticEnv = _VMSMasterEnv->semanticEnv;
     3.7 + 
     3.8 +   #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC
     3.9     FILE* output;
    3.10     int n;
    3.11 -   char filename[255]; 
    3.12 -   #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC
    3.13 +   char filename[255];
    3.14     //UCC   
    3.15      for(n=0;n<255;n++)
    3.16      {
    3.17 @@ -370,27 +371,30 @@
    3.18     freeListOfArrays(semanticEnv->hwArcs);
    3.19     
    3.20     #endif
    3.21 -#ifdef HOLISTIC__TURN_ON_PERF_COUNTERS    
    3.22 -    for(n=0;n<255;n++)
    3.23 +#ifdef HOLISTIC__TURN_ON_PERF_COUNTERS   
    3.24 +   FILE* output2;
    3.25 +   int n2;
    3.26 +   char filename2[255];
    3.27 +    for(n2=0;n2<255;n2++)
    3.28      {
    3.29 -        sprintf(filename, "./counters/Counters.%d.csv",n);
    3.30 -        output = fopen(filename,"r");
    3.31 -        if(output)
    3.32 +        sprintf(filename2, "./counters/Counters.%d.csv",n2);
    3.33 +        output2 = fopen(filename2,"r");
    3.34 +        if(output2)
    3.35          {
    3.36 -            fclose(output);
    3.37 +            fclose(output2);
    3.38          }else{
    3.39              break;
    3.40          }
    3.41      }
    3.42 -    if(n<255){
    3.43 -    printf("Saving Counter measurements to File: %s ...\n", filename);
    3.44 -    output = fopen(filename,"w+");
    3.45 -    if(output!=NULL){
    3.46 -        set_counter_file(output);
    3.47 +    if(n2<255){
    3.48 +    printf("Saving Counter measurements to File: %s ...\n", filename2);
    3.49 +    output2 = fopen(filename2,"w+");
    3.50 +    if(output2!=NULL){
    3.51 +        set_counter_file(output2);
    3.52          int i;
    3.53          for(i=0;i<NUM_CORES;i++){
    3.54              forAllInListOfArraysDo( semanticEnv->counterList[i], &print_counter_events_to_file );
    3.55 -            fflush(output);
    3.56 +            fflush(output2);
    3.57          }
    3.58  
    3.59      } else
    3.60 @@ -447,7 +451,7 @@
    3.61   */
    3.62  void
    3.63  VSs__end_thread( SlaveVP *thdToEnd )
    3.64 - { VSsSemData *semData;
    3.65 + { 
    3.66     
    3.67     VMS_WL__send_dissipate_req( thdToEnd );
    3.68   }
    3.69 @@ -475,7 +479,7 @@
    3.70     VMS_WL__send_sem_request( &reqData, animSlv );
    3.71   }
    3.72  
    3.73 -inline int32 *
    3.74 +int32 *
    3.75  VSs__create_taskID_of_size( int32 numInts, SlaveVP *animSlv )
    3.76   { int32 *taskID;
    3.77     
    3.78 @@ -544,7 +548,7 @@
    3.79  //==========================  send and receive ============================
    3.80  //
    3.81  
    3.82 -inline int32 *
    3.83 +int32 *
    3.84  VSs__give_self_taskID( SlaveVP *animSlv )
    3.85   {
    3.86     return ((VSsSemData*)animSlv->semanticData)->taskStub->taskID;
    3.87 @@ -726,7 +730,7 @@
    3.88  
    3.89     VMS_WL__send_sem_request( &reqData, animSlv );
    3.90  
    3.91 -EndSingletonInstrAddr:
    3.92 +//EndSingletonInstrAddr:
    3.93     return;
    3.94   }
    3.95  
     4.1 --- a/VSs.h	Mon Sep 17 11:07:07 2012 +0200
     4.2 +++ b/VSs.h	Tue Sep 25 16:12:40 2012 +0200
     4.3 @@ -19,8 +19,8 @@
     4.4   * But counter recording still functional, can build constraintless display
     4.5   * with wallclock time
     4.6   */
     4.7 -#define EXTERNAL_SCHEDULER
     4.8 -#define SIMULATE_EXTERNAL_SCHEDULER
     4.9 +//#define EXTERNAL_SCHEDULER
    4.10 +//#define SIMULATE_EXTERNAL_SCHEDULER
    4.11  
    4.12  //===========================================================================
    4.13  #define NUM_STRUCS_IN_SEM_ENV 1000
    4.14 @@ -305,7 +305,7 @@
    4.15  void
    4.16  VSs__submit_task( VSsTaskType *taskType, void *args, SlaveVP *animSlv);
    4.17  
    4.18 -inline int32 *
    4.19 +int32 *
    4.20  VSs__create_taskID_of_size( int32 numInts, SlaveVP *animSlv );
    4.21  
    4.22  void
    4.23 @@ -320,7 +320,7 @@
    4.24  VSs__taskwait(SlaveVP *animSlv);
    4.25  
    4.26  
    4.27 -inline int32 *
    4.28 +int32 *
    4.29  VSs__give_self_taskID( SlaveVP *animSlv );
    4.30  
    4.31  void
    4.32 @@ -386,6 +386,9 @@
    4.33  void 
    4.34  idle_fn(void* data, SlaveVP *animatingSlv);
    4.35  
    4.36 +void
    4.37 +resume_slaveVP(SlaveVP *slave, VSsSemEnv *semEnv);
    4.38 +
    4.39  //=====================  Measurement of Lang Overheads  =====================
    4.40  #include "Measurement/VSs_Measurement.h"
    4.41  
     5.1 --- a/VSs_PluginFns.c	Mon Sep 17 11:07:07 2012 +0200
     5.2 +++ b/VSs_PluginFns.c	Tue Sep 25 16:12:40 2012 +0200
     5.3 @@ -19,13 +19,13 @@
     5.4  void
     5.5  resume_slaveVP(SlaveVP *slave, VSsSemEnv *semEnv);
     5.6  
     5.7 -inline void
     5.8 +void
     5.9  handleSemReq(VMSReqst *req, SlaveVP *requestingSlv, VSsSemEnv *semEnv);
    5.10  
    5.11 -inline void
    5.12 +void
    5.13  handleDissipate(SlaveVP *requestingSlv, VSsSemEnv *semEnv);
    5.14  
    5.15 -inline void
    5.16 +void
    5.17  handleCreate(VMSReqst *req, SlaveVP *requestingSlv, VSsSemEnv *semEnv);
    5.18  
    5.19  //============================== Assigner ==================================
    5.20 @@ -229,7 +229,7 @@
    5.21  
    5.22  }
    5.23  
    5.24 -inline void
    5.25 +void
    5.26  handleSemReq(VMSReqst *req, SlaveVP *reqSlv, VSsSemEnv *semEnv) {
    5.27      VSsSemReq *semReq;
    5.28  
    5.29 @@ -271,6 +271,8 @@
    5.30              break;
    5.31          case trans_end: handleTransEnd(semReq, reqSlv, semEnv);
    5.32              break;
    5.33 +        default:
    5.34 +            break;
    5.35      }
    5.36  }
    5.37  
    5.38 @@ -281,7 +283,7 @@
    5.39  /*SlaveVP dissipate -- this is NOT task-end!, only call this to get rid of
    5.40   * extra task slaves, and to end explicitly created threads
    5.41   */
    5.42 -inline void
    5.43 +void
    5.44  handleDissipate(SlaveVP *requestingSlv, VSsSemEnv *semEnv) {
    5.45      VSsSemData *semData;
    5.46      VSsTaskStub *parentTaskStub, *ownTaskStub;
    5.47 @@ -345,7 +347,7 @@
    5.48  
    5.49  /*Re-use this in the entry-point fn
    5.50   */
    5.51 -inline SlaveVP *
    5.52 +SlaveVP *
    5.53  VSs__create_slave_helper(TopLevelFnPtr fnPtr, void *initData,
    5.54          VSsSemEnv *semEnv, int32 coreToAssignOnto) {
    5.55      SlaveVP *newSlv;
    5.56 @@ -421,7 +423,7 @@
    5.57   * Then, put the task stub into the slave's semantic Data.
    5.58   *When the slave calls dissipate, have to recycle the task stub.
    5.59   */
    5.60 -inline void
    5.61 +void
    5.62  handleCreate(VMSReqst *req, SlaveVP *requestingSlv, VSsSemEnv *semEnv) {
    5.63      VSsSemReq *semReq;
    5.64      SlaveVP *newSlv;
     6.1 --- a/VSs_Request_Handlers.c	Mon Sep 17 11:07:07 2012 +0200
     6.2 +++ b/VSs_Request_Handlers.c	Tue Sep 25 16:12:40 2012 +0200
     6.3 @@ -10,6 +10,7 @@
     6.4  #include "VMS_impl/VMS.h"
     6.5  #include "Queue_impl/PrivateQueue.h"
     6.6  #include "Hash_impl/PrivateHash.h"
     6.7 +#include "ListOfArrays/ListOfArrays.h"
     6.8  #include "VSs.h"
     6.9  #include "VSs_Request_Handlers.h"
    6.10  
    6.11 @@ -20,8 +21,7 @@
    6.12  
    6.13  
    6.14  //=========================== Local Fn Prototypes ===========================
    6.15 -void
    6.16 -resume_slaveVP(SlaveVP *slave, VSsSemEnv *semEnv);
    6.17 +
    6.18  
    6.19  
    6.20  
    6.21 @@ -46,7 +46,7 @@
    6.22  }
    6.23  
    6.24  HashEntry *
    6.25 -giveEntryElseInsertReqst32(int32 *key, VSsSemReq *semReq,
    6.26 +giveEntryElseInsertReqst32(uint32 *key, VSsSemReq *semReq,
    6.27          HashTable *commHashTbl) {
    6.28      HashEntry *entry;
    6.29      VSsSemReq *waitingReq;
    6.30 @@ -84,7 +84,7 @@
    6.31  /*malloc's space and initializes fields -- and COPIES the arg values
    6.32   * to new space
    6.33   */
    6.34 -inline VSsTaskStub *
    6.35 +VSsTaskStub *
    6.36  create_task_stub(VSsTaskType *taskType, void **args) {
    6.37      void **newArgs;
    6.38      VSsTaskStub* newStub = VMS_int__malloc(sizeof (VSsTaskStub) + taskType->sizeOfArgs);
    6.39 @@ -109,7 +109,7 @@
    6.40      return newStub;
    6.41  }
    6.42  
    6.43 -inline VSsTaskStubCarrier *
    6.44 +VSsTaskStubCarrier *
    6.45  create_task_carrier(VSsTaskStub *taskStub, int32 argNum, int32 rdOrWrite) {
    6.46      VSsTaskStubCarrier *newCarrier;
    6.47  
    6.48 @@ -117,6 +117,8 @@
    6.49      newCarrier->taskStub = taskStub;
    6.50      newCarrier->argNum = argNum;
    6.51      newCarrier->isReader = rdOrWrite == READER;
    6.52 +    
    6.53 +    return newCarrier;
    6.54  }
    6.55  
    6.56  //==========================================================================
    6.57 @@ -220,7 +222,7 @@
    6.58   * 
    6.59   *That should be it -- that should work.
    6.60   */
    6.61 -inline void
    6.62 +void
    6.63  handleSubmitTask(VSsSemReq *semReq, VSsSemEnv *semEnv) {
    6.64      uint32 key[3];
    6.65      HashEntry *rawHashEntry; //has char *, but use with uint32 *
    6.66 @@ -374,7 +376,7 @@
    6.67   *TODO: Might be safe to delete an entry when task ends and waiterQ empty
    6.68   * and no readers and no writers..
    6.69   */
    6.70 -inline void
    6.71 +void
    6.72  handleEndTask(VSsSemReq *semReq, VSsSemEnv *semEnv) {
    6.73      VSsPointerEntry *ptrEntry; //contents of hash table entry for an arg pointer
    6.74      void **args;
    6.75 @@ -584,7 +586,7 @@
    6.76      return;
    6.77  }
    6.78  
    6.79 -inline void
    6.80 +void
    6.81  free_task_stub(VSsTaskStub *stubToFree) 
    6.82   { if(stubToFree->ptrEntries != NULL ) //a thread stub has NULL entry
    6.83      { VMS_PI__free( stubToFree->ptrEntries );
    6.84 @@ -608,11 +610,12 @@
    6.85   * separate tasks can send to the same receiver, and doing hash on the
    6.86   * receive task, so they will stack up.
    6.87   */
    6.88 -inline void
    6.89 +void
    6.90  handleSendTypeTo(VSsSemReq *semReq, VSsSemEnv *semEnv) {
    6.91      SlaveVP *senderSlv, *receiverSlv;
    6.92      int32 *senderID, *receiverID;
    6.93 -    int32 *key, keySz, receiverIDNumInt;
    6.94 +    int32  keySz, receiverIDNumInt;
    6.95 +    uint32 *key;
    6.96      VSsSemReq *waitingReq;
    6.97      HashEntry *entry;
    6.98      HashTable *commHashTbl = semEnv->commHashTbl;
    6.99 @@ -711,11 +714,12 @@
   6.100   */
   6.101  //TODO: combine both send handlers into single handler
   6.102  
   6.103 -inline void
   6.104 +void
   6.105  handleSendFromTo(VSsSemReq *semReq, VSsSemEnv *semEnv) {
   6.106      SlaveVP *senderSlv, *receiverSlv;
   6.107      int32 *senderID, *receiverID;
   6.108 -    int32 *key, keySz, receiverIDNumInt, senderIDNumInt;
   6.109 +    int32  keySz, receiverIDNumInt, senderIDNumInt;
   6.110 +    uint32 *key;
   6.111      VSsSemReq *waitingReq;
   6.112      HashEntry *entry;
   6.113      HashTable *commHashTbl = semEnv->commHashTbl;
   6.114 @@ -792,11 +796,12 @@
   6.115  //==============================  Receives  ===========================
   6.116  //
   6.117  
   6.118 -inline void
   6.119 +void
   6.120  handleReceiveTypeTo(VSsSemReq *semReq, VSsSemEnv *semEnv) {
   6.121      SlaveVP *senderSlv, *receiverSlv;
   6.122      int32 *receiverID;
   6.123 -    int32 *key, keySz, receiverIDNumInt;
   6.124 +    int32  keySz, receiverIDNumInt;
   6.125 +    uint32 *key;
   6.126      VSsSemReq *waitingReq;
   6.127      HashEntry *entry;
   6.128      HashTable *commHashTbl = semEnv->commHashTbl;
   6.129 @@ -879,11 +884,12 @@
   6.130  
   6.131  /*
   6.132   */
   6.133 -inline void
   6.134 +void
   6.135  handleReceiveFromTo(VSsSemReq *semReq, VSsSemEnv *semEnv) {
   6.136      SlaveVP *senderSlv, *receiverSlv;
   6.137      int32 *senderID, *receiverID;
   6.138 -    int32 *key, keySz, receiverIDNumInt, senderIDNumInt;
   6.139 +    int32  keySz, receiverIDNumInt, senderIDNumInt;
   6.140 +    uint32 *key;
   6.141      VSsSemReq *waitingReq;
   6.142      HashEntry *entry;
   6.143      HashTable *commHashTbl = semEnv->commHashTbl;
   6.144 @@ -916,7 +922,11 @@
   6.145  
   6.146      //At this point, know have a request to rendez-vous -- should be send
   6.147      if (waitingReq->reqType == send_from_to) { //waiting request is a send, so pair it with this receive
   6.148 -#ifdef HOLISTIC__TURN_ON_OBSERVE_UCC
   6.149 +
   6.150 +        //have receiver slave, now set sender slave
   6.151 +        senderSlv = waitingReq->senderSlv;
   6.152 +        
   6.153 +        #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC
   6.154          Dependency newd;
   6.155          newd.from_vp = senderSlv->slaveID;
   6.156          newd.from_task = senderSlv->assignCount;
   6.157 @@ -924,10 +934,7 @@
   6.158          newd.to_task = receiverSlv->assignCount + 1;
   6.159          //addToListOfArraysDependency(newd,semEnv->commDependenciesList);  
   6.160          addToListOfArrays(Dependency, newd, semEnv->commDependenciesList);
   6.161 -#endif
   6.162 -
   6.163 -        //have receiver slave, now set sender slave
   6.164 -        senderSlv = waitingReq->senderSlv;
   6.165 +        #endif
   6.166  
   6.167          //For from-to, should only ever be a single reqst waiting tobe paird
   6.168          entry->content = waitingReq->nextReqInHashEntry;
   6.169 @@ -951,7 +958,7 @@
   6.170  
   6.171  //==========================================================================
   6.172  
   6.173 -inline void
   6.174 +void
   6.175  replaceWithNewSlotSlvIfNeeded( SlaveVP *requestingSlv, VSsSemEnv *semEnv )
   6.176   { SlaveVP *newSlotSlv;
   6.177     VSsSemData *semData, *reqSemData;
   6.178 @@ -989,7 +996,7 @@
   6.179      semData->slaveType = ExtraTaskSlv;
   6.180  }
   6.181  
   6.182 -inline void
   6.183 +void
   6.184  handleTaskwait(VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv) {
   6.185      VSsTaskStub* requestingTaskStub;
   6.186      VSsSemData* semData;
   6.187 @@ -1043,7 +1050,7 @@
   6.188  /*Uses ID as index into array of flags.  If flag already set, resumes from
   6.189   * end-label.  Else, sets flag and resumes normally.
   6.190   */
   6.191 -void inline
   6.192 +void 
   6.193  handleStartSingleton_helper(VSsSingleton *singleton, SlaveVP *reqstingSlv,
   6.194          VSsSemEnv *semEnv) {
   6.195      if (singleton->hasFinished) { //the code that sets the flag to true first sets the end instr addr
   6.196 @@ -1069,7 +1076,7 @@
   6.197      }
   6.198  }
   6.199  
   6.200 -void inline
   6.201 +void 
   6.202  handleStartFnSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv,
   6.203          VSsSemEnv *semEnv) {
   6.204      VSsSingleton *singleton;
   6.205 @@ -1079,7 +1086,7 @@
   6.206      handleStartSingleton_helper(singleton, requestingSlv, semEnv);
   6.207  }
   6.208  
   6.209 -void inline
   6.210 +void 
   6.211  handleStartDataSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv,
   6.212          VSsSemEnv *semEnv) {
   6.213      VSsSingleton *singleton;
   6.214 @@ -1097,7 +1104,7 @@
   6.215      handleStartSingleton_helper(singleton, requestingSlv, semEnv);
   6.216  }
   6.217  
   6.218 -void inline
   6.219 +void 
   6.220  handleEndSingleton_helper(VSsSingleton *singleton, SlaveVP *requestingSlv,
   6.221          VSsSemEnv *semEnv) {
   6.222      PrivQueueStruc *waitQ;
   6.223 @@ -1106,7 +1113,7 @@
   6.224  
   6.225      if (singleton->hasFinished) { //by definition, only one slave should ever be able to run end singleton
   6.226          // so if this is true, is an error
   6.227 -        ERROR1("singleton code ran twice", requestingSlv);
   6.228 +        ERROR("singleton code ran twice");
   6.229      }
   6.230  
   6.231      singleton->hasFinished = TRUE;
   6.232 @@ -1134,7 +1141,7 @@
   6.233  
   6.234  }
   6.235  
   6.236 -void inline
   6.237 +void 
   6.238  handleEndFnSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv,
   6.239          VSsSemEnv *semEnv) {
   6.240      VSsSingleton *singleton;
   6.241 @@ -1145,7 +1152,7 @@
   6.242      handleEndSingleton_helper(singleton, requestingSlv, semEnv);
   6.243  }
   6.244  
   6.245 -void inline
   6.246 +void 
   6.247  handleEndDataSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv,
   6.248          VSsSemEnv *semEnv) {
   6.249      VSsSingleton *singleton;
     7.1 --- a/VSs_Request_Handlers.h	Mon Sep 17 11:07:07 2012 +0200
     7.2 +++ b/VSs_Request_Handlers.h	Tue Sep 25 16:12:40 2012 +0200
     7.3 @@ -14,47 +14,47 @@
     7.4  /*This header defines everything specific to the VSs semantic plug-in
     7.5   */
     7.6  
     7.7 -inline void
     7.8 +void
     7.9  handleSubmitTask( VSsSemReq *semReq, VSsSemEnv *semEnv);
    7.10 -inline void
    7.11 +void
    7.12  handleEndTask( VSsSemReq *semReq, VSsSemEnv *semEnv);
    7.13 -inline void
    7.14 +void
    7.15  handleSendTypeTo( VSsSemReq *semReq, VSsSemEnv *semEnv);
    7.16 -inline void
    7.17 +void
    7.18  handleSendFromTo( VSsSemReq *semReq, VSsSemEnv *semEnv);
    7.19 -inline void
    7.20 +void
    7.21  handleReceiveTypeTo( VSsSemReq *semReq, VSsSemEnv *semEnv);
    7.22 -inline void
    7.23 +void
    7.24  handleReceiveFromTo( VSsSemReq *semReq, VSsSemEnv *semEnv);
    7.25 -inline void
    7.26 +void
    7.27  handleTaskwait(VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv);
    7.28  
    7.29 -inline void
    7.30 +void
    7.31  handleMalloc( VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv);
    7.32 -inline void
    7.33 +void
    7.34  handleFree( VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv );
    7.35 -inline void
    7.36 +void
    7.37  handleTransEnd(VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv*semEnv);
    7.38 -inline void
    7.39 +void
    7.40  handleTransStart( VSsSemReq *semReq, SlaveVP *requestingSlv,
    7.41                    VSsSemEnv *semEnv );
    7.42 -inline void
    7.43 +void
    7.44  handleAtomic( VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv);
    7.45 -inline void
    7.46 +void
    7.47  handleStartFnSingleton( VSsSemReq *semReq, SlaveVP *reqstingSlv,
    7.48                        VSsSemEnv *semEnv );
    7.49 -inline void
    7.50 +void
    7.51  handleEndFnSingleton( VSsSemReq *semReq, SlaveVP *requestingSlv,
    7.52                      VSsSemEnv *semEnv );
    7.53 -inline void
    7.54 +void
    7.55  handleStartDataSingleton( VSsSemReq *semReq, SlaveVP *reqstingSlv,
    7.56                        VSsSemEnv *semEnv );
    7.57 -inline void
    7.58 +void
    7.59  handleEndDataSingleton( VSsSemReq *semReq, SlaveVP *requestingSlv,
    7.60                      VSsSemEnv *semEnv );
    7.61 -inline void
    7.62 +void
    7.63  free_task_stub( VSsTaskStub *stubToFree );
    7.64 -inline void
    7.65 +void
    7.66  replaceWithNewSlotSlvIfNeeded( SlaveVP *requestingSlv, VSsSemEnv *semEnv );
    7.67  
    7.68