3 #include "snapshotimp.h"
7 static mspace sStaticSpace = NULL;
10 void *MYMALLOC(size_t size) {
12 static void *(*mallocp)(size_t size);
16 /* get address of libc malloc */
18 mallocp = ( void * ( * )( size_t ) )dlsym(RTLD_NEXT, "malloc");
19 if ((error = dlerror()) != NULL) {
28 createSharedLibrary();
30 if( NULL == sStaticSpace )
31 sStaticSpace = create_mspace_with_base( ( void * )( sTheRecord->mSharedMemoryBase ), SHARED_MEMORY_DEFAULT -sizeof( struct Snapshot_t ), 1 );
32 return mspace_malloc( sStaticSpace, size );
36 void MYFREE(void *ptr) {
38 static void (*freep)(void *);
41 /* get address of libc free */
43 freep = ( void ( * )( void * ) )dlsym(RTLD_NEXT, "free");
44 if ((error = dlerror()) != NULL) {
51 mspace_free( sStaticSpace, ptr );
54 mspace mySpace = NULL;
55 void * basemySpace = NULL;
57 void *malloc( size_t size ) {
58 return mspace_malloc( mySpace, size );
61 void free( void * ptr ){
62 mspace_free( mySpace, ptr );
65 void * operator new(size_t size) throw(std::bad_alloc) {
69 void operator delete(void *p) throw() {
73 void * operator new[](size_t size) throw(std::bad_alloc) {
77 void operator delete[](void *p, size_t size) {