# HG changeset patch # User Merten Sach # Date 1309801425 -7200 # Node ID 778e36c0aa6151068837a70acb16c16fe06b480f # Parent ce4ad44fcc23c341191f2321adebfca1650bfc06 Version before optimization diff -r ce4ad44fcc23 -r 778e36c0aa61 VPThread_PluginFns.c --- a/VPThread_PluginFns.c Thu Jun 16 14:39:38 2011 +0200 +++ b/VPThread_PluginFns.c Mon Jul 04 19:43:45 2011 +0200 @@ -79,7 +79,7 @@ case dissipate: handleDissipate( requestingPr, semEnv); break; case VMSSemantic: VMS__handle_VMSSemReq(req, requestingPr, semEnv, - &resume_procr); + (ResumePrFnPtr)&resume_procr); break; default: break; @@ -153,11 +153,13 @@ handleCreate( VMSReqst *req, VirtProcr *requestingPr, VPThdSemEnv *semEnv ) { VPThdSemReq *semReq; VirtProcr *newPr; - - Meas_startCreate - + + //========================= MEASUREMENT STUFF ====================== + Meas_startCreate + //================================================================== + semReq = VMS__take_sem_reqst_from( req ); - + newPr = VPThread__create_procr_helper( semReq->fnPtr, semReq->initData, semEnv, semReq->coreToScheduleOnto); @@ -167,15 +169,15 @@ resume_procr( newPr, semEnv ); resume_procr( requestingPr, semEnv ); - //========================= MEASUREMENT STUFF ====================== + //========================= MEASUREMENT STUFF ====================== Meas_endCreate - #ifdef MEAS__TIME_PLUGIN - #ifdef MEAS__SUB_CREATE + #ifdef MEAS__TIME_PLUGIN + #ifdef MEAS__SUB_CREATE subIntervalFromHist( startStamp, endStamp, _VMSMasterEnv->reqHdlrHighTimeHist ); - #endif - #endif - //================================================================== + #endif + #endif + //================================================================== } diff -r ce4ad44fcc23 -r 778e36c0aa61 VPThread_Request_Handlers.c --- a/VPThread_Request_Handlers.c Thu Jun 16 14:39:38 2011 +0200 +++ b/VPThread_Request_Handlers.c Mon Jul 04 19:43:45 2011 +0200 @@ -25,7 +25,7 @@ VirtProcr *requestingPr; requestingPr = semReq->requestingPr; - newMutex = VMS__malloc( sizeof(VPThdMutex) ); + newMutex = VMS__malloc( sizeof(VPThdMutex) ); newMutex->waitingQueue = makeVMSPrivQ( requestingPr ); newMutex->holderOfLock = NULL; @@ -44,7 +44,6 @@ inline void handleMutexLock( VPThdSemReq *semReq, VPThdSemEnv *semEnv) { VPThdMutex *mutex; - //=================== Deterministic Replay ====================== #ifdef RECORD_DETERMINISTIC_REPLAY @@ -58,7 +57,7 @@ if( mutex->holderOfLock == NULL ) //none holding, give lock to requester { mutex->holderOfLock = semReq->requestingPr; - + //re-animate requester, now that it has the lock resume_procr( semReq->requestingPr, semEnv ); }