diff options
| author | Ken Brown | 2014-08-28 10:48:02 -0400 |
|---|---|---|
| committer | Ken Brown | 2014-08-28 10:48:02 -0400 |
| commit | ea652500776aacbb8cb64f9ecca16a2d2c7add80 (patch) | |
| tree | c759fc62dfa422e8fb636aef6dbb04df2c68cc7e /src/ChangeLog | |
| parent | a7ef7a0e53ae1f391f4bda207bb5e9b9d833d354 (diff) | |
| download | emacs-ea652500776aacbb8cb64f9ecca16a2d2c7add80.tar.gz emacs-ea652500776aacbb8cb64f9ecca16a2d2c7add80.zip | |
Add support for HYBRID_MALLOC, allowing the use of gmalloc before
dumping and the system malloc after dumping. (Bug#18222)
* configure.ac (HYBRID_MALLOC): New macro; define to use gmalloc
before dumping and the system malloc after dumping. Define on Cygwin.
* src/conf_post.h (malloc, realloc, calloc, free) [HYBRID_MALLOC]:
Define as macros, expanding to hybrid_malloc, etc.
(HYBRID_GET_CURRENT_DIR_NAME): New macro.
(get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Define as
macro.
* src/gmalloc.c: Set up the infrastructure for HYBRID_MALLOC, with a
full implementation on Cygwin. Remove Cygwin-specific code that
is no longer needed.
(malloc, realloc, calloc, free, aligned_alloc) [HYBRID_MALLOC]:
Redefine as macros expanding to gmalloc, grealloc, etc.
(DUMPED, ALLOCATED_BEFORE_DUMPING) [CYGWIN]: New macros.
(get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Undefine.
(USE_PTHREAD, posix_memalign) [HYBRID_MALLOC]: Don't define.
(hybrid_malloc, hybrid_calloc, hybrid_free, hybrid_realloc)
[HYBRID_MALLOC]:
(hybrid_get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
(hybrid_aligned_alloc) [HYBRID_MALLOC && (HAVE_ALIGNED_ALLOC ||
HAVE_POSIX_MEMALIGN)]: New functions.
* src/alloc.c (aligned_alloc) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
HAVE_POSIX_MEMALIGN)]: Define as macro expanding to
hybrid_aligned_alloc; declare.
(USE_ALIGNED_ALLOC) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
HAVE_POSIX_MEMALIGN)]: Define.
(refill_memory_reserve) [HYBRID_MALLOC]: Do nothing.
* src/sysdep.c (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
Define as macro, expanding to gget_current_dir_name, and define
the latter.
* src/emacs.c (main) [HYBRID_MALLOC]: Don't call memory_warnings() or
malloc_enable_thread(). Don't initialize malloc.
* src/lisp.h (NONPOINTER_BITS) [CYGWIN]: Define (because GNU_MALLOC is
no longer defined on Cygwin).
(refill_memory_reserve) [HYBRID_MALLOC]: Don't declare.
* src/sheap.c (bss_sbrk_buffer_end): New variable.
* src/unexcw.c (__malloc_initialized): Remove variable.
* src/ralloc.c: Throughout, treat HYBRID_MALLOC the same as
SYSTEM_MALLOC.
* src/xdisp.c (decode_mode_spec) [HYBRID_MALLOC]: Don't check
Vmemory_full.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d0eec16a60a..05c3c5cf65b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,47 @@ | |||
| 1 | 2014-08-28 Ken Brown <kbrown@cornell.edu> | ||
| 2 | |||
| 3 | Add support for HYBRID_MALLOC, allowing the use of gmalloc before | ||
| 4 | dumping and the system malloc after dumping. (Bug#18222) | ||
| 5 | |||
| 6 | * conf_post.h (malloc, realloc, calloc, free) [HYBRID_MALLOC]: | ||
| 7 | Define as macros, expanding to hybrid_malloc, etc. | ||
| 8 | (HYBRID_GET_CURRENT_DIR_NAME): New macro. | ||
| 9 | (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Define as | ||
| 10 | macro. | ||
| 11 | * gmalloc.c: Set up the infrastructure for HYBRID_MALLOC, with a | ||
| 12 | full implementation on Cygwin. Remove Cygwin-specific code that | ||
| 13 | is no longer needed. | ||
| 14 | (malloc, realloc, calloc, free, aligned_alloc) [HYBRID_MALLOC]: | ||
| 15 | Redefine as macros expanding to gmalloc, grealloc, etc. | ||
| 16 | (DUMPED, ALLOCATED_BEFORE_DUMPING) [CYGWIN]: New macros. | ||
| 17 | (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Undefine. | ||
| 18 | (USE_PTHREAD, posix_memalign) [HYBRID_MALLOC]: Don't define. | ||
| 19 | (hybrid_malloc, hybrid_calloc, hybrid_free, hybrid_realloc) | ||
| 20 | [HYBRID_MALLOC]: | ||
| 21 | (hybrid_get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: | ||
| 22 | (hybrid_aligned_alloc) [HYBRID_MALLOC && (HAVE_ALIGNED_ALLOC || | ||
| 23 | HAVE_POSIX_MEMALIGN)]: New functions. | ||
| 24 | * alloc.c (aligned_alloc) [HYBRID_MALLOC && (ALIGNED_ALLOC || | ||
| 25 | HAVE_POSIX_MEMALIGN)]: Define as macro expanding to | ||
| 26 | hybrid_aligned_alloc; declare. | ||
| 27 | (USE_ALIGNED_ALLOC) [HYBRID_MALLOC && (ALIGNED_ALLOC || | ||
| 28 | HAVE_POSIX_MEMALIGN)]: Define. | ||
| 29 | (refill_memory_reserve) [HYBRID_MALLOC]: Do nothing. | ||
| 30 | * sysdep.c (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: | ||
| 31 | Define as macro, expanding to gget_current_dir_name, and define | ||
| 32 | the latter. | ||
| 33 | * emacs.c (main) [HYBRID_MALLOC]: Don't call memory_warnings() or | ||
| 34 | malloc_enable_thread(). Don't initialize malloc. | ||
| 35 | * lisp.h (NONPOINTER_BITS) [CYGWIN]: Define (because GNU_MALLOC is | ||
| 36 | no longer defined on Cygwin). | ||
| 37 | (refill_memory_reserve) [HYBRID_MALLOC]: Don't declare. | ||
| 38 | * sheap.c (bss_sbrk_buffer_end): New variable. | ||
| 39 | * unexcw.c (__malloc_initialized): Remove variable. | ||
| 40 | * ralloc.c: Throughout, treat HYBRID_MALLOC the same as | ||
| 41 | SYSTEM_MALLOC. | ||
| 42 | * xdisp.c (decode_mode_spec) [HYBRID_MALLOC]: Don't check | ||
| 43 | Vmemory_full. | ||
| 44 | |||
| 1 | 2014-08-28 Martin Rudalics <rudalics@gmx.at> | 45 | 2014-08-28 Martin Rudalics <rudalics@gmx.at> |
| 2 | 46 | ||
| 3 | * w32term.c (w32_horizontal_scroll_bar_handle_click): In | 47 | * w32term.c (w32_horizontal_scroll_bar_handle_click): In |