Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
comparison VSs.h @ 21:feea343d202f
add support for more OmpSs features
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Mon, 29 Oct 2012 16:57:56 +0100 |
| parents | a7ca8f45c1c4 |
| children | b787a5234406 |
comparison
equal
deleted
inserted
replaced
| 19:6d780619484f | 20:ddd8fa5fc02e |
|---|---|
| 90 bool32 isWaitingForChildTasksToEnd; | 90 bool32 isWaitingForChildTasksToEnd; |
| 91 bool32 isWaitingForChildThreadsToEnd; | 91 bool32 isWaitingForChildThreadsToEnd; |
| 92 bool32 isEnded; | 92 bool32 isEnded; |
| 93 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC | 93 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC |
| 94 Unit parentUnit; | 94 Unit parentUnit; |
| 95 Unit firstOfTask; | |
| 95 #endif | 96 #endif |
| 96 } | 97 } |
| 97 VSsTaskStub; | 98 VSsTaskStub; |
| 98 | 99 |
| 99 | 100 |
| 100 typedef struct | 101 typedef struct |
| 101 { | 102 { |
| 102 VSsTaskStub *taskStub; | 103 VSsTaskStub *taskStub; |
| 103 int32 argNum; | 104 int32 argNum; |
| 104 int32 isReader; | 105 int32 isReader; |
| 106 bool32 isSuspended; | |
| 105 } | 107 } |
| 106 VSsTaskStubCarrier; | 108 VSsTaskStubCarrier; |
| 107 | 109 |
| 108 | 110 |
| 109 /*Semantic layer-specific data sent inside a request from lib called in app | 111 /*Semantic layer-specific data sent inside a request from lib called in app |
| 128 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC | 130 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC |
| 129 Unit executingUnit; | 131 Unit executingUnit; |
| 130 #endif | 132 #endif |
| 131 } | 133 } |
| 132 VSsSingleton; | 134 VSsSingleton; |
| 135 | |
| 136 typedef struct | |
| 137 { | |
| 138 int32 isOccupied; | |
| 139 PrivQueueStruc *waitQ; | |
| 140 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC | |
| 141 Unit previous; | |
| 142 #endif | |
| 143 } | |
| 144 VSsCritical; | |
| 133 | 145 |
| 134 enum VSsReqType | 146 enum VSsReqType |
| 135 { | 147 { |
| 136 submit_task = 1, | 148 submit_task = 1, |
| 137 end_task, | 149 end_task, |
| 143 receive_type_to, | 155 receive_type_to, |
| 144 send_from_to, | 156 send_from_to, |
| 145 receive_from_to, | 157 receive_from_to, |
| 146 //=============================== | 158 //=============================== |
| 147 taskwait, | 159 taskwait, |
| 160 taskwait_on, | |
| 161 critical_start, | |
| 162 critical_end, | |
| 148 malloc_req, | 163 malloc_req, |
| 149 free_req, | 164 free_req, |
| 150 singleton_fn_start, | 165 singleton_fn_start, |
| 151 singleton_fn_end, | 166 singleton_fn_end, |
| 152 singleton_data_start, | 167 singleton_data_start, |
| 184 | 199 |
| 185 PtrToAtomicFn fnToExecInMaster; | 200 PtrToAtomicFn fnToExecInMaster; |
| 186 void *dataForFn; | 201 void *dataForFn; |
| 187 | 202 |
| 188 int32 transID; | 203 int32 transID; |
| 204 int32 criticalID; | |
| 189 } | 205 } |
| 190 /* VSsSemReq */; | 206 /* VSsSemReq */; |
| 191 | 207 |
| 192 | 208 |
| 193 typedef struct | 209 typedef struct |
| 204 int32 primitiveStartTime; | 220 int32 primitiveStartTime; |
| 205 | 221 |
| 206 //fix limit on num with dynArray | 222 //fix limit on num with dynArray |
| 207 VSsSingleton fnSingletons[NUM_STRUCS_IN_SEM_ENV]; | 223 VSsSingleton fnSingletons[NUM_STRUCS_IN_SEM_ENV]; |
| 208 VSsTrans transactionStrucs[NUM_STRUCS_IN_SEM_ENV]; | 224 VSsTrans transactionStrucs[NUM_STRUCS_IN_SEM_ENV]; |
| 225 VSsCritical criticalSection[NUM_STRUCS_IN_SEM_ENV]; | |
| 209 | 226 |
| 210 bool32 *coreIsDone; | 227 bool32 *coreIsDone; |
| 211 int32 numCoresDone; | 228 int32 numCoresDone; |
| 212 | 229 |
| 213 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC | 230 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC |
| 317 | 334 |
| 318 //========================= | 335 //========================= |
| 319 void | 336 void |
| 320 VSs__taskwait(SlaveVP *animSlv); | 337 VSs__taskwait(SlaveVP *animSlv); |
| 321 | 338 |
| 339 void | |
| 340 VSs__taskwait_on(SlaveVP *animSlv,void* ptr); | |
| 341 | |
| 342 void | |
| 343 VSs__start_critical(SlaveVP *animSlv,int32 name); | |
| 344 | |
| 345 void | |
| 346 VSs__end_critical(SlaveVP *animSlv,int32 name); | |
| 322 | 347 |
| 323 int32 * | 348 int32 * |
| 324 VSs__give_self_taskID( SlaveVP *animSlv ); | 349 VSs__give_self_taskID( SlaveVP *animSlv ); |
| 325 | 350 |
| 326 void | 351 void |
