Changeset: b6e70864037e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6e70864037e
Modified Files:
        gdk/gdk_posix.c
        gdk/gdk_private.h
Branch: default
Log Message:

More cleanup: remove MT_vmalloc and friends.
Since GDKvmalloc is removed, these functions aren't used anymore.


diffs (203 lines):

diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -1633,92 +1633,6 @@ win_errno(void)
 
 #ifndef WIN32
 
-#define MT_PAGESIZE(s)         ((((s)-1)/MT_pagesize()+1)*MT_pagesize())
-
-#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-#if defined(MAP_ANONYMOUS)
-#define MMAP_FLAGS(f)          f|MAP_ANONYMOUS
-#define MMAP_FD                        -1
-#define MMAP_OPEN_DEV_ZERO     int fd = 1
-#define MMAP_CLOSE_DEV_ZERO    (void)fd
-#else
-#define MMAP_FLAGS(f)          f
-#define MMAP_FD                        fd
-#define MMAP_OPEN_DEV_ZERO     int fd = open("/dev/zero", O_RDWR, MONETDB_MODE)
-#define MMAP_CLOSE_DEV_ZERO    close(fd)
-#endif
-
-void *
-MT_vmalloc(size_t size, size_t *maxsize)
-{
-       MMAP_OPEN_DEV_ZERO;
-       char *q, *r = (char *) -1L;
-
-       if (fd < 0) {
-               return NULL;
-       }
-       size = MT_PAGESIZE(size);
-       *maxsize = MT_PAGESIZE(*maxsize);
-       if (*maxsize > size) {
-               r = (char *) mmap(NULL, *maxsize, PROT_NONE, 
MMAP_FLAGS(MAP_PRIVATE | MAP_NORESERVE), MMAP_FD, 0);
-       }
-       if (r == (char *) -1L) {
-               *maxsize = size;
-               q = (char *) mmap(NULL, size, PROT_READ | PROT_WRITE, 
MMAP_FLAGS(MAP_PRIVATE), MMAP_FD, 0);
-       } else {
-               q = (char *) mmap(r, size, PROT_READ | PROT_WRITE, 
MMAP_FLAGS(MAP_PRIVATE | MAP_FIXED), MMAP_FD, 0);
-       }
-       MMAP_CLOSE_DEV_ZERO;
-       return (void *) ((q == (char *) -1L) ? NULL : q);
-}
-
-void
-MT_vmfree(void *p, size_t size)
-{
-       size = MT_PAGESIZE(size);
-       munmap(p, size);
-}
-
-void *
-MT_vmrealloc(void *voidptr, size_t oldsize, size_t newsize, size_t oldmaxsize, 
size_t *newmaxsize)
-{
-       char *p = (char *) voidptr;
-       char *q = (char *) -1L;
-
-       /* sanitize sizes */
-       oldsize = MT_PAGESIZE(oldsize);
-       newsize = MT_PAGESIZE(newsize);
-       oldmaxsize = MT_PAGESIZE(oldmaxsize);
-       *newmaxsize = MT_PAGESIZE(*newmaxsize);
-       if (*newmaxsize < newsize) {
-               *newmaxsize = newsize;
-       }
-
-       if (oldsize > newsize) {
-               munmap(p + oldsize, oldsize - newsize);
-       } else if (oldsize < newsize) {
-               if (newsize < oldmaxsize) {
-                       MMAP_OPEN_DEV_ZERO;
-                       if (fd >= 0) {
-                               q = (char *) mmap(p + oldsize, newsize - 
oldsize, PROT_READ | PROT_WRITE, MMAP_FLAGS(MAP_PRIVATE | MAP_FIXED), MMAP_FD, 
(off_t) oldsize);
-                               MMAP_CLOSE_DEV_ZERO;
-                       }
-               }
-               if (q == (char *) -1L) {
-                       q = (char *) MT_vmalloc(newsize, newmaxsize);
-                       if (q != NULL) {
-                               memcpy(q, p, oldsize);
-                               MT_vmfree(p, oldmaxsize);
-                               return q;
-                       }
-               }
-       }
-       *newmaxsize = MAX(oldmaxsize, newsize);
-       return p;
-}
-
 void
 MT_sleep_ms(unsigned int ms)
 {
@@ -1740,93 +1654,6 @@ MT_sleep_ms(unsigned int ms)
 
 #else /* WIN32 */
 
-#define MT_PAGESIZE(s)         (((((s)-1) >> 12) + 1) << 12)
-#define MT_SEGSIZE(s)          ((((((s)-1) >> 16) & 65535) + 1) << 16)
-
-#ifndef MEM_TOP_DOWN
-#define MEM_TOP_DOWN 0
-#endif
-
-void *
-MT_vmalloc(size_t size, size_t *maxsize)
-{
-       void *p, *a = NULL;
-       int mode = 0;
-
-       size = MT_PAGESIZE(size);
-       if (*maxsize < size) {
-               *maxsize = size;
-       }
-       *maxsize = MT_SEGSIZE(*maxsize);
-       if (*maxsize < 1000000) {
-               mode = MEM_TOP_DOWN;    /* help NT in keeping memory 
defragmented */
-       }
-       (void) pthread_mutex_lock(&MT_mmap_lock);
-       if (*maxsize > size) {
-               a = (void *) VirtualAlloc(NULL, *maxsize, MEM_RESERVE | mode, 
PAGE_NOACCESS);
-               if (a == NULL) {
-                       *maxsize = size;
-               }
-       }
-       p = (void *) VirtualAlloc(a, size, MEM_COMMIT | mode, PAGE_READWRITE);
-       (void) pthread_mutex_unlock(&MT_mmap_lock);
-       if (p == NULL) {
-               mnstr_printf(GDKstdout, "#VirtualAlloc(" PTRFMT "," SZFMT 
",MEM_COMMIT,PAGE_READWRITE): failed\n", PTRFMTCAST a, size);
-       }
-       return p;
-}
-
-
-void
-MT_vmfree(void *p, size_t size)
-{
-       if (VirtualFree(p, size, MEM_DECOMMIT) == 0)
-               mnstr_printf(GDKstdout, "#VirtualFree(" PTRFMT "," SZFMT 
",MEM_DECOMMIT): failed\n", PTRFMTCAST p, size);
-       if (VirtualFree(p, 0, MEM_RELEASE) == 0)
-               mnstr_printf(GDKstdout, "#VirtualFree(" PTRFMT 
",0,MEM_RELEASE): failed\n", PTRFMTCAST p);
-}
-
-void *
-MT_vmrealloc(void *v, size_t oldsize, size_t newsize, size_t oldmaxsize, 
size_t *newmaxsize)
-{
-       char *p = (char *) v, *a = p;
-
-       /* sanitize sizes */
-       oldsize = MT_PAGESIZE(oldsize);
-       newsize = MT_PAGESIZE(newsize);
-       oldmaxsize = MT_PAGESIZE(oldmaxsize);
-       *newmaxsize = MT_PAGESIZE(*newmaxsize);
-       if (*newmaxsize < newsize) {
-               *newmaxsize = newsize;
-       }
-
-       if (oldsize > newsize) {
-               size_t ret = VirtualFree(p + newsize, oldsize - newsize, 
MEM_DECOMMIT);
-
-               if (ret == 0)
-                       mnstr_printf(GDKstdout, "#VirtualFree(" PTRFMT "," 
SSZFMT ",MEM_DECOMMIT): failed\n", PTRFMTCAST(p + newsize), (ssize_t) (oldsize 
- newsize));
-       } else if (oldsize < newsize) {
-               (void) pthread_mutex_lock(&MT_mmap_lock);
-               a = (char *) VirtualAlloc(p, newsize, MEM_COMMIT, 
PAGE_READWRITE);
-               (void) pthread_mutex_unlock(&MT_mmap_lock);
-               if (a != p) {
-                       char *q = a;
-
-                       if (a == NULL) {
-                               q = MT_vmalloc(newsize, newmaxsize);
-                       }
-                       if (q != NULL) {
-                               memcpy(q, p, oldsize);
-                               MT_vmfree(p, oldmaxsize);
-                       }
-                       if (a == NULL)
-                               return q;
-               }
-       }
-       *newmaxsize = MAX(oldmaxsize, newsize);
-       return a;
-}
-
 void
 MT_sleep_ms(unsigned int ms)
 {
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -108,9 +108,6 @@ void *MT_mmap_open(MT_mmap_hdl *hdl, cha
 void *MT_mmap_remap(MT_mmap_hdl *hdl, off_t off, size_t len);
 int MT_mmap_trim(size_t lim, void *err);
 int MT_msync(void *p, size_t off, size_t len, int mode);
-void *MT_vmalloc(size_t size, size_t *maxsize);
-void MT_vmfree(void *p, size_t size);
-void *MT_vmrealloc(void *voidptr, size_t oldsize, size_t newsize, size_t 
oldmaxsize, size_t *newmaxsize);
 int OIDdirty(void);
 int OIDinit(void);
 oid *oidRead(oid *a, stream *s, size_t cnt);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to