changeset 219:8059fb8d5465 Common_Ancestor

changed name VMS_primitives.s to VMS_primitives_asm.s and fiddled with includes
author Some Random Person <seanhalle@yahoo.com>
date Mon, 12 Mar 2012 05:38:07 -0700
parents 82f7defac851
children c88ce1db91ef
files CoreLoop.c Defines/VMS_defs__DEBUG.h Defines/VMS_defs__MEAS.h Defines/VMS_defs__main.h Hardware_Dependent/VMS__primitives.c Hardware_Dependent/VMS__primitives.h Hardware_Dependent/VMS__primitives.s Hardware_Dependent/VMS__primitives_asm.s Probes/probes.c Probes/probes.h VMS.h VMS__int.c VMS_primitive_data_types.h
diffstat 13 files changed, 186 insertions(+), 196 deletions(-) [+]
line diff
     1.1 --- a/CoreLoop.c	Sat Mar 10 21:48:53 2012 -0800
     1.2 +++ b/CoreLoop.c	Mon Mar 12 05:38:07 2012 -0700
     1.3 @@ -72,7 +72,7 @@
     1.4     SlaveVP        *currVP;
     1.5     SchedSlot      *currSlot, **schedSlots;
     1.6     int32           currSlotIdx;
     1.7 -   int32          *addrOfMasterLock;
     1.8 +   volatile int32 *addrOfMasterLock; //thing pointed to is volatile, not ptr
     1.9     SlaveVP        *thisCoresMasterVP;
    1.10        //Variables used for pthread related things
    1.11     ThdParams      *coreCtlrThdParams;
     2.1 --- a/Defines/VMS_defs__DEBUG.h	Sat Mar 10 21:48:53 2012 -0800
     2.2 +++ b/Defines/VMS_defs__DEBUG.h	Mon Mar 12 05:38:07 2012 -0700
     2.3 @@ -6,7 +6,7 @@
     2.4   * 
     2.5   */
     2.6  
     2.7 -#ifndef _VMS_DEFS_DEBUG_H
     2.8 +#ifndef  _VMS_DEFS_DEBUG_H
     2.9  #define	_VMS_DEFS_DEBUG_H
    2.10  #define _GNU_SOURCE
    2.11  
     3.1 --- a/Defines/VMS_defs__MEAS.h	Sat Mar 10 21:48:53 2012 -0800
     3.2 +++ b/Defines/VMS_defs__MEAS.h	Mon Mar 12 05:38:07 2012 -0700
     3.3 @@ -6,7 +6,7 @@
     3.4   * 
     3.5   */
     3.6  
     3.7 -#ifndef _VMS_DEFS_MEAS_H
     3.8 +#ifndef  _VMS_DEFS_MEAS_H
     3.9  #define	_VMS_DEFS_MEAS_H
    3.10  #define _GNU_SOURCE
    3.11  
    3.12 @@ -312,15 +312,10 @@
    3.13  #define MEAS__Make_Meas_Hists_for_Language
    3.14  #endif
    3.15  
    3.16 -              
    3.17 -#ifdef MEAS__TURN_ON_MAKE_HISTS
    3.18 -   #define makeAMeasHist( idx, name, numBins, startVal, binWidth ) \
    3.19 +#define makeAMeasHist( idx, name, numBins, startVal, binWidth ) \
    3.20        makeHighestDynArrayIndexBeAtLeast( _VMSMasterEnv->measHistsInfo, idx ); \
    3.21        _VMSMasterEnv->measHists[idx] =  \
    3.22                         makeFixedBinHist( numBins, startVal, binWidth, name );
    3.23 -#else
    3.24 -   #define makeAMeasHist( idx, name, numBins, startVal, binWidth )
    3.25 -#endif
    3.26  
    3.27  //==============================  Probes  ===================================
    3.28  
     4.1 --- a/Defines/VMS_defs__main.h	Sat Mar 10 21:48:53 2012 -0800
     4.2 +++ b/Defines/VMS_defs__main.h	Mon Mar 12 05:38:07 2012 -0700
     4.3 @@ -6,7 +6,7 @@
     4.4   * 
     4.5   */
     4.6  
     4.7 -#ifndef _VMS_DEFS_MAIN_H
     4.8 +#ifndef  _VMS_DEFS_MAIN_H
     4.9  #define	_VMS_DEFS_MAIN_H
    4.10  #define _GNU_SOURCE
    4.11  
     5.1 --- a/Hardware_Dependent/VMS__primitives.c	Sat Mar 10 21:48:53 2012 -0800
     5.2 +++ b/Hardware_Dependent/VMS__primitives.c	Mon Mar 12 05:38:07 2012 -0700
     5.3 @@ -18,7 +18,7 @@
     5.4   */
     5.5  inline void
     5.6  VMS_int__point_slaveVP_to_Fn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr,
     5.7 -                            void    *dataParam)
     5.8 +                              void    *dataParam)
     5.9   { void  *stackPtr;
    5.10  
    5.11  // Start of Hardware dependent part           
     6.1 --- a/Hardware_Dependent/VMS__primitives.h	Sat Mar 10 21:48:53 2012 -0800
     6.2 +++ b/Hardware_Dependent/VMS__primitives.h	Mon Mar 12 05:38:07 2012 -0700
     6.3 @@ -6,7 +6,7 @@
     6.4   * 
     6.5   */
     6.6  
     6.7 -#ifndef _VMS__PRIMITIVES_H
     6.8 +#ifndef  _VMS__PRIMITIVES_H
     6.9  #define	_VMS__PRIMITIVES_H
    6.10  #define _GNU_SOURCE
    6.11  
     7.1 --- a/Hardware_Dependent/VMS__primitives.s	Sat Mar 10 21:48:53 2012 -0800
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,167 +0,0 @@
     7.4 -.data
     7.5 -
     7.6 -
     7.7 -.text
     7.8 -
     7.9 -//Save return label address for the coreCtlr to pointer
    7.10 -//Arguments: Pointer to variable holding address
    7.11 -.globl recordCoreCtlrReturnLabelAddr
    7.12 -recordCoreCtlrReturnLabelAddr:
    7.13 -    movq    $coreCtlrReturn, %rcx   #load label address
    7.14 -    movq    %rcx, (%rdi)           #save address to pointer
    7.15 -    ret
    7.16 -
    7.17 -
    7.18 -//Trick for 64 bit arch -- copies args from stack into regs, then does jmp to
    7.19 -// the top-level function, which was pointed to by the stack-ptr
    7.20 -.globl startUpTopLevelFn
    7.21 -startUpTopLevelFn:
    7.22 -    movq    %rdi      , %rsi #get second argument from first argument of switchSlv
    7.23 -    movq    0x08(%rsp), %rdi #get first argument from stack
    7.24 -    movq    (%rsp)    , %rax #get top-level function's addr from stack
    7.25 -    jmp     *%rax            #jump to the top-level function
    7.26 -
    7.27 -//Switches form CoreCtlr to either a normal Slv VP or the Master VP
    7.28 -//switch to VP's stack and frame ptr then jump to VP's next-instr-ptr
    7.29 -/* SlaveVP  offsets:
    7.30 - * 0x10  stackPtr
    7.31 - * 0x18 framePtr
    7.32 - * 0x20 resumeInstrPtr
    7.33 - * 0x30 coreCtlrFramePtr
    7.34 - * 0x38 coreCtlrStackPtr
    7.35 - *
    7.36 - * _VMSMasterEnv  offsets:
    7.37 - * 0x48 coreCtlrReturnPt
    7.38 - * 0x54 masterLock
    7.39 - */
    7.40 -.globl switchToSlv
    7.41 -switchToSlv:
    7.42 -    #SlaveVP in %rdi
    7.43 -    movq    %rsp      , 0x38(%rdi)   #save core ctlr stack pointer 
    7.44 -    movq    %rbp      , 0x30(%rdi)   #save core ctlr frame pointer
    7.45 -    movq    0x10(%rdi), %rsp         #restore stack pointer
    7.46 -    movq    0x18(%rdi), %rbp         #restore frame pointer
    7.47 -    movq    0x20(%rdi), %rax         #get jmp pointer
    7.48 -    jmp     *%rax                    #jmp to Slv
    7.49 -coreCtlrReturn:
    7.50 -    ret
    7.51 -
    7.52 -    
    7.53 -//switches to core controller. saves return address
    7.54 -/* SlaveVP  offsets:
    7.55 - * 0x10  stackPtr
    7.56 - * 0x18 framePtr
    7.57 - * 0x20 resumeInstrPtr
    7.58 - * 0x30 coreCtlrFramePtr
    7.59 - * 0x38 coreCtlrStackPtr
    7.60 - *
    7.61 - * _VMSMasterEnv  offsets:
    7.62 - * 0x48 coreCtlrReturnPt
    7.63 - * 0x54 masterLock
    7.64 - */
    7.65 -.globl switchToCoreCtlr
    7.66 -switchToCoreCtlr:
    7.67 -    #SlaveVP in %rdi
    7.68 -    movq    $SlvReturn, 0x20(%rdi)   #store return address
    7.69 -    movq    %rsp      , 0x10(%rdi)   #save stack pointer 
    7.70 -    movq    %rbp      , 0x18(%rdi)   #save frame pointer
    7.71 -    movq    0x38(%rdi), %rsp         #restore stack pointer
    7.72 -    movq    0x30(%rdi), %rbp         #restore frame pointer
    7.73 -    movq    $_VMSMasterEnv, %rcx
    7.74 -    movq    (%rcx)    , %rcx
    7.75 -    movq    0x48(%rcx), %rax         #get CoreCtlrStartPt
    7.76 -    jmp     *%rax                    #jmp to CoreCtlr
    7.77 -SlvReturn:
    7.78 -    ret
    7.79 -
    7.80 -
    7.81 -
    7.82 -//switches to core controller from master. saves return address
    7.83 -//Releases masterLock so the next MasterLoop can be executed
    7.84 -/* SlaveVP  offsets:
    7.85 - * 0x10  stackPtr
    7.86 - * 0x18 framePtr
    7.87 - * 0x20 resumeInstrPtr
    7.88 - * 0x30 coreCtlrFramePtr
    7.89 - * 0x38 coreCtlrStackPtr
    7.90 - *
    7.91 - * _VMSMasterEnv  offsets:
    7.92 - * 0x48 coreCtlrReturnPt
    7.93 - * 0x54 masterLock
    7.94 - */
    7.95 -.globl masterSwitchToCoreCtlr
    7.96 -masterSwitchToCoreCtlr:
    7.97 -    #SlaveVP in %rdi
    7.98 -    movq    $MasterReturn, 0x20(%rdi)   #store return address
    7.99 -    movq    %rsp      , 0x10(%rdi)   #save stack pointer 
   7.100 -    movq    %rbp      , 0x18(%rdi)   #save frame pointer
   7.101 -    movq    0x38(%rdi), %rsp         #restore stack pointer
   7.102 -    movq    0x30(%rdi), %rbp         #restore frame pointer
   7.103 -    movq    $_VMSMasterEnv, %rcx
   7.104 -    movq    (%rcx)    , %rcx
   7.105 -    movq    0x48(%rcx), %rax         #get CoreCtlr return pt
   7.106 -    movl    $0x0      , 0x54(%rcx)   #release lock
   7.107 -    jmp     *%rax                    #jmp to CoreCtlr
   7.108 -MasterReturn:
   7.109 -    ret
   7.110 -
   7.111 -
   7.112 -//Switch to terminateCoreCtlr
   7.113 -//therefor switch to coreCtlr context from master context
   7.114 -// no need to call because the stack is already set up for switchSlv
   7.115 -// and Slv is in %rdi
   7.116 -// and both functions have the same argument.
   7.117 -// do not save register of Slv because this function will never return
   7.118 -/* SlaveVP  offsets:
   7.119 - * 0x10  stackPtr
   7.120 - * 0x18 framePtr
   7.121 - * 0x20 resumeInstrPtr
   7.122 - * 0x30 coreCtlrFramePtr
   7.123 - * 0x38 coreCtlrStackPtr
   7.124 - *
   7.125 - * _VMSMasterEnv  offsets:
   7.126 - * 0x48 coreCtlrReturnPt
   7.127 - * 0x58 masterLock
   7.128 - */
   7.129 -.globl asmTerminateCoreCtlr
   7.130 -asmTerminateCoreCtlr:
   7.131 -    #SlaveVP in %rdi
   7.132 -    movq    0x38(%rdi), %rsp         #restore stack pointer
   7.133 -    movq    0x30(%rdi), %rbp         #restore frame pointer
   7.134 -    movq    $terminateCoreCtlr, %rax
   7.135 -    jmp     *%rax                    #jmp to CoreCtlr
   7.136 -
   7.137 -
   7.138 -/*
   7.139 - * This one for the sequential version is special. It discards the current stack
   7.140 - * and returns directly from the coreCtlr after VMS_WL__dissipate_slaveVP was called
   7.141 - */
   7.142 -.globl asmTerminateCoreCtlrSeq
   7.143 -asmTerminateCoreCtlrSeq:
   7.144 -    #SlaveVP in %rdi
   7.145 -    movq    0x38(%rdi), %rsp         #restore stack pointer
   7.146 -    movq    0x30(%rdi), %rbp         #restore frame pointer
   7.147 -    #argument is in %rdi
   7.148 -    call    VMS_int__dissipate_slaveVP
   7.149 -    movq    %rbp      , %rsp        #goto the coreCtlrs stack
   7.150 -    pop     %rbp        #restore the old framepointer
   7.151 -    ret                 #return from core controller
   7.152 -    
   7.153 -
   7.154 -//Takes the return addr off the stack and saves into the loc pointed to by
   7.155 -// by the parameter passed in via rdi.  Return addr is at 0x8(%rbp) for 64bit
   7.156 -.globl VMS_int__save_return_into_ptd_to_loc_then_do_ret
   7.157 -VMS_int__save_return_into_ptd_to_loc_then_do_ret:
   7.158 -    movq 0x8(%rbp),     %rax  #get ret address, rbp is the same as in the calling function
   7.159 -    movq     %rax,     (%rdi) #write ret addr into addr passed as param field
   7.160 -    ret
   7.161 -
   7.162 -
   7.163 -//Assembly code changes the return addr on the stack to the one
   7.164 -// pointed to by the parameter, then returns. Stack's return addr is at 0x8(%rbp)
   7.165 -.globl VMS_int__return_to_addr_in_ptd_to_loc
   7.166 -VMS_int__return_to_addr_in_ptd_to_loc:
   7.167 -    movq    (%rdi),    %rax  #get return addr from addr passed as param
   7.168 -    movq     %rax, 0x8(%rbp) #write return addr to the stack of the caller
   7.169 -    ret
   7.170 -
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/Hardware_Dependent/VMS__primitives_asm.s	Mon Mar 12 05:38:07 2012 -0700
     8.3 @@ -0,0 +1,167 @@
     8.4 +.data
     8.5 +
     8.6 +
     8.7 +.text
     8.8 +
     8.9 +//Save return label address for the coreCtlr to pointer
    8.10 +//Arguments: Pointer to variable holding address
    8.11 +.globl recordCoreCtlrReturnLabelAddr
    8.12 +recordCoreCtlrReturnLabelAddr:
    8.13 +    movq    $coreCtlrReturn, %rcx   #load label address
    8.14 +    movq    %rcx, (%rdi)           #save address to pointer
    8.15 +    ret
    8.16 +
    8.17 +
    8.18 +//Trick for 64 bit arch -- copies args from stack into regs, then does jmp to
    8.19 +// the top-level function, which was pointed to by the stack-ptr
    8.20 +.globl startUpTopLevelFn
    8.21 +startUpTopLevelFn:
    8.22 +    movq    %rdi      , %rsi #get second argument from first argument of switchSlv
    8.23 +    movq    0x08(%rsp), %rdi #get first argument from stack
    8.24 +    movq    (%rsp)    , %rax #get top-level function's addr from stack
    8.25 +    jmp     *%rax            #jump to the top-level function
    8.26 +
    8.27 +//Switches form CoreCtlr to either a normal Slv VP or the Master VP
    8.28 +//switch to VP's stack and frame ptr then jump to VP's next-instr-ptr
    8.29 +/* SlaveVP  offsets:
    8.30 + * 0x10  stackPtr
    8.31 + * 0x18 framePtr
    8.32 + * 0x20 resumeInstrPtr
    8.33 + * 0x30 coreCtlrFramePtr
    8.34 + * 0x38 coreCtlrStackPtr
    8.35 + *
    8.36 + * _VMSMasterEnv  offsets:
    8.37 + * 0x48 coreCtlrReturnPt
    8.38 + * 0x54 masterLock
    8.39 + */
    8.40 +.globl switchToSlv
    8.41 +switchToSlv:
    8.42 +    #SlaveVP in %rdi
    8.43 +    movq    %rsp      , 0x38(%rdi)   #save core ctlr stack pointer 
    8.44 +    movq    %rbp      , 0x30(%rdi)   #save core ctlr frame pointer
    8.45 +    movq    0x10(%rdi), %rsp         #restore stack pointer
    8.46 +    movq    0x18(%rdi), %rbp         #restore frame pointer
    8.47 +    movq    0x20(%rdi), %rax         #get jmp pointer
    8.48 +    jmp     *%rax                    #jmp to Slv
    8.49 +coreCtlrReturn:
    8.50 +    ret
    8.51 +
    8.52 +    
    8.53 +//switches to core controller. saves return address
    8.54 +/* SlaveVP  offsets:
    8.55 + * 0x10  stackPtr
    8.56 + * 0x18 framePtr
    8.57 + * 0x20 resumeInstrPtr
    8.58 + * 0x30 coreCtlrFramePtr
    8.59 + * 0x38 coreCtlrStackPtr
    8.60 + *
    8.61 + * _VMSMasterEnv  offsets:
    8.62 + * 0x48 coreCtlrReturnPt
    8.63 + * 0x54 masterLock
    8.64 + */
    8.65 +.globl switchToCoreCtlr
    8.66 +switchToCoreCtlr:
    8.67 +    #SlaveVP in %rdi
    8.68 +    movq    $SlvReturn, 0x20(%rdi)   #store return address
    8.69 +    movq    %rsp      , 0x10(%rdi)   #save stack pointer 
    8.70 +    movq    %rbp      , 0x18(%rdi)   #save frame pointer
    8.71 +    movq    0x38(%rdi), %rsp         #restore stack pointer
    8.72 +    movq    0x30(%rdi), %rbp         #restore frame pointer
    8.73 +    movq    $_VMSMasterEnv, %rcx
    8.74 +    movq    (%rcx)    , %rcx
    8.75 +    movq    0x48(%rcx), %rax         #get CoreCtlrStartPt
    8.76 +    jmp     *%rax                    #jmp to CoreCtlr
    8.77 +SlvReturn:
    8.78 +    ret
    8.79 +
    8.80 +
    8.81 +
    8.82 +//switches to core controller from master. saves return address
    8.83 +//Releases masterLock so the next MasterLoop can be executed
    8.84 +/* SlaveVP  offsets:
    8.85 + * 0x10  stackPtr
    8.86 + * 0x18 framePtr
    8.87 + * 0x20 resumeInstrPtr
    8.88 + * 0x30 coreCtlrFramePtr
    8.89 + * 0x38 coreCtlrStackPtr
    8.90 + *
    8.91 + * _VMSMasterEnv  offsets:
    8.92 + * 0x48 coreCtlrReturnPt
    8.93 + * 0x54 masterLock
    8.94 + */
    8.95 +.globl masterSwitchToCoreCtlr
    8.96 +masterSwitchToCoreCtlr:
    8.97 +    #SlaveVP in %rdi
    8.98 +    movq    $MasterReturn, 0x20(%rdi)   #store return address
    8.99 +    movq    %rsp      , 0x10(%rdi)   #save stack pointer 
   8.100 +    movq    %rbp      , 0x18(%rdi)   #save frame pointer
   8.101 +    movq    0x38(%rdi), %rsp         #restore stack pointer
   8.102 +    movq    0x30(%rdi), %rbp         #restore frame pointer
   8.103 +    movq    $_VMSMasterEnv, %rcx
   8.104 +    movq    (%rcx)    , %rcx
   8.105 +    movq    0x48(%rcx), %rax         #get CoreCtlr return pt
   8.106 +    movl    $0x0      , 0x54(%rcx)   #release lock
   8.107 +    jmp     *%rax                    #jmp to CoreCtlr
   8.108 +MasterReturn:
   8.109 +    ret
   8.110 +
   8.111 +
   8.112 +//Switch to terminateCoreCtlr
   8.113 +//therefor switch to coreCtlr context from master context
   8.114 +// no need to call because the stack is already set up for switchSlv
   8.115 +// and Slv is in %rdi
   8.116 +// and both functions have the same argument.
   8.117 +// do not save register of Slv because this function will never return
   8.118 +/* SlaveVP  offsets:
   8.119 + * 0x10  stackPtr
   8.120 + * 0x18 framePtr
   8.121 + * 0x20 resumeInstrPtr
   8.122 + * 0x30 coreCtlrFramePtr
   8.123 + * 0x38 coreCtlrStackPtr
   8.124 + *
   8.125 + * _VMSMasterEnv  offsets:
   8.126 + * 0x48 coreCtlrReturnPt
   8.127 + * 0x58 masterLock
   8.128 + */
   8.129 +.globl asmTerminateCoreCtlr
   8.130 +asmTerminateCoreCtlr:
   8.131 +    #SlaveVP in %rdi
   8.132 +    movq    0x38(%rdi), %rsp         #restore stack pointer
   8.133 +    movq    0x30(%rdi), %rbp         #restore frame pointer
   8.134 +    movq    $terminateCoreCtlr, %rax
   8.135 +    jmp     *%rax                    #jmp to CoreCtlr
   8.136 +
   8.137 +
   8.138 +/*
   8.139 + * This one for the sequential version is special. It discards the current stack
   8.140 + * and returns directly from the coreCtlr after VMS_WL__dissipate_slaveVP was called
   8.141 + */
   8.142 +.globl asmTerminateCoreCtlrSeq
   8.143 +asmTerminateCoreCtlrSeq:
   8.144 +    #SlaveVP in %rdi
   8.145 +    movq    0x38(%rdi), %rsp         #restore stack pointer
   8.146 +    movq    0x30(%rdi), %rbp         #restore frame pointer
   8.147 +    #argument is in %rdi
   8.148 +    call    VMS_int__dissipate_slaveVP
   8.149 +    movq    %rbp      , %rsp        #goto the coreCtlrs stack
   8.150 +    pop     %rbp        #restore the old framepointer
   8.151 +    ret                 #return from core controller
   8.152 +    
   8.153 +
   8.154 +//Takes the return addr off the stack and saves into the loc pointed to by
   8.155 +// by the parameter passed in via rdi.  Return addr is at 0x8(%rbp) for 64bit
   8.156 +.globl VMS_int__save_return_into_ptd_to_loc_then_do_ret
   8.157 +VMS_int__save_return_into_ptd_to_loc_then_do_ret:
   8.158 +    movq 0x8(%rbp),     %rax  #get ret address, rbp is the same as in the calling function
   8.159 +    movq     %rax,     (%rdi) #write ret addr into addr passed as param field
   8.160 +    ret
   8.161 +
   8.162 +
   8.163 +//Assembly code changes the return addr on the stack to the one
   8.164 +// pointed to by the parameter, then returns. Stack's return addr is at 0x8(%rbp)
   8.165 +.globl VMS_int__return_to_addr_in_ptd_to_loc
   8.166 +VMS_int__return_to_addr_in_ptd_to_loc:
   8.167 +    movq    (%rdi),    %rax  #get return addr from addr passed as param
   8.168 +    movq     %rax, 0x8(%rbp) #write return addr to the stack of the caller
   8.169 +    ret
   8.170 +
     9.1 --- a/Probes/probes.c	Sat Mar 10 21:48:53 2012 -0800
     9.2 +++ b/Probes/probes.c	Mon Mar 12 05:38:07 2012 -0700
     9.3 @@ -284,17 +284,11 @@
     9.4      }
     9.5   }
     9.6  
     9.7 -//TODO: change so pass around pointer to probe instead of its array-index..
     9.8 -// will eliminate chance for timing of resize to cause problems with the
     9.9 -// lookup -- even though don't think it actually can cause problems..
    9.10 -// there's no need to pass index around -- have hash table for names, and
    9.11 -// only need it once, then have ptr to probe..  the thing about enum the
    9.12 -// index and use that as name is clunky in practice -- just hash.
    9.13  void
    9.14 -VMS_impl__print_stats_of_probe( int32 probeID )
    9.15 - { IntervalProbe *probe;
    9.16 +VMS_impl__print_stats_of_probe( IntervalProbe *probe )
    9.17 + { 
    9.18  
    9.19 -   probe = _VMSMasterEnv->intervalProbes[ probeID ];
    9.20 +//   probe = _VMSMasterEnv->intervalProbes[ probeID ];
    9.21  
    9.22     print_probe_helper( probe );
    9.23   }
    9.24 @@ -307,3 +301,4 @@
    9.25                         &VMS_impl__print_stats_of_probe );
    9.26     fflush( stdout );
    9.27   }
    9.28 +typedef void  (*DynArrayFnPtr)  ( void * );  //fn has to cast void *
    10.1 --- a/Probes/probes.h	Sat Mar 10 21:48:53 2012 -0800
    10.2 +++ b/Probes/probes.h	Mon Mar 12 05:38:07 2012 -0700
    10.3 @@ -107,7 +107,7 @@
    10.4  VMS_impl__record_interval_end_in_probe( int32 probeID );
    10.5  
    10.6  void
    10.7 -VMS_impl__print_stats_of_probe( int32 probeID );
    10.8 +VMS_impl__print_stats_of_probe( IntervalProbe *probe )
    10.9  
   10.10  void
   10.11  VMS_impl__print_stats_of_all_probes();
    11.1 --- a/VMS.h	Sat Mar 10 21:48:53 2012 -0800
    11.2 +++ b/VMS.h	Mon Mar 12 05:38:07 2012 -0700
    11.3 @@ -217,7 +217,7 @@
    11.4  
    11.5  pthread_t       coreCtlrThdHandles[ NUM_CORES ];  //pthread's virt-procr state
    11.6  ThdParams      *coreCtlrThdParams [ NUM_CORES ];
    11.7 -pthread_mutex_t suspendLock   = PTHREAD_MUTEX_INITIALIZER;
    11.8 +pthread_mutex_t suspendLock  = PTHREAD_MUTEX_INITIALIZER;
    11.9  pthread_cond_t  suspendCond  = PTHREAD_COND_INITIALIZER;
   11.10  
   11.11  //=========================  Function Prototypes  ===========================
   11.12 @@ -295,7 +295,7 @@
   11.13  
   11.14  inline void
   11.15  VMS_int__point_slaveVP_to_Fn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr,
   11.16 -                            void    *dataParam);
   11.17 +                              void    *dataParam);
   11.18  
   11.19  void
   11.20  VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate );
    12.1 --- a/VMS__int.c	Sat Mar 10 21:48:53 2012 -0800
    12.2 +++ b/VMS__int.c	Mon Mar 12 05:38:07 2012 -0700
    12.3 @@ -181,9 +181,9 @@
    12.4  VMS_int__strDup( char *str )
    12.5   { char *retStr;
    12.6  
    12.7 -   retStr = VMS_int__malloc( strlen(str) + 1 );
    12.8 +   retStr = (char *)VMS_int__malloc( strlen(str) + 1 );
    12.9     if( str == NULL ) return str;
   12.10     strcpy( retStr, str );
   12.11  
   12.12 -   return retStr;
   12.13 +   return (char *)retStr;
   12.14   }
    13.1 --- a/VMS_primitive_data_types.h	Sat Mar 10 21:48:53 2012 -0800
    13.2 +++ b/VMS_primitive_data_types.h	Mon Mar 12 05:38:07 2012 -0700
    13.3 @@ -7,8 +7,8 @@
    13.4  
    13.5   */
    13.6  
    13.7 -#ifndef _BLIS_PRIMITIVE_DATA_TYPES_H
    13.8 -#define	_BLIS_PRIMITIVE_DATA_TYPES_H
    13.9 +#ifndef  _PRIMITIVE_DATA_TYPES_H
   13.10 +#define	_PRIMITIVE_DATA_TYPES_H
   13.11  
   13.12  
   13.13  /*For portability, need primitive data types that have a well defined
   13.14 @@ -50,5 +50,5 @@
   13.15  #define TRUE  1
   13.16  #define FALSE 0
   13.17  
   13.18 -#endif	/* _BLIS_PRIMITIVE_DATA_TYPES_H */
   13.19 +#endif	/* _PRIMITIVE_DATA_TYPES_H */
   13.20