diff VMS.h @ 127:24466227d8bb

bugs fixed, code is now compiling
author Merten Sach <msach@mailbox.tu-berlin.de>
date Wed, 07 Sep 2011 17:45:05 +0200
parents d4c881c7f03a
children dbfc8382d546
line diff
     1.1 --- a/VMS.h	Wed Sep 07 13:07:23 2011 +0200
     1.2 +++ b/VMS.h	Wed Sep 07 17:45:05 2011 +0200
     1.3 @@ -113,6 +113,7 @@
     1.4  
     1.5  typedef struct _SchedSlot     SchedSlot;
     1.6  typedef struct _VMSReqst      VMSReqst;
     1.7 +typedef struct _VirtProcr     VirtProcr;
     1.8  typedef struct _InterMasterReqst InterMasterReqst;
     1.9  typedef struct _IntervalProbe IntervalProbe;
    1.10  typedef struct _GateStruc     GateStruc;
    1.11 @@ -189,28 +190,28 @@
    1.12     transfer_free_ptr = 1     //avoid starting enums at 0, for debug reasons
    1.13   };
    1.14  
    1.15 -typedef struct  //Doing a trick to save space & time -- allocate space
    1.16 - {              // for this, cast first as InterMaster then as this
    1.17 +//Doing a trick to save space & time -- allocate space
    1.18 +// for this, cast first as InterMaster then as this
    1.19 +typedef struct  
    1.20 + {
    1.21     enum InterMasterReqstType  reqType;  //duplicate InterMasterReqst at top
    1.22     InterMasterReqst *nextReqst;
    1.23     
    1.24     enum InterVMSCoreReqType  secondReqType;
    1.25     void                     *freePtr;  //pile up fields, add as needed
    1.26 - }
    1.27 -InterVMSCoreReqst;
    1.28 -
    1.29 + } InterVMSCoreReqst;
    1.30  
    1.31  //This is for requests between plugins on different cores
    1.32  // Here, after casting, the pluginReq is extracted and handed to plugin
    1.33 -typedef struct  //Doing a trick to save space & time -- allocate space
    1.34 - {              // for this, cast first as InterMaster then as this
    1.35 +//Doing a trick to save space & time -- allocate space
    1.36 +// for this, cast first as InterMaster then as this
    1.37 +typedef struct  
    1.38 + {
    1.39     enum InterMasterReqstType  reqType;  //copy InterMasterReqst at top
    1.40     InterMasterReqst          *nextReqst;
    1.41     
    1.42     void                      *pluginReq; //plugin will cast to approp type
    1.43 - }
    1.44 -InterPluginReqst;
    1.45 -
    1.46 + } InterPluginReqst;
    1.47  
    1.48  //====================  Core data structures  ===================
    1.49  
    1.50 @@ -270,7 +271,7 @@
    1.51     RequestHandler   requestHandler;
    1.52     
    1.53     SchedSlot     ***allSchedSlots;
    1.54 -   VMSQueueStruc **readyToAnimateQs;
    1.55 +   VMSQueueStruc  **readyToAnimateQs;
    1.56     VirtProcr      **masterVPs;
    1.57  
    1.58     void            *semanticEnv;
    1.59 @@ -287,27 +288,30 @@
    1.60     GateStruc       *workStealingGates[ NUM_CORES ]; //concurrent work-steal
    1.61     int32            workStealingLock;
    1.62     
    1.63 -   int32            numProcrsCreated; //gives ordering to processor creation
    1.64 +   InterMasterReqst*  interMasterRequestsFor[NUM_CORES];
    1.65 +   RequestHandler     interPluginReqHdlr;
    1.66 +   
    1.67 +   int32              numProcrsCreated; //gives ordering to processor creation
    1.68  
    1.69        //=========== MEASUREMENT STUFF =============
    1.70 -   IntervalProbe  **intervalProbes;
    1.71 -   PrivDynArrayInfo    *dynIntervalProbesInfo;
    1.72 -   HashTable       *probeNameHashTbl;
    1.73 -   int32            masterCreateProbeID;
    1.74 -   float64          createPtInSecs;
    1.75 -   Histogram      **measHists;
    1.76 -   PrivDynArrayInfo *measHistsInfo;
    1.77 +   IntervalProbe    **intervalProbes;
    1.78 +   PrivDynArrayInfo  *dynIntervalProbesInfo;
    1.79 +   HashTable         *probeNameHashTbl;
    1.80 +   int32              masterCreateProbeID;
    1.81 +   float64            createPtInSecs;
    1.82 +   Histogram        **measHists;
    1.83 +   PrivDynArrayInfo  *measHistsInfo;
    1.84     #ifdef MEAS__TIME_PLUGIN
    1.85 -   Histogram       *reqHdlrLowTimeHist;
    1.86 -   Histogram       *reqHdlrHighTimeHist;
    1.87 +   Histogram         *reqHdlrLowTimeHist;
    1.88 +   Histogram         *reqHdlrHighTimeHist;
    1.89     #endif
    1.90     #ifdef MEAS__TIME_MALLOC
    1.91 -   Histogram       *mallocTimeHist;
    1.92 -   Histogram       *freeTimeHist;
    1.93 +   Histogram         *mallocTimeHist;
    1.94 +   Histogram         *freeTimeHist;
    1.95     #endif
    1.96     #ifdef MEAS__TIME_MASTER_LOCK
    1.97 -   Histogram       *masterLockLowTimeHist;
    1.98 -   Histogram       *masterLockHighTimeHist;
    1.99 +   Histogram         *masterLockLowTimeHist;
   1.100 +   Histogram         *masterLockHighTimeHist;
   1.101     #endif
   1.102   }
   1.103  MasterEnv;