Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
comparison VSs.h @ 7:3999b8429ddd
Not working -- check point to share changes with Nina
| author | Sean Halle <seanhalle@yahoo.com> |
|---|---|
| date | Wed, 01 Aug 2012 03:16:27 -0700 |
| parents | 1780f6b00e3d |
| children | eb3d77ca9f59 |
comparison
equal
deleted
inserted
replaced
| 6:83d9b443207a | 7:2e37936a4337 |
|---|---|
| 271 VSs__cleanup_after_shutdown(); | 271 VSs__cleanup_after_shutdown(); |
| 272 | 272 |
| 273 //======================= | 273 //======================= |
| 274 | 274 |
| 275 SlaveVP * | 275 SlaveVP * |
| 276 VSs__create_thread( TopLevelFnPtr fnPtr, void *initData, | |
| 277 SlaveVP *creatingThd ); | |
| 278 | |
| 279 void | |
| 280 VSs__end_thread( SlaveVP *thdToEnd ); | |
| 281 | |
| 282 //======================= | |
| 283 | |
| 284 #define VSs__malloc( numBytes, callingSlave ) VMS_App__malloc( numBytes, callingSlave) | |
| 285 | |
| 286 #define VSs__free(ptrToFree, callingSlave ) VMS_App__free( ptrToFree, callingSlave ) | |
| 287 | |
| 288 | |
| 289 //======================= | |
| 290 void | |
| 291 VSs__submit_task( VSsTaskType *taskType, void *args, SlaveVP *animSlv); | |
| 292 | |
| 293 inline int32 * | |
| 294 VSs__create_taskID_of_size( int32 numInts, SlaveVP *animSlv ); | |
| 295 | |
| 296 void | |
| 297 VSs__submit_task_with_ID( VSsTaskType *taskType, void *args, int32 *taskID, | |
| 298 SlaveVP *animSlv); | |
| 299 | |
| 300 void | |
| 301 VSs__end_task( SlaveVP *animSlv ); | |
| 302 | |
| 303 //========================= | |
| 304 void | |
| 305 VSs__taskwait(SlaveVP *animSlv); | |
| 306 | |
| 307 | |
| 308 inline int32 * | |
| 309 VSs__give_self_taskID( SlaveVP *animSlv ); | |
| 310 | |
| 311 void | |
| 312 VSs__send_of_type_to( void *msg, const int32 type, int32 *receiverID, | |
| 313 SlaveVP *senderSlv ); | |
| 314 | |
| 315 void | |
| 316 VSs__send_from_to( void *msg, int32 *senderID, int32 *receiverID, SlaveVP *senderSlv ); | |
| 317 | |
| 318 void * | |
| 319 VSs__receive_type_to( const int32 type, int32* receiverID, SlaveVP *receiverSlv ); | |
| 320 | |
| 321 void * | |
| 322 VSs__receive_from_to( int32 *senderID, int32 *receiverID, SlaveVP *receiverSlv ); | |
| 323 | |
| 324 //======================= Concurrency Stuff ====================== | |
| 325 void | |
| 326 VSs__start_fn_singleton( int32 singletonID, SlaveVP *animSlv ); | |
| 327 | |
| 328 void | |
| 329 VSs__end_fn_singleton( int32 singletonID, SlaveVP *animSlv ); | |
| 330 | |
| 331 void | |
| 332 VSs__start_data_singleton( VSsSingleton **singeltonAddr, SlaveVP *animSlv ); | |
| 333 | |
| 334 void | |
| 335 VSs__end_data_singleton( VSsSingleton **singletonAddr, SlaveVP *animSlv ); | |
| 336 | |
| 337 void | |
| 338 VSs__animate_short_fn_in_isolation( PtrToAtomicFn ptrToFnToExecInMaster, | |
| 339 void *data, SlaveVP *animSlv ); | |
| 340 | |
| 341 void | |
| 342 VSs__start_transaction( int32 transactionID, SlaveVP *animSlv ); | |
| 343 | |
| 344 void | |
| 345 VSs__end_transaction( int32 transactionID, SlaveVP *animSlv ); | |
| 346 | |
| 347 | |
| 348 //========================= Internal use only ============================= | |
| 349 void | |
| 350 VSs__Request_Handler( SlaveVP *requestingSlv, void *_semEnv ); | |
| 351 | |
| 352 SlaveVP * | |
| 353 VSs__assign_slaveVP_to_slot( void *_semEnv, AnimSlot *slot ); | |
| 354 | |
| 355 SlaveVP* | |
| 356 VSs__create_slave_helper( TopLevelFnPtr fnPtr, void *initData, | |
| 357 VSsSemEnv *semEnv, int32 coreToAssignOnto ); | |
| 358 | |
| 359 VSsTaskStub * | |
| 360 create_expl_proc_task_stub( void *initData ); | |
| 361 | |
| 362 | |
| 363 SlaveVP * | |
| 276 VSs__create_slave_with( TopLevelFnPtr fnPtr, void *initData, | 364 VSs__create_slave_with( TopLevelFnPtr fnPtr, void *initData, |
| 277 SlaveVP *creatingSlv ); | 365 SlaveVP *creatingSlv ); |
| 278 | 366 |
| 279 SlaveVP * | 367 SlaveVP * |
| 280 VSs__create_slave_with_affinity( TopLevelFnPtr fnPtr, void *initData, | 368 VSs__create_slave_with_affinity( TopLevelFnPtr fnPtr, void *initData, |
| 281 SlaveVP *creatingSlv, int32 coreToAssignOnto); | 369 SlaveVP *creatingSlv, int32 coreToAssignOnto); |
| 282 | 370 |
| 283 void | |
| 284 VSs__dissipate_slave( SlaveVP *slaveToDissipate ); | |
| 285 | |
| 286 //======================= | |
| 287 | |
| 288 #define VSs__malloc( numBytes, callingSlave ) VMS_App__malloc( numBytes, callingSlave) | |
| 289 | |
| 290 #define VSs__free(ptrToFree, callingSlave ) VMS_App__free( ptrToFree, callingSlave ) | |
| 291 | |
| 292 | |
| 293 //======================= | |
| 294 void | |
| 295 VSs__submit_task( VSsTaskType *taskType, void *args, SlaveVP *animSlv); | |
| 296 | |
| 297 inline int32 * | |
| 298 VSs__create_taskID_of_size( int32 numInts, SlaveVP *animSlv ); | |
| 299 | |
| 300 void | |
| 301 VSs__submit_task_with_ID( VSsTaskType *taskType, void *args, int32 *taskID, | |
| 302 SlaveVP *animSlv); | |
| 303 | |
| 304 void | |
| 305 VSs__end_task( SlaveVP *animSlv ); | |
| 306 | |
| 307 //========================= | |
| 308 void | |
| 309 VSs__taskwait(SlaveVP *animSlv); | |
| 310 | |
| 311 | |
| 312 inline int32 * | |
| 313 VSs__give_self_taskID( SlaveVP *animSlv ); | |
| 314 | |
| 315 void | |
| 316 VSs__send_of_type_to( void *msg, const int32 type, int32 *receiverID, | |
| 317 SlaveVP *senderSlv ); | |
| 318 | |
| 319 void | |
| 320 VSs__send_from_to( void *msg, int32 *senderID, int32 *receiverID, SlaveVP *senderSlv ); | |
| 321 | |
| 322 void * | |
| 323 VSs__receive_type_to( const int32 type, int32* receiverID, SlaveVP *receiverSlv ); | |
| 324 | |
| 325 void * | |
| 326 VSs__receive_from_to( int32 *senderID, int32 *receiverID, SlaveVP *receiverSlv ); | |
| 327 | |
| 328 //======================= Concurrency Stuff ====================== | |
| 329 void | |
| 330 VSs__start_fn_singleton( int32 singletonID, SlaveVP *animSlv ); | |
| 331 | |
| 332 void | |
| 333 VSs__end_fn_singleton( int32 singletonID, SlaveVP *animSlv ); | |
| 334 | |
| 335 void | |
| 336 VSs__start_data_singleton( VSsSingleton **singeltonAddr, SlaveVP *animSlv ); | |
| 337 | |
| 338 void | |
| 339 VSs__end_data_singleton( VSsSingleton **singletonAddr, SlaveVP *animSlv ); | |
| 340 | |
| 341 void | |
| 342 VSs__animate_short_fn_in_isolation( PtrToAtomicFn ptrToFnToExecInMaster, | |
| 343 void *data, SlaveVP *animSlv ); | |
| 344 | |
| 345 void | |
| 346 VSs__start_transaction( int32 transactionID, SlaveVP *animSlv ); | |
| 347 | |
| 348 void | |
| 349 VSs__end_transaction( int32 transactionID, SlaveVP *animSlv ); | |
| 350 | |
| 351 | |
| 352 //========================= Internal use only ============================= | |
| 353 void | |
| 354 VSs__Request_Handler( SlaveVP *requestingSlv, void *_semEnv ); | |
| 355 | |
| 356 SlaveVP * | |
| 357 VSs__assign_slaveVP_to_slot( void *_semEnv, AnimSlot *slot ); | |
| 358 | |
| 359 SlaveVP* | |
| 360 VSs__create_slave_helper( TopLevelFnPtr fnPtr, void *initData, | |
| 361 VSsSemEnv *semEnv, int32 coreToAssignOnto ); | |
| 362 | 371 |
| 363 //===================== Measurement of Lang Overheads ===================== | 372 //===================== Measurement of Lang Overheads ===================== |
| 364 #include "Measurement/VSs_Measurement.h" | 373 #include "Measurement/VSs_Measurement.h" |
| 365 | 374 |
| 366 //=========================================================================== | 375 //=========================================================================== |
