# HG changeset patch # User Me # Date 1289580200 28800 # Node ID 562e68094af7f81e8d2f22a73b4d62da8e4407d7 # Parent b549ad140f18665e9183569a801f5c6aa5d19b38 removed all inline, to see if -O3 works -- now -O0 broken too! will go back diff -r b549ad140f18 -r 562e68094af7 SSR.h --- a/SSR.h Thu Nov 11 04:59:48 2010 -0800 +++ b/SSR.h Fri Nov 12 08:43:20 2010 -0800 @@ -115,10 +115,10 @@ int32 SSR__giveMinWorkUnitCycles( float32 percentOverhead ); -void inline +void SSR__start_primitive(); -int32 inline +int32 SSR__end_primitive_and_give_cycles(); int32 @@ -137,11 +137,11 @@ //======================= -inline VirtProcr * + VirtProcr * SSR__create_procr_with( VirtProcrFnPtr fnPtr, void *initData, VirtProcr *creatingPr ); -inline VirtProcr * + VirtProcr * SSR__create_procr_with_affinity( VirtProcrFnPtr fnPtr, void *initData, VirtProcr *creatingPr, int32 coreToScheduleOnto); diff -r b549ad140f18 -r 562e68094af7 SSR_PluginFns.c --- a/SSR_PluginFns.c Thu Nov 11 04:59:48 2010 -0800 +++ b/SSR_PluginFns.c Fri Nov 12 08:43:20 2010 -0800 @@ -12,10 +12,10 @@ #include "SSR_Request_Handlers.h" //=========================== Local Fn Prototypes =========================== -void inline +void resume_procr( VirtProcr *procr, SSRSemEnv *semEnv ); -void inline +void handleSemReq( VMSReqst *req, VirtProcr *requestingPr, SSRSemEnv *semEnv ); void @@ -90,7 +90,7 @@ } -void inline +void handleSemReq( VMSReqst *req, VirtProcr *reqPr, SSRSemEnv *semEnv ) { SSRSemReq *semReq; @@ -147,11 +147,11 @@ /*Re-use this in the entry-point fn */ -inline VirtProcr * + VirtProcr * SSR__create_procr_helper( VirtProcrFnPtr fnPtr, void *initData, SSRSemEnv *semEnv, int32 coreToScheduleOnto ) { VirtProcr *newPr; - SSRSemData semData; + SSRSemData *semData; //This is running in master, so use internal version newPr = VMS__create_procr( fnPtr, initData ); @@ -205,7 +205,7 @@ //=========================== Helper ============================== -void inline +void resume_procr( VirtProcr *procr, SSRSemEnv *semEnv ) { writePrivQ( procr, semEnv->readyVPQs[ procr->coreAnimatedBy] ); diff -r b549ad140f18 -r 562e68094af7 SSR_Request_Handlers.c --- a/SSR_Request_Handlers.c Thu Nov 11 04:59:48 2010 -0800 +++ b/SSR_Request_Handlers.c Fri Nov 12 08:43:20 2010 -0800 @@ -15,7 +15,7 @@ //=========================== Local Fn Prototypes =========================== -void inline +void resume_procr( VirtProcr *procr, SSRSemEnv *semEnv ); @@ -25,7 +25,7 @@ /*Only clone the elements of req used in these reqst handlers */ -inline SSRSemReq * + SSRSemReq * cloneReq( SSRSemReq *semReq ) { SSRSemReq *clonedReq; @@ -81,7 +81,7 @@ * separate processors can send to the same receiver, and hashing on the * receive processor, so they will stack up. */ -void inline +void handleSendType( SSRSemReq *semReq, SSRSemEnv *semEnv ) { VirtProcr *sendPr, *receivePr; int key[] = {0,0,0}; @@ -150,7 +150,7 @@ /*Looks like can make single handler for both sends.. */ //TODO: combine both send handlers into single handler -void inline +void handleSendFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv) { VirtProcr *sendPr, *receivePr; int key[] = {0,0,0}; @@ -229,14 +229,14 @@ * If ever add receive_any, looking like this second option easier and even * less costly. */ -void inline +void handleReceiveAny( SSRSemReq *semReq, SSRSemEnv *semEnv) { } -void inline +void handleReceiveType( SSRSemReq *semReq, SSRSemEnv *semEnv) { VirtProcr *sendPr, *receivePr; int key[] = {0,0,0}; @@ -284,7 +284,7 @@ /* */ -void inline +void handleReceiveFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv) { VirtProcr *sendPr, *receivePr; int key[] = {0,0,0}; @@ -332,13 +332,13 @@ //=============================================== -void inline +void handleTransferTo( SSRSemReq *semReq, SSRSemEnv *semEnv) { } -void inline +void handleTransferOut( SSRSemReq *semReq, SSRSemEnv *semEnv) { @@ -347,7 +347,7 @@ /* */ -void inline +void handleMalloc( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ) { void *ptr; @@ -358,7 +358,7 @@ /* */ -void inline +void handleFree( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ) { VMS__free( semReq->ptrToFree ); @@ -371,7 +371,7 @@ /*Uses ID as index into array of flags. If flag already set, resumes from * end-label. Else, sets flag and resumes normally. */ -void inline +void handleSingleton( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ) { @@ -387,7 +387,7 @@ /*This executes the function in the masterVP, take the function * pointer out of the request and call it, then resume the VP. */ -void inline +void handleAtomic( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ) { semReq->fnToExecInMaster( semReq->dataForFn ); @@ -408,7 +408,7 @@ * end-transaction, which will take this VP from the queue and resume it.) *If NULL, then write requesting into the field and resume. */ -void inline +void handleTransStart( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ) { SSRSemData *semData; @@ -459,7 +459,7 @@ *If get somethine, set VP_currently_executing to the VP from the queue, then * resume both. */ -void inline +void handleTransEnd(SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv) { SSRSemData *semData; VirtProcr *waitingPr; diff -r b549ad140f18 -r 562e68094af7 SSR_Request_Handlers.h --- a/SSR_Request_Handlers.h Thu Nov 11 04:59:48 2010 -0800 +++ b/SSR_Request_Handlers.h Fri Nov 12 08:43:20 2010 -0800 @@ -14,32 +14,32 @@ /*This header defines everything specific to the SSR semantic plug-in */ -void inline +void handleSendType( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleSendFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleReceiveAny( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleReceiveType( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleReceiveFromTo( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleTransferTo( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleTransferOut( SSRSemReq *semReq, SSRSemEnv *semEnv); -void inline +void handleMalloc( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv); -void inline +void handleFree( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ); -void inline +void handleTransEnd(SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv*semEnv); -void inline +void handleTransStart( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ); -void inline +void handleAtomic( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv); -void inline +void handleSingleton( SSRSemReq *semReq, VirtProcr *requestingPr, SSRSemEnv *semEnv ); diff -r b549ad140f18 -r 562e68094af7 SSR_lib.c --- a/SSR_lib.c Thu Nov 11 04:59:48 2010 -0800 +++ b/SSR_lib.c Fri Nov 12 08:43:20 2010 -0800 @@ -118,7 +118,7 @@ } -int32 inline +int32 SSR__giveMinWorkUnitCycles( float32 percentOverhead ) { return MIN_WORK_UNIT_CYCLES; @@ -139,7 +139,7 @@ /*For now, use TSC -- later, make these two macros with assembly that first * saves jump point, and second jumps back several times to get reliable time */ -void inline +void SSR__start_primitive() { saveLowTimeStampCountInto( ((SSRSemEnv *)(_VMSMasterEnv->semanticEnv))-> primitiveStartTime ); @@ -150,7 +150,7 @@ * because don't want comm time included in calc-time measurement -- and * also to throw out any "weird" values due to OS interrupt or TSC rollover */ -int32 inline +int32 SSR__end_primitive_and_give_cycles() { int32 endTime, startTime; //TODO: fix by repeating time-measurement @@ -263,7 +263,7 @@ /* */ -inline VirtProcr * + VirtProcr * SSR__create_procr_with( VirtProcrFnPtr fnPtr, void *initData, VirtProcr *creatingPr ) { SSRSemReq reqData; @@ -282,7 +282,7 @@ return creatingPr->dataRetFromReq; } -inline VirtProcr * + VirtProcr * SSR__create_procr_with_affinity( VirtProcrFnPtr fnPtr, void *initData, VirtProcr *creatingPr, int32 coreToScheduleOnto ) { SSRSemReq reqData; @@ -300,7 +300,7 @@ } -inline void + void SSR__dissipate_procr( VirtProcr *procrToDissipate ) { VMS__send_dissipate_req( procrToDissipate );