# HG changeset patch # User Some Random Person # Date 1337875044 25200 # Node ID 21cf36019f0d6620afa4458906fe2a23d23ee5af # Parent b311282ec174966c7786841032684a64737e87fb Partially converted SSR to VOMP -- start of changes diff -r b311282ec174 -r 21cf36019f0d Measurement/VOMP_Counter_Recording.c --- a/Measurement/VOMP_Counter_Recording.c Sun May 20 22:07:52 2012 -0700 +++ b/Measurement/VOMP_Counter_Recording.c Thu May 24 08:57:24 2012 -0700 @@ -3,14 +3,14 @@ * author: Nina Engelhardt */ -#include "SSR_Counter_Recording.h" +#include "VOMP_Counter_Recording.h" #include "VMS_impl/VMS.h" -#include "SSR.h" +#include "VOMP.h" #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS -void SSR__init_counter_data_structs(){ - SSRSemEnv *semanticEnv = _VMSMasterEnv->semanticEnv; +void VOMP__init_counter_data_structs(){ + VOMPSemEnv *semanticEnv = _VMSMasterEnv->semanticEnv; int i; for(i=0;icounterList[i] = makeListOfArrays(sizeof(CounterEvent), 128); @@ -28,7 +28,7 @@ list->next_free_index++; } -void SSR__counter_handler(int evt_type, int vpid, int task, SlaveVP* pr, uint64 cycles, uint64 instrs) +void VOMP__counter_handler(int evt_type, int vpid, int task, SlaveVP* pr, uint64 cycles, uint64 instrs) { if (pr->typeOfVP == Master || pr->typeOfVP == Shutdown) @@ -36,7 +36,7 @@ return; } - SSRSemEnv *semanticEnv = _VMSMasterEnv->semanticEnv; + VOMPSemEnv *semanticEnv = _VMSMasterEnv->semanticEnv; CounterEvent e; e.event_type = evt_type; diff -r b311282ec174 -r 21cf36019f0d Measurement/VOMP_Counter_Recording.h --- a/Measurement/VOMP_Counter_Recording.h Sun May 20 22:07:52 2012 -0700 +++ b/Measurement/VOMP_Counter_Recording.h Thu May 24 08:57:24 2012 -0700 @@ -1,12 +1,12 @@ /* - * File: SSR_Counter_Recording.h + * File: VOMP_Counter_Recording.h * Author: nengel * * Created on January 11, 2012, 3:03 PM */ -#ifndef SSR_COUNTER_RECORDING_H -#define SSR_COUNTER_RECORDING_H +#ifndef VOMP_COUNTER_RECORDING_H +#define VOMP_COUNTER_RECORDING_H #include "VMS_impl/VMS.h" @@ -22,12 +22,12 @@ FILE* counterfile; -void SSR__init_counter_data_structs(); +void VOMP__init_counter_data_structs(); -void SSR__counter_handler(int evt_type, int vpid, int task, SlaveVP* pr, uint64 cycles, uint64 instrs); +void VOMP__counter_handler(int evt_type, int vpid, int task, SlaveVP* pr, uint64 cycles, uint64 instrs); void set_counter_file(FILE* f); void print_counter_events_to_file(void* _e); -#endif /* SSR_COUNTER_RECORDING_H */ +#endif /* VOMP_COUNTER_RECORDING_H */ diff -r b311282ec174 -r 21cf36019f0d Measurement/VOMP_Measurement.h --- a/Measurement/VOMP_Measurement.h Sun May 20 22:07:52 2012 -0700 +++ b/Measurement/VOMP_Measurement.h Thu May 24 08:57:24 2012 -0700 @@ -6,8 +6,8 @@ * */ -#ifndef _SSR_MEAS_H -#define _SSR_MEAS_H +#ifndef _VOMP_MEAS_H +#define _VOMP_MEAS_H #ifdef MEAS__TURN_ON_LANG_MEAS diff -r b311282ec174 -r 21cf36019f0d VOMP.c --- a/VOMP.c Sun May 20 22:07:52 2012 -0700 +++ b/VOMP.c Thu May 24 08:57:24 2012 -0700 @@ -11,34 +11,19 @@ #include "Queue_impl/PrivateQueue.h" #include "Hash_impl/PrivateHash.h" -#include "SSR.h" -#include "SSR_Counter_Recording.h" +#include "VOMP.h" +#include "VOMP_Counter_Recording.h" //========================================================================== void -SSR__init(); +VOMP__init(); void -SSR__init_Helper(); +VOMP__init_Helper(); //========================================================================== -/*TODO: Q: dealing with library f()s and DKU vs WT vs FoR - * (still want to do FoR, with time-lines as syntax, could be super cool) - * A: thinking pin the coreCtlrs for all of BLIS -- let Master arbitrate - * among library, DKU, WT, FoR -- all the patterns in terms of virtual - * processors (or equivalently work-units), so Master picks which virt procr - * from which portions of app (DKU, WT, FoR) onto which anim slots - *Might even do hierarchy of masters -- group of anim slots for each core - * has its own master, that keeps generated work local - * single-reader-single-writer sync everywhere -- no atomic primitives - * Might have the different assigners talk to each other, to negotiate - * larger-grain sharing of resources, according to predicted critical - * path, and expansion of work - */ - - //=========================================================================== @@ -46,25 +31,25 @@ /*These are the library functions *called in the application* * *There's a pattern for the outside sequential code to interact with the - * VMS_HW code. - *The VMS_HW system is inside a boundary.. every SSR system is in its + * language code. + *The language system is inside a boundary.. every VOMP application is in its * own directory that contains the functions for each of the processor types. * One of the processor types is the "seed" processor that starts the * cascade of creating all the processors that do the work. *So, in the directory is a file called "EntryPoint.c" that contains the * function, named appropriately to the work performed, that the outside * sequential code calls. This function follows a pattern: - *1) it calls SSR__init() + *1) it calls VOMP__init() *2) it creates the initial data for the seed processor, which is passed * in to the function - *3) it creates the seed SSR processor, with the data to start it with. - *4) it calls startSSRThenWaitUntilWorkDone + *3) it creates the seed VOMP processor, with the data to start it with. + *4) it calls startVOMPThenWaitUntilWorkDone *5) it gets the returnValue from the transfer struc and returns that * from the function * - *For now, a new SSR system has to be created via SSR__init every + *For now, a new VOMP system has to be created via VOMP__init every * time an entry point function is called -- later, might add letting the - * SSR system be created once, and let all the entry points just reuse + * VOMP system be created once, and let all the entry points just reuse * it -- want to be as simple as possible now, and see by using what makes * sense for later.. */ @@ -87,41 +72,41 @@ * any of the data reachable from initData passed in to here */ void -SSR__create_seed_procr_and_do_work( TopLevelFnPtr fnPtr, void *initData ) - { SSRSemEnv *semEnv; +VOMP__create_seed_procr_and_do_work( TopLevelFnPtr fnPtr, void *initData ) + { VOMPSemEnv *semEnv; SlaveVP *seedPr; - SSR__init(); //normal multi-thd + VOMP__init(); //normal multi-thd semEnv = _VMSMasterEnv->semanticEnv; - //SSR starts with one processor, which is put into initial environ, + //VOMP starts with one processor, which is put into initial environ, // and which then calls create() to create more, thereby expanding work - seedPr = SSR__create_procr_helper( fnPtr, initData, + seedPr = VOMP__create_procr_helper( fnPtr, initData, semEnv, semEnv->nextCoreToGetNewPr++ ); resume_slaveVP( seedPr, semEnv ); VMS_SS__start_the_work_then_wait_until_done(); //normal multi-thd - SSR__cleanup_after_shutdown(); + VOMP__cleanup_after_shutdown(); } int32 -SSR__giveMinWorkUnitCycles( float32 percentOverhead ) +VOMP__giveMinWorkUnitCycles( float32 percentOverhead ) { return MIN_WORK_UNIT_CYCLES; } int32 -SSR__giveIdealNumWorkUnits() +VOMP__giveIdealNumWorkUnits() { return NUM_ANIM_SLOTS * NUM_CORES; } int32 -SSR__give_number_of_cores_to_schedule_onto() +VOMP__give_number_of_cores_to_schedule_onto() { return NUM_CORES; } @@ -130,8 +115,8 @@ * saves jump point, and second jumps back several times to get reliable time */ void -SSR__start_primitive() - { saveLowTimeStampCountInto( ((SSRSemEnv *)(_VMSMasterEnv->semanticEnv))-> +VOMP__start_primitive() + { saveLowTimeStampCountInto( ((VOMPSemEnv *)(_VMSMasterEnv->semanticEnv))-> primitiveStartTime ); } @@ -141,17 +126,17 @@ * also to throw out any "weird" values due to OS interrupt or TSC rollover */ int32 -SSR__end_primitive_and_give_cycles() +VOMP__end_primitive_and_give_cycles() { int32 endTime, startTime; //TODO: fix by repeating time-measurement saveLowTimeStampCountInto( endTime ); - startTime =((SSRSemEnv*)(_VMSMasterEnv->semanticEnv))->primitiveStartTime; + startTime =((VOMPSemEnv*)(_VMSMasterEnv->semanticEnv))->primitiveStartTime; return (endTime - startTime); } //=========================================================================== -/*Initializes all the data-structures for a SSR system -- but doesn't +/*Initializes all the data-structures for a VOMP system -- but doesn't * start it running yet! * *This runs in the main thread -- before VMS starts up @@ -162,13 +147,13 @@ * for creating the seed processor and then starting the work. */ void -SSR__init() +VOMP__init() { VMS_SS__init(); //masterEnv, a global var, now is partially set up by init_VMS // after this, have VMS_int__malloc and VMS_int__free available - SSR__init_Helper(); + VOMP__init_Helper(); } @@ -179,25 +164,25 @@ } void -SSR__init_Helper() - { SSRSemEnv *semanticEnv; +VOMP__init_Helper() + { VOMPSemEnv *semanticEnv; PrivQueueStruc **readyVPQs; int coreIdx, i, j; //Hook up the semantic layer's plug-ins to the Master virt procr - _VMSMasterEnv->requestHandler = &SSR__Request_Handler; - _VMSMasterEnv->slaveAssigner = &SSR__assign_slaveVP_to_slot; + _VMSMasterEnv->requestHandler = &VOMP__Request_Handler; + _VMSMasterEnv->slaveAssigner = &VOMP__assign_slaveVP_to_slot; #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS - _VMSMasterEnv->counterHandler = &SSR__counter_handler; + _VMSMasterEnv->counterHandler = &VOMP__counter_handler; #endif //create the semantic layer's environment (all its data) and add to // the master environment - semanticEnv = VMS_int__malloc( sizeof( SSRSemEnv ) ); + semanticEnv = VMS_int__malloc( sizeof( VOMPSemEnv ) ); _VMSMasterEnv->semanticEnv = semanticEnv; #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS - SSR__init_counter_data_structs(); + VOMP__init_counter_data_structs(); #endif semanticEnv->shutdownInitiated = FALSE; for(i=0;isemanticEnv; @@ -390,9 +375,9 @@ /* */ SlaveVP * -SSR__create_procr_with( TopLevelFnPtr fnPtr, void *initData, +VOMP__create_procr_with( TopLevelFnPtr fnPtr, void *initData, SlaveVP *creatingPr ) - { SSRSemReq reqData; + { VOMPSemReq reqData; //the semantic request data is on the stack and disappears when this // call returns -- it's guaranteed to remain in the VP's stack for as @@ -409,9 +394,9 @@ } SlaveVP * -SSR__create_procr_with_affinity( TopLevelFnPtr fnPtr, void *initData, +VOMP__create_procr_with_affinity( TopLevelFnPtr fnPtr, void *initData, SlaveVP *creatingPr, int32 coreToAssignOnto ) - { SSRSemReq reqData; + { VOMPSemReq reqData; //the semantic request data is on the stack and disappears when this // call returns -- it's guaranteed to remain in the VP's stack for as @@ -429,7 +414,7 @@ void -SSR__dissipate_procr( SlaveVP *procrToDissipate ) +VOMP__dissipate_procr( SlaveVP *procrToDissipate ) { VMS_WL__send_dissipate_req( procrToDissipate ); } @@ -438,8 +423,8 @@ //=========================================================================== void * -SSR__malloc_to( int32 sizeToMalloc, SlaveVP *owningPr ) - { SSRSemReq reqData; +VOMP__malloc_to( int32 sizeToMalloc, SlaveVP *owningPr ) + { VOMPSemReq reqData; reqData.reqType = malloc_req; reqData.sendPr = owningPr; @@ -454,8 +439,8 @@ /*Sends request to Master, which does the work of freeing */ void -SSR__free( void *ptrToFree, SlaveVP *owningPr ) - { SSRSemReq reqData; +VOMP__free( void *ptrToFree, SlaveVP *owningPr ) + { VOMPSemReq reqData; reqData.reqType = free_req; reqData.sendPr = owningPr; @@ -466,7 +451,7 @@ void -SSR__transfer_ownership_of_from_to( void *data, SlaveVP *oldOwnerSlv, +VOMP__transfer_ownership_of_from_to( void *data, SlaveVP *oldOwnerSlv, SlaveVP *newOwnerPr ) { //TODO: put in the ownership system that automatically frees when no @@ -476,21 +461,21 @@ void -SSR__add_ownership_by_to( SlaveVP *newOwnerSlv, void *data ) +VOMP__add_ownership_by_to( SlaveVP *newOwnerSlv, void *data ) { } void -SSR__remove_ownership_by_from( SlaveVP *loserSlv, void *dataLosing ) +VOMP__remove_ownership_by_from( SlaveVP *loserSlv, void *dataLosing ) { } -/*Causes the SSR system to remove internal ownership, so data won't be - * freed when SSR shuts down, and will persist in the external program. +/*Causes the VOMP system to remove internal ownership, so data won't be + * freed when VOMP shuts down, and will persist in the external program. * *Must be called from the processor that currently owns the data. * @@ -506,7 +491,7 @@ * this function as no longer owner, and return -- done. */ void -SSR__transfer_ownership_to_outside( void *data ) +VOMP__transfer_ownership_to_outside( void *data ) { //TODO: removeAllOwnersFrom( data ); } @@ -515,9 +500,9 @@ //=========================================================================== void -SSR__send_of_type_to( SlaveVP *sendPr, void *msg, const int type, +VOMP__send_of_type_to( SlaveVP *sendPr, void *msg, const int type, SlaveVP *receivePr) - { SSRSemReq reqData; + { VOMPSemReq reqData; reqData.receivePr = receivePr; reqData.sendPr = sendPr; @@ -537,8 +522,8 @@ } void -SSR__send_from_to( void *msg, SlaveVP *sendPr, SlaveVP *receivePr ) - { SSRSemReq reqData; +VOMP__send_from_to( void *msg, SlaveVP *sendPr, SlaveVP *receivePr ) + { VOMPSemReq reqData; //hash on the receiver, 'cause always know it, but sometimes want to // receive from anonymous sender @@ -556,15 +541,15 @@ //=========================================================================== void * -SSR__receive_any_to( SlaveVP *receivePr ) +VOMP__receive_any_to( SlaveVP *receivePr ) { } void * -SSR__receive_type_to( const int type, SlaveVP *receivePr ) +VOMP__receive_type_to( const int type, SlaveVP *receivePr ) { DEBUG__printf1(dbgRqstHdlr,"WL: receive type to: %d", receivePr->slaveID); - SSRSemReq reqData; + VOMPSemReq reqData; reqData.receivePr = receivePr; reqData.reqType = receive_type; @@ -585,9 +570,9 @@ * loc structure can only be modified by itself. */ void * -SSR__receive_from_to( SlaveVP *sendPr, SlaveVP *receivePr ) +VOMP__receive_from_to( SlaveVP *sendPr, SlaveVP *receivePr ) { DEBUG__printf2(dbgRqstHdlr,"WL: receive from %d to: %d", sendPr->slaveID, receivePr->slaveID); - SSRSemReq reqData; + VOMPSemReq reqData; //hash on the receiver, 'cause always know it, but sometimes want to // receive from anonymous sender @@ -616,16 +601,16 @@ */ /*asm function declarations*/ -void asm_save_ret_to_singleton(SSRSingleton *singletonPtrAddr); -void asm_write_ret_from_singleton(SSRSingleton *singletonPtrAddr); +void asm_save_ret_to_singleton(VOMPSingleton *singletonPtrAddr); +void asm_write_ret_from_singleton(VOMPSingleton *singletonPtrAddr); /*Fn singleton uses ID as index into array of singleton structs held in the * semantic environment. */ void -SSR__start_fn_singleton( int32 singletonID, SlaveVP *animPr ) +VOMP__start_fn_singleton( int32 singletonID, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; // reqData.reqType = singleton_fn_start; @@ -634,7 +619,7 @@ VMS_WL__send_sem_request( &reqData, animPr ); if( animPr->dataRetFromReq ) //will be 0 or addr of label in end singleton { - SSRSemEnv *semEnv = VMS_int__give_sem_env_for( animPr ); + VOMPSemEnv *semEnv = VMS_int__give_sem_env_for( animPr ); asm_write_ret_from_singleton(&(semEnv->fnSingletons[ singletonID])); } } @@ -644,9 +629,9 @@ * location. */ void -SSR__start_data_singleton( SSRSingleton **singletonAddr, SlaveVP *animPr ) +VOMP__start_data_singleton( VOMPSingleton **singletonAddr, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; if( *singletonAddr && (*singletonAddr)->hasFinished ) goto JmpToEndSingleton; @@ -673,13 +658,13 @@ * inside is shared by all invocations of a given singleton ID. */ void -SSR__end_fn_singleton( int32 singletonID, SlaveVP *animPr ) +VOMP__end_fn_singleton( int32 singletonID, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; //don't need this addr until after at least one singleton has reached // this function - SSRSemEnv *semEnv = VMS_int__give_sem_env_for( animPr ); + VOMPSemEnv *semEnv = VMS_int__give_sem_env_for( animPr ); asm_write_ret_from_singleton(&(semEnv->fnSingletons[ singletonID])); reqData.reqType = singleton_fn_end; @@ -692,9 +677,9 @@ } void -SSR__end_data_singleton( SSRSingleton **singletonPtrAddr, SlaveVP *animPr ) +VOMP__end_data_singleton( VOMPSingleton **singletonPtrAddr, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; //don't need this addr until after singleton struct has reached // this function for first time @@ -724,10 +709,10 @@ * between as work-code. */ void -SSR__animate_short_fn_in_isolation( PtrToAtomicFn ptrToFnToExecInMaster, +VOMP__animate_short_fn_in_isolation( PtrToAtomicFn ptrToFnToExecInMaster, void *data, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; // reqData.reqType = atomic; @@ -752,9 +737,9 @@ *If NULL, then write requesting into the field and resume. */ void -SSR__start_transaction( int32 transactionID, SlaveVP *animPr ) +VOMP__start_transaction( int32 transactionID, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; // reqData.sendPr = animPr; @@ -774,9 +759,9 @@ * resumes both. */ void -SSR__end_transaction( int32 transactionID, SlaveVP *animPr ) +VOMP__end_transaction( int32 transactionID, SlaveVP *animPr ) { - SSRSemReq reqData; + VOMPSemReq reqData; // reqData.sendPr = animPr; diff -r b311282ec174 -r 21cf36019f0d VOMP.h --- a/VOMP.h Sun May 20 22:07:52 2012 -0700 +++ b/VOMP.h Thu May 24 08:57:24 2012 -0700 @@ -6,8 +6,8 @@ * */ -#ifndef _SSR_H -#define _SSR_H +#ifndef _VOMP_H +#define _VOMP_H #include "Queue_impl/PrivateQueue.h" #include "Hash_impl/PrivateHash.h" @@ -21,14 +21,14 @@ //This is hardware dependent -- it's the number of cycles of scheduling // overhead -- if a work unit is fewer than this, it is better being // combined sequentially with other work - //This value depends on both VMS overhead and SSR's plugin. At some point - // it will be derived by perf-counter measurements during init of SSR + //This value depends on both VMS overhead and VOMP's plugin. At some point + // it will be derived by perf-counter measurements during init of VOMP #define MIN_WORK_UNIT_CYCLES 20000 //=========================================================================== -/*This header defines everything specific to the SSR semantic plug-in +/*This header defines everything specific to the VOMP semantic plug-in */ -typedef struct _SSRSemReq SSRSemReq; +typedef struct _VOMPSemReq VOMPSemReq; typedef void (*PtrToAtomicFn ) ( void * ); //executed atomically in master //=========================================================================== @@ -41,7 +41,7 @@ SlaveVP *VPCurrentlyExecuting; PrivQueueStruc *waitingVPQ; } -SSRTrans; +VOMPTrans; /*WARNING: assembly hard-codes position of endInstrAddr as first field */ @@ -52,9 +52,9 @@ int32 hasFinished; PrivQueueStruc *waitQ; } -SSRSingleton; +VOMPSingleton; -enum SSRReqType +enum VOMPReqType { send_type = 1, send_from_to, @@ -74,13 +74,13 @@ trans_end }; -struct _SSRSemReq - { enum SSRReqType reqType; +struct _VOMPSemReq + { enum VOMPReqType reqType; SlaveVP *sendPr; SlaveVP *receivePr; int32 msgType; void *msg; - SSRSemReq *nextReqInHashEntry; + VOMPSemReq *nextReqInHashEntry; void *initData; TopLevelFnPtr fnPtr; @@ -90,14 +90,14 @@ void *ptrToFree; int32 singletonID; - SSRSingleton **singletonPtrAddr; + VOMPSingleton **singletonPtrAddr; PtrToAtomicFn fnToExecInMaster; void *dataForFn; int32 transID; } -/* SSRSemReq */; +/* VOMPSemReq */; typedef struct @@ -109,8 +109,8 @@ int32 primitiveStartTime; //fix limit on num with dynArray - SSRSingleton fnSingletons[NUM_STRUCS_IN_SEM_ENV]; - SSRTrans transactionStrucs[NUM_STRUCS_IN_SEM_ENV]; + VOMPSingleton fnSingletons[NUM_STRUCS_IN_SEM_ENV]; + VOMPTrans transactionStrucs[NUM_STRUCS_IN_SEM_ENV]; #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC ListOfArrays* unitList; @@ -129,7 +129,7 @@ SlaveVP* idlePr[NUM_CORES][NUM_ANIM_SLOTS]; int shutdownInitiated; } -SSRSemEnv; +VOMPSemEnv; typedef struct _TransListElem TransListElem; @@ -145,124 +145,124 @@ int32 highestTransEntered; TransListElem *lastTransEntered; } -SSRSemData; +VOMPSemData; //=========================================================================== void -SSR__create_seed_procr_and_do_work( TopLevelFnPtr fn, void *initData ); +VOMP__create_seed_procr_and_do_work( TopLevelFnPtr fn, void *initData ); int32 -SSR__giveMinWorkUnitCycles( float32 percentOverhead ); +VOMP__giveMinWorkUnitCycles( float32 percentOverhead ); void -SSR__start_primitive(); +VOMP__start_primitive(); int32 -SSR__end_primitive_and_give_cycles(); +VOMP__end_primitive_and_give_cycles(); int32 -SSR__giveIdealNumWorkUnits(); +VOMP__giveIdealNumWorkUnits(); int32 -SSR__give_number_of_cores_to_schedule_onto(); +VOMP__give_number_of_cores_to_schedule_onto(); //======================= void -SSR__init(); +VOMP__init(); void -SSR__cleanup_after_shutdown(); +VOMP__cleanup_after_shutdown(); //======================= SlaveVP * -SSR__create_procr_with( TopLevelFnPtr fnPtr, void *initData, +VOMP__create_procr_with( TopLevelFnPtr fnPtr, void *initData, SlaveVP *creatingSlv ); SlaveVP * -SSR__create_procr_with_affinity( TopLevelFnPtr fnPtr, void *initData, +VOMP__create_procr_with_affinity( TopLevelFnPtr fnPtr, void *initData, SlaveVP *creatingPr, int32 coreToAssignOnto); void -SSR__dissipate_procr( SlaveVP *procrToDissipate ); +VOMP__dissipate_procr( SlaveVP *procrToDissipate ); //======================= void * -SSR__malloc_to( int numBytes, SlaveVP *ownerSlv ); +VOMP__malloc_to( int numBytes, SlaveVP *ownerSlv ); void -SSR__free( void *ptrToFree, SlaveVP *owningSlv ); +VOMP__free( void *ptrToFree, SlaveVP *owningSlv ); void -SSR__transfer_ownership_of_from_to( void *data, SlaveVP *oldOwnerPr, +VOMP__transfer_ownership_of_from_to( void *data, SlaveVP *oldOwnerPr, SlaveVP *newOwnerSlv ); void -SSR__add_ownership_by_to( SlaveVP *newOwnerPr, void *data ); +VOMP__add_ownership_by_to( SlaveVP *newOwnerPr, void *data ); void -SSR__remove_ownership_by_from( SlaveVP *loserPr, void *dataLosing ); +VOMP__remove_ownership_by_from( SlaveVP *loserPr, void *dataLosing ); void -SSR__transfer_ownership_to_outside( void *dataToTransferOwnershipOf ); +VOMP__transfer_ownership_to_outside( void *dataToTransferOwnershipOf ); //======================= void -SSR__send_of_type_to( SlaveVP *sendPr, void *msg, const int type, +VOMP__send_of_type_to( SlaveVP *sendPr, void *msg, const int type, SlaveVP *receivePr); void -SSR__send_from_to( void *msg, SlaveVP *sendPr, SlaveVP *receivePr); +VOMP__send_from_to( void *msg, SlaveVP *sendPr, SlaveVP *receivePr); void * -SSR__receive_type_to( const int type, SlaveVP *receiveSlv ); +VOMP__receive_type_to( const int type, SlaveVP *receiveSlv ); void * -SSR__receive_from_to( SlaveVP *sendPr, SlaveVP *receiveSlv ); +VOMP__receive_from_to( SlaveVP *sendPr, SlaveVP *receiveSlv ); //======================= Concurrency Stuff ====================== void -SSR__start_fn_singleton( int32 singletonID, SlaveVP *animSlv ); +VOMP__start_fn_singleton( int32 singletonID, SlaveVP *animSlv ); void -SSR__end_fn_singleton( int32 singletonID, SlaveVP *animSlv ); +VOMP__end_fn_singleton( int32 singletonID, SlaveVP *animSlv ); void -SSR__start_data_singleton( SSRSingleton **singeltonAddr, SlaveVP *animSlv ); +VOMP__start_data_singleton( VOMPSingleton **singeltonAddr, SlaveVP *animSlv ); void -SSR__end_data_singleton( SSRSingleton **singletonAddr, SlaveVP *animSlv ); +VOMP__end_data_singleton( VOMPSingleton **singletonAddr, SlaveVP *animSlv ); void -SSR__animate_short_fn_in_isolation( PtrToAtomicFn ptrToFnToExecInMaster, +VOMP__animate_short_fn_in_isolation( PtrToAtomicFn ptrToFnToExecInMaster, void *data, SlaveVP *animSlv ); void -SSR__start_transaction( int32 transactionID, SlaveVP *animSlv ); +VOMP__start_transaction( int32 transactionID, SlaveVP *animSlv ); void -SSR__end_transaction( int32 transactionID, SlaveVP *animSlv ); +VOMP__end_transaction( int32 transactionID, SlaveVP *animSlv ); //========================= Internal use only ============================= void -SSR__Request_Handler( SlaveVP *requestingPr, void *_semEnv ); +VOMP__Request_Handler( SlaveVP *requestingPr, void *_semEnv ); SlaveVP * -SSR__assign_slaveVP_to_slot( void *_semEnv, AnimSlot *slot ); +VOMP__assign_slaveVP_to_slot( void *_semEnv, AnimSlot *slot ); SlaveVP* -SSR__create_procr_helper( TopLevelFnPtr fnPtr, void *initData, - SSRSemEnv *semEnv, int32 coreToAssignOnto ); +VOMP__create_procr_helper( TopLevelFnPtr fnPtr, void *initData, + VOMPSemEnv *semEnv, int32 coreToAssignOnto ); //===================== Measurement of Lang Overheads ===================== -#include "SSR_Measurement.h" +#include "VOMP_Measurement.h" //=========================================================================== -#endif /* _SSR_H */ +#endif /* _VOMP_H */ diff -r b311282ec174 -r 21cf36019f0d VOMP_PluginFns.c --- a/VOMP_PluginFns.c Sun May 20 22:07:52 2012 -0700 +++ b/VOMP_PluginFns.c Thu May 24 08:57:24 2012 -0700 @@ -8,41 +8,41 @@ #include #include "Queue_impl/PrivateQueue.h" -#include "SSR.h" -#include "SSR_Request_Handlers.h" +#include "VOMP.h" +#include "VOMP_Request_Handlers.h" //=========================== Local Fn Prototypes =========================== void -resume_slaveVP( SlaveVP *procr, SSRSemEnv *semEnv ); +resume_slaveVP( SlaveVP *procr, VOMPSemEnv *semEnv ); void -handleSemReq( VMSReqst *req, SlaveVP *requestingPr, SSRSemEnv *semEnv ); +handleSemReq( VMSReqst *req, SlaveVP *requestingPr, VOMPSemEnv *semEnv ); void -handleDissipate( SlaveVP *requestingPr, SSRSemEnv *semEnv ); +handleDissipate( SlaveVP *requestingPr, VOMPSemEnv *semEnv ); void -handleCreate( VMSReqst *req, SlaveVP *requestingPr, SSRSemEnv *semEnv ); +handleCreate( VMSReqst *req, SlaveVP *requestingPr, VOMPSemEnv *semEnv ); //============================== Assigner ================================== // -/*For SSR, assigning a slave simply takes the next work-unit off the +/*For VOMP, assigning a slave simply takes the next work-unit off the * ready-to-go work-unit queue and assigns it to the offered slot. *If the ready-to-go work-unit queue is empty, then nothing to assign * to the animation slot -- return FALSE to let Master loop know assigning * that slot failed. */ SlaveVP * -SSR__assign_slaveVP_to_slot( void *_semEnv, AnimSlot *slot ) +VOMP__assign_slaveVP_to_slot( void *_semEnv, AnimSlot *slot ) { SlaveVP *assignPr; - SSRSemEnv *semEnv; + VOMPSemEnv *semEnv; int32 coreNum, slotNum; coreNum = slot->coreSlotIsOn; slotNum = slot->slotIdx; - semEnv = (SSRSemEnv *)_semEnv; + semEnv = (VOMPSemEnv *)_semEnv; assignPr = readPrivQ( semEnv->readyVPQs[coreNum] ); //Note, using a non-blocking queue -- it returns NULL if queue empty @@ -104,11 +104,11 @@ * Processor, and initial data. */ void -SSR__Request_Handler( SlaveVP *requestingPr, void *_semEnv ) - { SSRSemEnv *semEnv; +VOMP__Request_Handler( SlaveVP *requestingPr, void *_semEnv ) + { VOMPSemEnv *semEnv; VMSReqst *req; - semEnv = (SSRSemEnv *)_semEnv; + semEnv = (VOMPSemEnv *)_semEnv; req = VMS_PI__take_next_request_out_of( requestingPr ); @@ -135,8 +135,8 @@ void -handleSemReq( VMSReqst *req, SlaveVP *reqPr, SSRSemEnv *semEnv ) - { SSRSemReq *semReq; +handleSemReq( VMSReqst *req, SlaveVP *reqPr, VOMPSemEnv *semEnv ) + { VOMPSemReq *semReq; semReq = VMS_PI__take_sem_reqst_from(req); if( semReq == NULL ) return; @@ -180,7 +180,7 @@ //=========================== VMS Request Handlers ============================== // void -handleDissipate( SlaveVP *requestingPr, SSRSemEnv *semEnv ) +handleDissipate( SlaveVP *requestingPr, VOMPSemEnv *semEnv ) { DEBUG__printf1(dbgRqstHdlr,"Dissipate request from processor %d",requestingPr->slaveID) //free any semantic data allocated to the virt procr @@ -200,17 +200,17 @@ /*Re-use this in the entry-point fn */ SlaveVP * -SSR__create_procr_helper( TopLevelFnPtr fnPtr, void *initData, - SSRSemEnv *semEnv, int32 coreToAssignOnto ) +VOMP__create_procr_helper( TopLevelFnPtr fnPtr, void *initData, + VOMPSemEnv *semEnv, int32 coreToAssignOnto ) { SlaveVP *newPr; - SSRSemData *semData; + VOMPSemData *semData; //This is running in master, so use internal version newPr = VMS_PI__create_slaveVP( fnPtr, initData ); semEnv->numSlaveVP += 1; - semData = VMS_PI__malloc( sizeof(SSRSemData) ); + semData = VMS_PI__malloc( sizeof(VOMPSemData) ); semData->highestTransEntered = -1; semData->lastTransEntered = NULL; @@ -241,14 +241,14 @@ } void -handleCreate( VMSReqst *req, SlaveVP *requestingPr, SSRSemEnv *semEnv ) - { SSRSemReq *semReq; +handleCreate( VMSReqst *req, SlaveVP *requestingPr, VOMPSemEnv *semEnv ) + { VOMPSemReq *semReq; SlaveVP *newPr; semReq = VMS_PI__take_sem_reqst_from( req ); - newPr = SSR__create_procr_helper( semReq->fnPtr, semReq->initData, semEnv, + newPr = VOMP__create_procr_helper( semReq->fnPtr, semReq->initData, semEnv, semReq->coreToAssignOnto ); DEBUG__printf2(dbgRqstHdlr,"Create from: %d, new VP: %d", requestingPr->slaveID, newPr->slaveID) @@ -263,7 +263,7 @@ addToListOfArrays(Dependency,newd,semEnv->commDependenciesList); #endif - //For SSR, caller needs ptr to created processor returned to it + //For VOMP, caller needs ptr to created processor returned to it requestingPr->dataRetFromReq = newPr; resume_slaveVP( newPr, semEnv ); @@ -273,7 +273,7 @@ //=========================== Helper ============================== void -resume_slaveVP( SlaveVP *procr, SSRSemEnv *semEnv ) +resume_slaveVP( SlaveVP *procr, VOMPSemEnv *semEnv ) { #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS /* diff -r b311282ec174 -r 21cf36019f0d VOMP_Request_Handlers.c --- a/VOMP_Request_Handlers.c Sun May 20 22:07:52 2012 -0700 +++ b/VOMP_Request_Handlers.c Thu May 24 08:57:24 2012 -0700 @@ -10,13 +10,13 @@ #include "VMS_impl/VMS.h" #include "Queue_impl/PrivateQueue.h" #include "Hash_impl/PrivateHash.h" -#include "SSR.h" +#include "VOMP.h" //=========================== Local Fn Prototypes =========================== void -resume_slaveVP( SlaveVP *procr, SSRSemEnv *semEnv ); +resume_slaveVP( SlaveVP *procr, VOMPSemEnv *semEnv ); @@ -25,11 +25,11 @@ /*Only clone the elements of req used in these reqst handlers */ - SSRSemReq * -cloneReq( SSRSemReq *semReq ) - { SSRSemReq *clonedReq; + VOMPSemReq * +cloneReq( VOMPSemReq *semReq ) + { VOMPSemReq *clonedReq; - clonedReq = VMS_PI__malloc( sizeof(SSRSemReq) ); + clonedReq = VMS_PI__malloc( sizeof(VOMPSemReq) ); clonedReq->reqType = semReq->reqType; clonedReq->sendPr = semReq->sendPr; clonedReq->msg = semReq->msg; @@ -39,10 +39,10 @@ } HashEntry * -giveEntryElseInsertReqst( char *key, SSRSemReq *semReq, +giveEntryElseInsertReqst( char *key, VOMPSemReq *semReq, HashTable *commHashTbl ) { HashEntry *entry; - SSRSemReq *waitingReq; + VOMPSemReq *waitingReq; entry = getEntryFromTable( (char *)key, commHashTbl ); if( entry == NULL ) @@ -51,7 +51,7 @@ addValueIntoTable( key, cloneReq( semReq ), commHashTbl ); return NULL; } - waitingReq = (SSRSemReq *)entry->content; + waitingReq = (VOMPSemReq *)entry->content; if( waitingReq == NULL ) //might happen when last waiting gets paired { //no waiting sends or receives, so add this request and exit entry->content = semReq; @@ -82,10 +82,10 @@ * receive processor, so they will stack up. */ void -handleSendType( SSRSemReq *semReq, SSRSemEnv *semEnv ) +handleSendType( VOMPSemReq *semReq, VOMPSemEnv *semEnv ) { SlaveVP *sendPr, *receivePr; int key[] = {0,0,0}; - SSRSemReq *waitingReq; + VOMPSemReq *waitingReq; HashEntry *entry; HashTable *commHashTbl = semEnv->commHashTbl; @@ -108,7 +108,7 @@ entry = giveEntryElseInsertReqst( (char *)key, semReq, commHashTbl); if( entry == NULL ) return; //was just inserted - waitingReq = (SSRSemReq *)entry->content; + waitingReq = (VOMPSemReq *)entry->content; //At this point, know have waiting request(s) -- either sends or recv //Note, can only have max of one receive waiting, and cannot have both @@ -117,7 +117,7 @@ if( waitingReq->reqType == send_type ) { //waiting request is another send, so stack this up on list // but first clone the sending request so it persists. - SSRSemReq *clonedReq = cloneReq( semReq ); + VOMPSemReq *clonedReq = cloneReq( semReq ); clonedReq-> nextReqInHashEntry = waitingReq->nextReqInHashEntry; waitingReq->nextReqInHashEntry = clonedReq; DEBUG__printf2( dbgRqstHdlr, "linked requests: %p, %p ", clonedReq,\ @@ -178,10 +178,10 @@ */ //TODO: combine both send handlers into single handler void -handleSendFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv) +handleSendFromTo( VOMPSemReq *semReq, VOMPSemEnv *semEnv) { SlaveVP *sendPr, *receivePr; int key[] = {0,0,0}; - SSRSemReq *waitingReq; + VOMPSemReq *waitingReq; HashEntry *entry; HashTable *commHashTbl = semEnv->commHashTbl; @@ -198,7 +198,7 @@ entry = giveEntryElseInsertReqst( (char *)key, semReq, commHashTbl); if( entry == NULL ) return; //was just inserted - waitingReq = (SSRSemReq *)entry->content; + waitingReq = (VOMPSemReq *)entry->content; //At this point, know have waiting request(s) -- either sends or recv if( waitingReq->reqType == send_from_to ) @@ -269,17 +269,17 @@ * less costly. */ void -handleReceiveAny( SSRSemReq *semReq, SSRSemEnv *semEnv) +handleReceiveAny( VOMPSemReq *semReq, VOMPSemEnv *semEnv) { } void -handleReceiveType( SSRSemReq *semReq, SSRSemEnv *semEnv) +handleReceiveType( VOMPSemReq *semReq, VOMPSemEnv *semEnv) { SlaveVP *sendPr, *receivePr; int key[] = {0,0,0}; - SSRSemReq *waitingReq; + VOMPSemReq *waitingReq; HashEntry *entry; HashTable *commHashTbl = semEnv->commHashTbl; @@ -295,7 +295,7 @@ entry = giveEntryElseInsertReqst((char*)key, semReq, commHashTbl);//clones if( entry == NULL ) return; //was just inserted - waitingReq = (SSRSemReq *)entry->content; //previously cloned by insert + waitingReq = (VOMPSemReq *)entry->content; //previously cloned by insert //At this point, know have waiting request(s) -- should be send(s) if( waitingReq->reqType == send_type ) @@ -351,10 +351,10 @@ /* */ void -handleReceiveFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv) +handleReceiveFromTo( VOMPSemReq *semReq, VOMPSemEnv *semEnv) { SlaveVP *sendPr, *receivePr; int key[] = {0,0,0}; - SSRSemReq *waitingReq; + VOMPSemReq *waitingReq; HashEntry *entry; HashTable *commHashTbl = semEnv->commHashTbl; @@ -370,7 +370,7 @@ entry = giveEntryElseInsertReqst( (char *)key, semReq, commHashTbl); if( entry == NULL ) return; //was just inserted - waitingReq = (SSRSemReq *)entry->content; + waitingReq = (VOMPSemReq *)entry->content; //At this point, know have waiting request(s) -- should be send(s) if( waitingReq->reqType == send_from_to ) @@ -409,13 +409,13 @@ //=============================================== void -handleTransferTo( SSRSemReq *semReq, SSRSemEnv *semEnv) +handleTransferTo( VOMPSemReq *semReq, VOMPSemEnv *semEnv) { } void -handleTransferOut( SSRSemReq *semReq, SSRSemEnv *semEnv) +handleTransferOut( VOMPSemReq *semReq, VOMPSemEnv *semEnv) { } @@ -424,7 +424,7 @@ /* */ void -handleMalloc( SSRSemReq *semReq, SlaveVP *requestingPr, SSRSemEnv *semEnv ) +handleMalloc( VOMPSemReq *semReq, SlaveVP *requestingPr, VOMPSemEnv *semEnv ) { void *ptr; DEBUG__printf1(dbgRqstHdlr,"Malloc request from processor %d",requestingPr->slaveID) @@ -437,7 +437,7 @@ /* */ void -handleFree( SSRSemReq *semReq, SlaveVP *requestingPr, SSRSemEnv *semEnv ) +handleFree( VOMPSemReq *semReq, SlaveVP *requestingPr, VOMPSemEnv *semEnv ) { DEBUG__printf1(dbgRqstHdlr,"Free request from processor %d",requestingPr->slaveID) VMS_PI__free( semReq->ptrToFree ); @@ -451,8 +451,8 @@ * end-label. Else, sets flag and resumes normally. */ void inline -handleStartSingleton_helper( SSRSingleton *singleton, SlaveVP *reqstingPr, - SSRSemEnv *semEnv ) +handleStartSingleton_helper( VOMPSingleton *singleton, SlaveVP *reqstingPr, + VOMPSemEnv *semEnv ) { if( singleton->hasFinished ) { //the code that sets the flag to true first sets the end instr addr @@ -474,22 +474,22 @@ } } void inline -handleStartFnSingleton( SSRSemReq *semReq, SlaveVP *requestingPr, - SSRSemEnv *semEnv ) - { SSRSingleton *singleton; +handleStartFnSingleton( VOMPSemReq *semReq, SlaveVP *requestingPr, + VOMPSemEnv *semEnv ) + { VOMPSingleton *singleton; DEBUG__printf1(dbgRqstHdlr,"StartFnSingleton request from processor %d",requestingPr->slaveID) singleton = &(semEnv->fnSingletons[ semReq->singletonID ]); handleStartSingleton_helper( singleton, requestingPr, semEnv ); } void inline -handleStartDataSingleton( SSRSemReq *semReq, SlaveVP *requestingPr, - SSRSemEnv *semEnv ) - { SSRSingleton *singleton; +handleStartDataSingleton( VOMPSemReq *semReq, SlaveVP *requestingPr, + VOMPSemEnv *semEnv ) + { VOMPSingleton *singleton; DEBUG__printf1(dbgRqstHdlr,"StartDataSingleton request from processor %d",requestingPr->slaveID) if( *(semReq->singletonPtrAddr) == NULL ) - { singleton = VMS_PI__malloc( sizeof(SSRSingleton) ); + { singleton = VMS_PI__malloc( sizeof(VOMPSingleton) ); singleton->waitQ = makeVMSQ(); singleton->endInstrAddr = 0x0; singleton->hasBeenStarted = FALSE; @@ -503,8 +503,8 @@ void inline -handleEndSingleton_helper( SSRSingleton *singleton, SlaveVP *requestingPr, - SSRSemEnv *semEnv ) +handleEndSingleton_helper( VOMPSingleton *singleton, SlaveVP *requestingPr, + VOMPSemEnv *semEnv ) { PrivQueueStruc *waitQ; int32 numWaiting, i; SlaveVP *resumingPr; @@ -529,10 +529,10 @@ } void inline -handleEndFnSingleton( SSRSemReq *semReq, SlaveVP *requestingPr, - SSRSemEnv *semEnv ) +handleEndFnSingleton( VOMPSemReq *semReq, SlaveVP *requestingPr, + VOMPSemEnv *semEnv ) { - SSRSingleton *singleton; + VOMPSingleton *singleton; DEBUG__printf1(dbgRqstHdlr,"EndFnSingleton request from processor %d",requestingPr->slaveID) @@ -540,10 +540,10 @@ handleEndSingleton_helper( singleton, requestingPr, semEnv ); } void inline -handleEndDataSingleton( SSRSemReq *semReq, SlaveVP *requestingPr, - SSRSemEnv *semEnv ) +handleEndDataSingleton( VOMPSemReq *semReq, SlaveVP *requestingPr, + VOMPSemEnv *semEnv ) { - SSRSingleton *singleton; + VOMPSingleton *singleton; DEBUG__printf1(dbgRqstHdlr,"EndDataSingleton request from processor %d",requestingPr->slaveID) @@ -556,7 +556,7 @@ * pointer out of the request and call it, then resume the VP. */ void -handleAtomic( SSRSemReq *semReq, SlaveVP *requestingPr, SSRSemEnv *semEnv ) +handleAtomic( VOMPSemReq *semReq, SlaveVP *requestingPr, VOMPSemEnv *semEnv ) { DEBUG__printf1(dbgRqstHdlr,"Atomic request from processor %d",requestingPr->slaveID) semReq->fnToExecInMaster( semReq->dataForFn ); @@ -578,9 +578,9 @@ *If NULL, then write requesting into the field and resume. */ void -handleTransStart( SSRSemReq *semReq, SlaveVP *requestingPr, - SSRSemEnv *semEnv ) - { SSRSemData *semData; +handleTransStart( VOMPSemReq *semReq, SlaveVP *requestingPr, + VOMPSemEnv *semEnv ) + { VOMPSemData *semData; TransListElem *nextTransElem; DEBUG__printf1(dbgRqstHdlr,"TransStart request from processor %d",requestingPr->slaveID) @@ -600,7 +600,7 @@ semData->lastTransEntered = nextTransElem; //get the structure for this transaction ID - SSRTrans * + VOMPTrans * transStruc = &(semEnv->transactionStrucs[ semReq->transID ]); if( transStruc->VPCurrentlyExecuting == NULL ) @@ -631,10 +631,10 @@ * resume both. */ void -handleTransEnd(SSRSemReq *semReq, SlaveVP *requestingPr, SSRSemEnv *semEnv) - { SSRSemData *semData; +handleTransEnd(VOMPSemReq *semReq, SlaveVP *requestingPr, VOMPSemEnv *semEnv) + { VOMPSemData *semData; SlaveVP *waitingPr; - SSRTrans *transStruc; + VOMPTrans *transStruc; TransListElem *lastTrans; DEBUG__printf1(dbgRqstHdlr,"TransEnd request from processor %d",requestingPr->slaveID) diff -r b311282ec174 -r 21cf36019f0d VOMP_Request_Handlers.h --- a/VOMP_Request_Handlers.h Sun May 20 22:07:52 2012 -0700 +++ b/VOMP_Request_Handlers.h Thu May 24 08:57:24 2012 -0700 @@ -6,51 +6,51 @@ * */ -#ifndef _SSR_REQ_H -#define _SSR_REQ_H +#ifndef _VOMP_REQ_H +#define _VOMP_REQ_H -#include "SSR.h" +#include "VOMP.h" -/*This header defines everything specific to the SSR semantic plug-in +/*This header defines everything specific to the VOMP semantic plug-in */ inline void -handleSendType( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleSendType( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleSendFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleSendFromTo( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleReceiveAny( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleReceiveAny( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleReceiveType( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleReceiveType( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleReceiveFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleReceiveFromTo( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleTransferTo( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleTransferTo( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleTransferOut( SSRSemReq *semReq, SSRSemEnv *semEnv); +handleTransferOut( VOMPSemReq *semReq, VOMPSemEnv *semEnv); inline void -handleMalloc( SSRSemReq *semReq, SlaveVP *requestingSlv, SSRSemEnv *semEnv); +handleMalloc( VOMPSemReq *semReq, SlaveVP *requestingSlv, VOMPSemEnv *semEnv); inline void -handleFree( SSRSemReq *semReq, SlaveVP *requestingSlv, SSRSemEnv *semEnv ); +handleFree( VOMPSemReq *semReq, SlaveVP *requestingSlv, VOMPSemEnv *semEnv ); inline void -handleTransEnd(SSRSemReq *semReq, SlaveVP *requestingSlv, SSRSemEnv*semEnv); +handleTransEnd(VOMPSemReq *semReq, SlaveVP *requestingSlv, VOMPSemEnv*semEnv); inline void -handleTransStart( SSRSemReq *semReq, SlaveVP *requestingSlv, - SSRSemEnv *semEnv ); +handleTransStart( VOMPSemReq *semReq, SlaveVP *requestingSlv, + VOMPSemEnv *semEnv ); inline void -handleAtomic( SSRSemReq *semReq, SlaveVP *requestingSlv, SSRSemEnv *semEnv); +handleAtomic( VOMPSemReq *semReq, SlaveVP *requestingSlv, VOMPSemEnv *semEnv); inline void -handleStartFnSingleton( SSRSemReq *semReq, SlaveVP *reqstingSlv, - SSRSemEnv *semEnv ); +handleStartFnSingleton( VOMPSemReq *semReq, SlaveVP *reqstingSlv, + VOMPSemEnv *semEnv ); inline void -handleEndFnSingleton( SSRSemReq *semReq, SlaveVP *requestingSlv, - SSRSemEnv *semEnv ); +handleEndFnSingleton( VOMPSemReq *semReq, SlaveVP *requestingSlv, + VOMPSemEnv *semEnv ); inline void -handleStartDataSingleton( SSRSemReq *semReq, SlaveVP *reqstingSlv, - SSRSemEnv *semEnv ); +handleStartDataSingleton( VOMPSemReq *semReq, SlaveVP *reqstingSlv, + VOMPSemEnv *semEnv ); inline void -handleEndDataSingleton( SSRSemReq *semReq, SlaveVP *requestingSlv, - SSRSemEnv *semEnv ); +handleEndDataSingleton( VOMPSemReq *semReq, SlaveVP *requestingSlv, + VOMPSemEnv *semEnv ); -#endif /* _SSR_REQ_H */ +#endif /* _VOMP_REQ_H */