X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=mymemory.h;h=88d92dca1dfef0b97111943f8d6f9c7549272c84;hb=HEAD;hp=aaf54c395742dcb10a29f4027e04422d3b1bb0d5;hpb=89ecd60fab0d93d6df6aa35e663ab67db860fa1d;p=c11tester.git diff --git a/mymemory.h b/mymemory.h index aaf54c39..88d92dca 100644 --- a/mymemory.h +++ b/mymemory.h @@ -24,7 +24,7 @@ void operator delete[](void *p, size_t size) { \ model_free(p); \ } \ - void * operator new(size_t size, void *p) { /* placement new */ \ + void * operator new(size_t size, void *p) { /* placement new */ \ return p; \ } @@ -43,22 +43,28 @@ void operator delete[](void *p, size_t size) { \ snapshot_free(p); \ } \ - void * operator new(size_t size, void *p) { /* placement new */ \ + void * operator new(size_t size, void *p) { /* placement new */ \ return p; \ } void *model_malloc(size_t size); void *model_calloc(size_t count, size_t size); void model_free(void *ptr); +void * model_realloc(void *ptr, size_t size); void * snapshot_malloc(size_t size); void * snapshot_calloc(size_t count, size_t size); void * snapshot_realloc(void *ptr, size_t size); void snapshot_free(void *ptr); +typedef void * mspace; +extern mspace sStaticSpace; + void * Thread_malloc(size_t size); void Thread_free(void *ptr); +void init_memory_ops(); + /** @brief Provides a non-snapshotting allocator for use in STL classes. * * The code was adapted from a code example from the book The C++ @@ -254,14 +260,15 @@ extern void * mspace_calloc(mspace msp, size_t n_elements, size_t elem_size); extern mspace create_mspace_with_base(void* base, size_t capacity, int locked); extern mspace create_mspace(size_t capacity, int locked); -#if USE_MPROTECT_SNAPSHOT -extern mspace user_snapshot_space; -#endif - extern mspace model_snapshot_space; +extern void * (*volatile real_memcpy)(void * dst, const void *src, size_t n); +extern void * (*volatile real_memmove)(void * dst, const void *src, size_t len); +extern void (*volatile real_bzero)(void * dst, size_t len); +extern void * (*volatile real_memset)(void * dst, int c, size_t len); + #ifdef __cplusplus }; /* end of extern "C" */ #endif -#endif/* _MY_MEMORY_H */ +#endif /* _MY_MEMORY_H */