diff VMS.h @ 30:c8823e0bb2b4

Started adding own version of malloc and free Just in case they're using TLS and causing the issues
author Me
date Mon, 09 Aug 2010 02:24:31 -0700
parents 0e008278fe3c
children e69579a0e797
line diff
     1.1 --- a/VMS.h	Wed Jul 28 13:12:10 2010 -0700
     1.2 +++ b/VMS.h	Mon Aug 09 02:24:31 2010 -0700
     1.3 @@ -22,15 +22,20 @@
     1.4  //#define NUM_SCHED_SLOTS  (2 * NUM_CORES + 1)
     1.5  #define NUM_SCHED_SLOTS  3
     1.6  
     1.7 -   //128K stack.. compromise, want 10K virtPr
     1.8 -#define VIRT_PROCR_STACK_SIZE 0x10000
     1.9 +   // 8K stack
    1.10 +#define VIRT_PROCR_STACK_SIZE 0x20000
    1.11 +
    1.12 +   //256M of total memory for VMS application to VMS__malloc
    1.13 +#define MASSIVE_MALLOC_SIZE 0x10000000
    1.14 +
    1.15 +#define NUM_PREPEND_BYTES sizeof(FreeListElem) + sizeof(ownerElem);
    1.16  
    1.17  #define SUCCESS 0
    1.18  
    1.19 -#define writeVMSQ     writePThdQ
    1.20 -#define readVMSQ      readPThdQ
    1.21 -#define makeVMSQ      makePThdQ
    1.22 -#define VMSQueueStruc PThdQueueStruc
    1.23 +#define writeVMSQ     writeCASQ
    1.24 +#define readVMSQ      readCASQ
    1.25 +#define makeVMSQ      makeCASQ
    1.26 +#define VMSQueueStruc CASQueueStruc
    1.27  
    1.28  //#define thdAttrs NULL  //For PThreads
    1.29  
    1.30 @@ -104,23 +109,25 @@
    1.31  
    1.32  typedef struct
    1.33   {
    1.34 -   SlaveScheduler   slaveScheduler;
    1.35 -   RequestHandler   requestHandler;
    1.36 +   SlaveScheduler slaveScheduler;
    1.37 +   RequestHandler requestHandler;
    1.38     
    1.39 -   SchedSlot **schedSlots;
    1.40 -   SchedSlot **filledSlots;
    1.41 -   int         numToPrecede;
    1.42 +   SchedSlot    **schedSlots;
    1.43 +   SchedSlot    **filledSlots;
    1.44 +   int            numToPrecede;
    1.45     
    1.46 -   volatile int stillRunning;
    1.47 +   volatile int   stillRunning;
    1.48     
    1.49 -   VirtProcr  *masterVirtPr;
    1.50 +   VirtProcr     *masterVirtPr;
    1.51  
    1.52 -   void       *semanticEnv;
    1.53 -   void       *OSEventStruc;    //for future, when add I/O to BLIS
    1.54 +   void          *semanticEnv;
    1.55 +   void          *OSEventStruc;    //for future, when add I/O to BLIS
    1.56  
    1.57 -   void       *coreLoopEndPt; //addr to jump to to shut down a coreLoop
    1.58 +   void          *coreLoopEndPt; //addr to jump to to shut down a coreLoop
    1.59  
    1.60 -   int         setupComplete;
    1.61 +   int            setupComplete;
    1.62 +
    1.63 +   void          *mallocChunk;
    1.64   }
    1.65  MasterEnv;
    1.66