5 #include "runtime_arch.h"
7 void * mycalloc(int m, int size) {
9 int isize = size; //2*BAMBOO_CACHE_LINE_SIZE-4+(size-1)&(~BAMBOO_CACHE_LINE_MASK);
10 BAMBOO_START_CRITICAL_SECTION_MEM();
11 p = BAMBOO_LOCAL_MEM_CALLOC(m, isize); // calloc(m, isize);
15 BAMBOO_CLOSE_CRITICAL_SECTION_MEM();
16 //return (void *)(BAMBOO_CACHE_LINE_SIZE+((int)p-1)&(~BAMBOO_CACHE_LINE_MASK));
20 void * mycalloc_share(int m, int size) {
22 int isize = 2*BAMBOO_CACHE_LINE_SIZE-4+(size-1)&(~BAMBOO_CACHE_LINE_MASK);
23 BAMBOO_START_CRITICAL_SECTION_MEM();
24 p = BAMBOO_SHARE_MEM_CALLOC_I(m, isize); // calloc(m, isize);
28 BAMBOO_CLOSE_CRITICAL_SECTION_MEM();
29 return (void *)(BAMBOO_CACHE_LINE_SIZE+((int)p-1)&(~BAMBOO_CACHE_LINE_MASK));
32 void * mycalloc_i(int m, int size) {
34 int isize = size; //2*BAMBOO_CACHE_LINE_SIZE-4+(size-1)&(~BAMBOO_CACHE_LINE_MASK);
35 p = BAMBOO_LOCAL_MEM_CALLOC(m, isize); // calloc(m, isize);
40 //return (void *)(BAMBOO_CACHE_LINE_SIZE+((int)p-1)&(~BAMBOO_CACHE_LINE_MASK));
43 void myfree(void * ptr) {
44 BAMBOO_LOCAL_MEM_FREE(ptr);