c134e50758e821c9ce9ff03bcd5e81908f0ea058
[IRC.git] / Robust / src / Runtime / mem.c
1 #include "mem.h"
2
3 #ifdef MULTICORE
4 #include "runtime.h"
5 #include "runtime_arch.h"
6
7 /*void * m_calloc(int m, int size) {
8         void * p = malloc(m*size);
9         int i = 0;
10         for(i = 0; i < size; ++i) {
11  *(char *)(p+i) = 0;
12         }
13         return p;
14    }*/
15
16 void * mycalloc(int m, int size) {
17   void * p = NULL;
18   int isize = 2*kCacheLineSize-4+(size-1)&(~kCacheLineMask);
19   BAMBOO_START_CRITICAL_SECTION_MEM();
20   p = BAMBOO_SHARE_MEM_CALLOC(m, isize); // calloc(m, isize);
21   BAMBOO_CLOSE_CRITICAL_SECTION_MEM();
22   return (void *)(kCacheLineSize+((int)p-1)&(~kCacheLineMask));
23 }
24
25 void * mycalloc_i(int m, int size) {
26   void * p = NULL;
27   int isize = 2*kCacheLineSize-4+(size-1)&(~kCacheLineMask);
28   p = BAMBOO_SHARE_MEM_CALLOC(m, isize); // calloc(m, isize);
29   return (void *)(kCacheLineSize+((int)p-1)&(~kCacheLineMask));
30 }
31
32 void myfree(void * ptr) {
33   return;
34 }
35
36 #endif