Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
comparison VMS.h @ 243:227cd4d33d94
fixed pointing slave to a TLF, added ones that don't trash stack fixed names
| author | Sean <seanhalle@yahoo.com> |
|---|---|
| date | Thu, 17 May 2012 20:39:44 +0200 |
| parents | 7ed97c961901 |
| children | f1267bc7b342 |
comparison
equal
deleted
inserted
replaced
| 118:e6ece53bc94c | 119:45e63f8c98a3 |
|---|---|
| 8 | 8 |
| 9 #ifndef _VMS_H | 9 #ifndef _VMS_H |
| 10 #define _VMS_H | 10 #define _VMS_H |
| 11 #define _GNU_SOURCE | 11 #define _GNU_SOURCE |
| 12 | 12 |
| 13 #include "VMS_primitive_data_types.h" | |
| 14 #include "DynArray/DynArray.h" | 13 #include "DynArray/DynArray.h" |
| 15 #include "Hash_impl/PrivateHash.h" | 14 #include "Hash_impl/PrivateHash.h" |
| 16 #include "Histogram/Histogram.h" | 15 #include "Histogram/Histogram.h" |
| 17 #include "Queue_impl/PrivateQueue.h" | 16 #include "Queue_impl/PrivateQueue.h" |
| 17 | |
| 18 #include "VMS_primitive_data_types.h" | |
| 18 #include "Services_Offered_by_VMS/Memory_Handling/vmalloc.h" | 19 #include "Services_Offered_by_VMS/Memory_Handling/vmalloc.h" |
| 19 | 20 |
| 20 #include <pthread.h> | 21 #include <pthread.h> |
| 21 #include <sys/time.h> | 22 #include <sys/time.h> |
| 22 | 23 |
| 47 MEAS__Insert_Counter_Handler | 48 MEAS__Insert_Counter_Handler |
| 48 //======================================== | 49 //======================================== |
| 49 | 50 |
| 50 //============================ HW Dependent Fns ================================ | 51 //============================ HW Dependent Fns ================================ |
| 51 | 52 |
| 52 #include "Hardware_Dependent/VMS__HW_measurement.h" | 53 #include "HW_Dependent_Primitives/VMS__HW_measurement.h" |
| 53 #include "Hardware_Dependent/VMS__primitives.h" | 54 #include "HW_Dependent_Primitives/VMS__primitives.h" |
| 54 | 55 |
| 55 | 56 |
| 56 //============= Request Related =========== | 57 //============= Request Related =========== |
| 57 // | 58 // |
| 58 | 59 |
| 154 | 155 |
| 155 /* The one and only global variable, holds many odds and ends | 156 /* The one and only global variable, holds many odds and ends |
| 156 */ | 157 */ |
| 157 typedef struct | 158 typedef struct |
| 158 { //The offsets of these fields are hard-coded into assembly | 159 { //The offsets of these fields are hard-coded into assembly |
| 159 void *coreCtlrReturnPt; //offset of field used in asm | 160 void *coreCtlrReturnPt; //offset to this field used in asm |
| 160 int8 falseSharePad1[256 - sizeof(void*)]; | 161 int8 falseSharePad1[256 - sizeof(void*)]; |
| 161 int32 masterLock; //offset of field used in asm | 162 int32 masterLock; //offset to this field used in asm |
| 162 int8 falseSharePad2[256 - sizeof(int32)]; | 163 int8 falseSharePad2[256 - sizeof(int32)]; |
| 163 //============ below this, no fields are used in asm ============= | 164 //============ below this, no fields are used in asm ============= |
| 164 | 165 |
| 165 //Basic VMS infrastructure | 166 //Basic VMS infrastructure |
| 166 SlaveVP **masterVPs; | 167 SlaveVP **masterVPs; |
| 287 inline SlaveVP * | 288 inline SlaveVP * |
| 288 VMS_int__create_slaveVP_helper( SlaveVP *newSlv, TopLevelFnPtr fnPtr, | 289 VMS_int__create_slaveVP_helper( SlaveVP *newSlv, TopLevelFnPtr fnPtr, |
| 289 void *dataParam, void *stackLocs ); | 290 void *dataParam, void *stackLocs ); |
| 290 | 291 |
| 291 inline void | 292 inline void |
| 292 VMS_int__point_slaveVP_to_Fn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, | 293 VMS_int__reset_slaveVP_to_TopLvlFn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, |
| 293 void *dataParam); | 294 void *dataParam); |
| 295 | |
| 296 inline void | |
| 297 VMS_int__point_slaveVP_to_OneParamFn( SlaveVP *slaveVP, void *fnPtr, | |
| 298 void *param); | |
| 299 | |
| 300 inline void | |
| 301 VMS_int__point_slaveVP_to_TwoParamFn( SlaveVP *slaveVP, void *fnPtr, | |
| 302 void *param1, void *param2); | |
| 294 | 303 |
| 295 void | 304 void |
| 296 VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate ); | 305 VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate ); |
| 297 #define VMS_PI__dissipate_slaveVP VMS_int__dissipate_slaveVP | 306 #define VMS_PI__dissipate_slaveVP VMS_int__dissipate_slaveVP |
| 298 //WL: dissipate a SlaveVP by sending a request | 307 //WL: dissipate a SlaveVP by sending a request |
