Use mmap(2) emulation for buffer text on MS-Windows.
authorFabrice Popineau <fabrice.popineau@gmail.com>
Tue, 27 May 2014 17:31:17 +0000 (20:31 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 27 May 2014 17:31:17 +0000 (20:31 +0300)
commit587fd086a045f715932f886ecf31015932464ce6
treed8c647af107ef94318fd920a05da09af654ef1c9
parent0da7d35c6754b44d1ef4383e4a8ba9b98afc3a4c
Use mmap(2) emulation for buffer text on MS-Windows.

 src/Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
 configure.
 (ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.
 src/lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
 for MinGW, since it no longer uses gmalloc.
 src/buffer.c: Do not define mmap allocations functions for Windows.
 Remove mmap_find which is unused. Remove mmap_set_vars which does
 nothing useful.
 [WINDOWSNT]: Include w32heap.h.
 (init_buffer): Always allocate new memory for buffers.
 src/emacs.c: Remove mmap_set_vars calls.
 src/image.c (free_image): Undef free for Windows because it is
 redirected to our private version.
 src/unexw32.c (COPY_PROC_CHUNK): Use %p format for 64bits
 compatibility.
 (copy_executable_and_dump_data): Remove dumping the heap section.
 (unexec): Restore using_dynamic_heap after dumping.
 src/w32heap.c (dumped_data_commit, malloc_after_dump)
 (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 (free_after_dump, free_before_dump, mmap_alloc, mmap_realloc)
 (mmap_free): New functions.
 src/w32heap.h: Declare dumped_data and mmap_* function prototypes.

 nt/inc/ms-w32.h: Switch to the system heap allocation scheme
 instead of GNU malloc and ralloc.
 nt/inc/sys/mman.h: New file.
 nt/INSTALL: Update for the new build requirements.

 etc/NEWS: Mention build changes on MS-Windows.

 configure.ac (C_HEAP_SWITCH) define for different values of
 dumped heap size depending on 32/64bits arch on Windows.
 Don't check for pthreads.h on MinGW32/64, it gets in the way.
 Use mmap(2) for buffers and system malloc for MinGW32/64.
17 files changed:
ChangeLog
configure.ac
etc/ChangeLog
etc/NEWS
nt/ChangeLog
nt/INSTALL
nt/inc/ms-w32.h
nt/inc/sys/mman.h [new file with mode: 0644]
src/ChangeLog
src/Makefile.in
src/buffer.c
src/emacs.c
src/image.c
src/lisp.h
src/unexw32.c
src/w32heap.c
src/w32heap.h