2de0dc9702bde6e0a8f7521774683b64a4ad7e5b
[IRC.git] / Robust / src / Runtime / mem.c
1 #include "mem.h"
2
3 #ifdef RAW
4 #include "runtime.h"
5 #include <raw.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         raw_test_pass(0xdd00);
20 #ifdef INTERRUPT
21         // shut down interrupt
22         raw_user_interrupts_off();
23 #endif
24         p = calloc(m, isize);
25         //p = m_calloc(m, isize);
26         raw_test_pass_reg(p);
27         raw_test_pass_reg((kCacheLineSize+((int)p-1)&(~kCacheLineMask)));
28 #ifdef INTERRUPT
29         // re-open interruption
30         raw_user_interrupts_on();
31 #endif
32         return (void *)(kCacheLineSize+((int)p-1)&(~kCacheLineMask));
33 }
34
35 void * mycalloc_i(int m, int size) {
36         void * p = NULL;
37         int isize = 2*kCacheLineSize-4+(size-1)&(~kCacheLineMask);
38         raw_test_pass(0xdd00);
39         p = calloc(m, isize);
40         //p = m_calloc(m, isize);
41         raw_test_pass_reg(p);
42         raw_test_pass_reg((kCacheLineSize+((int)p-1)&(~kCacheLineMask)));
43         return (void *)(kCacheLineSize+((int)p-1)&(~kCacheLineMask));
44 }
45
46 void myfree(void * ptr) {
47         return;
48 }
49
50 #endif