Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
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;
