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 //===========================================================================