Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
diff ProcrContext.h @ 134:a9b72021f053
Distributed memory management w/o free requests working
| author | Merten Sach <msach@mailbox.tu-berlin.de> |
|---|---|
| date | Fri, 16 Sep 2011 16:19:24 +0200 |
| parents | dbfc8382d546 |
| children | 99343ffe1918 |
line diff
1.1 --- a/ProcrContext.h Fri Sep 16 14:26:18 2011 +0200 1.2 +++ b/ProcrContext.h Fri Sep 16 16:19:24 2011 +0200 1.3 @@ -9,10 +9,13 @@ 1.4 #define _ProcrContext_H 1.5 #define _GNU_SOURCE 1.6 1.7 -#include "VMS.h" 1.8 +typedef struct _VirtProcr VirtProcr; 1.9 +typedef struct _VMSReqst VMSReqst; 1.10 +typedef void (*VirtProcrFnPtr) ( void *, VirtProcr * ); //initData, animPr 1.11 1.12 -typedef struct _SchedSlot SchedSlot; 1.13 -typedef struct _VirtProcr VirtProcr; 1.14 + 1.15 +#include "VMS_primitive_data_types.h" 1.16 +#include "scheduling.h" 1.17 1.18 /*WARNING: re-arranging this data structure could cause VP switching 1.19 * assembly code to fail -- hard-codes offsets of fields 1.20 @@ -52,13 +55,6 @@ 1.21 }; 1.22 //VirtProcr 1.23 1.24 -struct _SchedSlot 1.25 - { 1.26 - int workIsDone; 1.27 - int needsProcrAssigned; 1.28 - VirtProcr *procrAssignedToSlot; 1.29 - }; 1.30 - 1.31 void saveCoreLoopReturnAddr(void **returnAddress); 1.32 1.33 void switchToVP(VirtProcr *nextProcr); 1.34 @@ -72,7 +68,7 @@ 1.35 void *asmTerminateCoreLoop(VirtProcr *currPr); 1.36 1.37 #define flushRegisters() \ 1.38 - asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15") 1.39 + asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15"); 1.40 1.41 inline VirtProcr * 1.42 create_procr_helper( VirtProcr *newPr, VirtProcrFnPtr fnPtr,
