- Timestamp:
- May 31, 2011, 8:02:50 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20110505/Ohana/src/libohana/include/ohana_allocate.h
r30726 r31589 5 5 # ifdef OHANA_MEMORY 6 6 7 void *ohana_malloc (char *file, int line, int Nelem, size_t esize); 8 void *ohana_realloc (char *file, int line, void *in, int Nelem, size_t esize); 9 void ohana_free (char *file, int line, void *in); 10 void ohana_memregister_func (char *file, int line, void *ptr); 7 void *ohana_malloc (char *file, int line, char *func, int Nelem, size_t esize); 8 void *ohana_realloc (char *file, int line, char *func, void *in, int Nelem, size_t esize); 9 void ohana_free (char *file, int line, char *func, void *in); 11 10 void ohana_memdump_func (int mode); 12 11 void ohana_memcheck_func (int mode); 13 12 14 # define ohana_memregister(X) ohana_memregister_func (__FILE__, __LINE__, (X));15 13 # define ohana_memcheck(X) ohana_memcheck_func (X); 16 14 # define ohana_memdump(X) ohana_memdump_func (X); 17 15 18 16 # define ALLOCATE(PTR,TYPE,SIZE) \ 19 { PTR = (TYPE *) ohana_malloc (__FILE__, __LINE__, (SIZE), sizeof(TYPE)) }17 { PTR = (TYPE *) ohana_malloc (__FILE__, __LINE__, __func__, (SIZE), sizeof(TYPE)) } 20 18 # define ALLOCATE_ZERO(PTR,TYPE,SIZE) \ 21 { PTR = (TYPE *) ohana_malloc (__FILE__, __LINE__, (SIZE), sizeof(TYPE)); memset (PTR, 0, (SIZE)*sizeof(TYPE)); }19 { PTR = (TYPE *) ohana_malloc (__FILE__, __LINE__, __func__, (SIZE), sizeof(TYPE)); memset (PTR, 0, (SIZE)*sizeof(TYPE)); } 22 20 # define REALLOCATE(PTR,TYPE,SIZE) \ 23 { PTR = (TYPE *) ohana_realloc(__FILE__, __LINE__, PTR, (SIZE), sizeof(TYPE)); }21 { PTR = (TYPE *) ohana_realloc(__FILE__, __LINE__, __func__, PTR, (SIZE), sizeof(TYPE)); } 24 22 # define CHECK_REALLOCATE(PTR,TYPE,SIZE,NCURR,DELTA) { \ 25 23 if ((NCURR) >= (SIZE)) { SIZE += DELTA; \ 26 PTR = (TYPE *) ohana_realloc(__FILE__, __LINE__, PTR, (SIZE), sizeof(TYPE)); } }27 # define FREE(PTR) { if (PTR != NULL) { ohana_free (__FILE__, __LINE__, PTR); } }24 PTR = (TYPE *) ohana_realloc(__FILE__, __LINE__, __func__, PTR, (SIZE), sizeof(TYPE)); } } 25 # define FREE(PTR) { if (PTR != NULL) { ohana_free (__FILE__, __LINE__, __func__, PTR); } } 28 26 # define free(PTR) { ohana_free(__FILE__, __LINE__, PTR); } 27 # define real_free(PTR) { if (PTR) { free(PTR); }} 29 28 30 # else 31 # define ohana_memregister(X) /* NOP */ 29 # else /* OHANA_MEMORY */ 30 32 31 # define ohana_memcheck(X) /* NOP */ 33 32 # define ohana_memdump(X) /* NOP */ 34 # endif /* OHANA_MEMORY */33 # define real_free(PTR) { if (PTR) { free(PTR); }} 35 34 36 35 # ifndef ALLOCATE … … 64 63 # define FREE(PTR) { if (PTR != NULL) { free (PTR); } } 65 64 # endif /* ALLOCATE */ 65 # endif /* OHANA_MEMORY */ 66 66 67 67 # endif /* OHANA_ALLOCATE */
Note:
See TracChangeset
for help on using the changeset viewer.
