Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
comparison VMS.h @ 226:ea70fa57776e
fixed last bug that shows up in sequential mode -- still a race of some kind
| author | Some Random Person <seanhalle@yahoo.com> |
|---|---|
| date | Thu, 15 Mar 2012 05:29:07 -0700 |
| parents | 309559064073 |
| children | 5c475c4b7b49 |
comparison
equal
deleted
inserted
replaced
| 107:dafdc20d24b6 | 108:99b9dc6f074e |
|---|---|
| 138 /*WARNING: re-arranging this data structure could cause Slv-switching | 138 /*WARNING: re-arranging this data structure could cause Slv-switching |
| 139 * assembly code to fail -- hard-codes offsets of fields | 139 * assembly code to fail -- hard-codes offsets of fields |
| 140 * (because -O3 messes with things otherwise) | 140 * (because -O3 messes with things otherwise) |
| 141 */ | 141 */ |
| 142 typedef struct | 142 typedef struct |
| 143 { | 143 { //The offset of these fields is hard-coded into assembly |
| 144 void *coreCtlrReturnPt; //offset of field used in asm | |
| 145 int32 masterLock __align_to_cacheline__; //used in asm | |
| 146 | |
| 147 //below this, no asm uses the field offsets | |
| 144 SlaveAssigner slaveAssigner; | 148 SlaveAssigner slaveAssigner; |
| 145 RequestHandler requestHandler; | 149 RequestHandler requestHandler; |
| 146 | 150 |
| 147 SchedSlot ***allSchedSlots; | 151 SchedSlot ***allSchedSlots; |
| 148 SlaveVP **masterVPs; | 152 SlaveVP **masterVPs; |
| 150 void *semanticEnv; | 154 void *semanticEnv; |
| 151 void *OSEventStruc; //for future, when add I/O to BLIS | 155 void *OSEventStruc; //for future, when add I/O to BLIS |
| 152 MallocArrays *freeLists; | 156 MallocArrays *freeLists; |
| 153 int32 amtOfOutstandingMem; //total currently allocated | 157 int32 amtOfOutstandingMem; //total currently allocated |
| 154 | 158 |
| 155 void *coreCtlrReturnPt;//addr to jump to to re-enter coreCtlr | |
| 156 | |
| 157 int32 setupComplete; | 159 int32 setupComplete; |
| 158 int32 masterLock __align_to_cacheline__; | |
| 159 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal | 160 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal |
| 160 int32 workStealingLock; | 161 int32 workStealingLock; |
| 161 | 162 |
| 162 int32 numSlavesCreated; //gives ordering to processor creation | 163 int32 numSlavesCreated; //gives ordering to processor creation |
| 163 int32 numSlavesAlive; //used to detect when to shutdown | 164 int32 numSlavesAlive; //used to detect when to shutdown |
