7 /*void * m_calloc(int m, int size) {
8 void * p = malloc(m*size);
10 for(i = 0; i < size; ++i) {
16 void * mycalloc(int m, int size) {
18 int isize = 2*kCacheLineSize-4+(size-1)&(~kCacheLineMask);
20 //raw_test_pass(0xdd00);
23 // shut down interrupt
24 raw_user_interrupts_off();
27 //p = m_calloc(m, isize);
29 //raw_test_pass_reg(p);
30 //raw_test_pass_reg((kCacheLineSize+((int)p-1)&(~kCacheLineMask)));
33 // re-open interruption
34 raw_user_interrupts_on();
36 return (void *)(kCacheLineSize+((int)p-1)&(~kCacheLineMask));
39 void * mycalloc_i(int m, int size) {
41 int isize = 2*kCacheLineSize-4+(size-1)&(~kCacheLineMask);
43 //raw_test_pass(0xdd00);
46 //p = m_calloc(m, isize);
48 //raw_test_pass_reg(p);
49 //raw_test_pass_reg((kCacheLineSize+((int)p-1)&(~kCacheLineMask)));
51 return (void *)(kCacheLineSize+((int)p-1)&(~kCacheLineMask));
54 void myfree(void * ptr) {