annotate TaskManager/include/base.h @ 0:04e28d8d3c6f

first commit
author Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
date Mon, 08 Nov 2010 01:23:25 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #ifndef INCLUDED_BASE_H_
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include <new>
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include <stdlib.h>
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include <stdio.h>
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 #ifdef __SPU__
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 # define BASE_NEW_DELETE(T) \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 /* override new/detele */ \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 static void* operator new(size_t size) { \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 if ((int)size == 0) { \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 size = 1; \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 } \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 void *ptr = malloc(size); \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 return ptr; \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 } \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 static void operator delete(void* rawMemory, size_t size) { \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 free(rawMemory); \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 } \
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 #else
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 # define BASE_NEW_DELETE(T)
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 #endif
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
04e28d8d3c6f first commit
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 #endif