Changeset 835

Show
Ignore:
Timestamp:
08/06/08 14:50:05 (4 years ago)
Author:
mwhitworth
Message:

Use MemoryMap for allocation in malloc, and no longer use locks.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/trunk/user/libc/stdlib/mem.c

    r608 r835  
    435435 
    436436/* Whitix specific defines here */ 
    437 #define HAVE_MMAP 0 /* Use soon */ 
    438 #define HAVE_MORECORE 1 
    439 #define MORECORE SysMoreCore 
    440 #define MORECORE_CONTIGUOUS 0 /* Should be contiguous */ 
    441 #define MORECORE_FAILURE ((void*)0) 
     437#define HAVE_MMAP 1 /* Use soon */ 
     438#define HAVE_MREMAP     0 
     439#define HAVE_MORECORE 0 
    442440#define LACKS_UNISTD_H 
    443441#define LACKS_SYS_PARAM_H 
     
    446444#define LACKS_SYS_TYPES_H 
    447445#define LACKS_ERRNO_H 
    448 #define USE_LOCKS 1 
     446#define USE_LOCKS 0 
    449447#define MALLOC_FAILURE_ACTION 
    450448 
     
    12731271 
    12741272#ifndef WIN32 
    1275 #define CALL_MUNMAP(a, s)    munmap((a), (s)) 
     1273#define CALL_MUNMAP(a, s)    SysMemoryUnmap((a), (s)) 
    12761274#define MMAP_PROT            (PROT_READ|PROT_WRITE) 
     1275 
    12771276#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) 
    12781277#define MAP_ANONYMOUS        MAP_ANON 
    12791278#endif 
    1280 #ifdef MAP_ANONYMOUS 
    1281 #define MMAP_FLAGS           (MAP_PRIVATE|MAP_ANONYMOUS) 
    1282 #define CALL_MMAP(s)         mmap(0, (s), MMAP_PROT, MMAP_FLAGS, -1, 0) 
    1283 #else 
    1284 /* 
    1285    Nearly all versions of mmap support MAP_ANONYMOUS, so the following 
    1286    is unlikely to be needed, but is supplied just in case. 
    1287 */ 
    1288 #define MMAP_FLAGS           (MAP_PRIVATE) 
    1289 static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */ 
    1290 #define CALL_MMAP(s) ((dev_zero_fd < 0) ? \ 
    1291            (dev_zero_fd = open("/dev/zero", O_RDWR), \ 
    1292             mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0)) : \ 
    1293             mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0)) 
    1294 #endif 
     1279 
     1280#define MMAP_FLAGS           (_SYS_MMAP_PRIVATE) 
     1281#define CALL_MMAP(s)         SysMemoryMap(0, (s), 7, -1, 0, MMAP_FLAGS) 
    12951282 
    12961283#define DIRECT_MMAP(s)       CALL_MMAP(s)