diff options
| author | Dmitry Antipov | 2014-09-29 10:44:31 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2014-09-29 10:44:31 +0400 |
| commit | 71a72686e3e81253f2bc0ad74568aafdbd86879c (patch) | |
| tree | e2f2d44e9a01c782e71e8de88e3b345733c86fc7 /src/ChangeLog | |
| parent | c3301e3c7f146a3aa017fa24f6ed240d6ecbafb4 (diff) | |
| download | emacs-71a72686e3e81253f2bc0ad74568aafdbd86879c.tar.gz emacs-71a72686e3e81253f2bc0ad74568aafdbd86879c.zip | |
Keep stack-allocated Lisp objects fast rather than versatile.
* configure.ac (HAVE_STATEMENT_EXPRESSIONS): Remove.
For USE_STACK_LISP_OBJECTS, we always assume __GNUC__.
* lisp.h (union Aligned_Cons) [!GCALIGNED]: Define as such.
(SCOPED_CONS_INITIALIZER): New macro.
(scoped_cons) [USE_STACK_LISP_OBJECTS]: Use it.
(USE_LOCAL_ALLOCA): Remove.
(local_cons, local_list1, local_list2, local_list3, local_list4):
Remove. Stack overflow checking makes them too slow.
(make_local_vector): Likewise. Also we just don't have enough
users for it.
(enum LISP_STRING_OVERHEAD): Remove.
(local_string_init, local_vector_init): Remove prototypes.
(make_local_string, build_local_string): Redesign to target short
compile-time string constants, fall back to regular string allocation
where appropriate.
(lisp_string_size): New function.
(verify_ascii) [ENABLE_CHECKING]: Add prototype.
* alloc.c (local_string_init, local_vector_init): Remove.
(verify_ascii) [ENABLE_CHECKING]: New function.
* buffer.c, charset.c, chartab.c, data.c, editfns.c, emacs.c, fileio.c:
* fns.c, font.c, fontset.c, frame.c, keyboard.c, keymap.c, lread.c:
* menu.c, minibuf.c, process.c, textprop.c, xdisp.c, xfns.c, xfont.c:
* xselect.c, xterm.c: All related users changed.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 20f9abd3ebf..89fc763fc53 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,28 @@ | |||
| 1 | 2014-09-29 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | Keep stack-allocated Lisp objects fast rather than versatile. | ||
| 4 | * lisp.h (union Aligned_Cons) [!GCALIGNED]: Define as such. | ||
| 5 | (SCOPED_CONS_INITIALIZER): New macro. | ||
| 6 | (scoped_cons) [USE_STACK_LISP_OBJECTS]: Use it. | ||
| 7 | (USE_LOCAL_ALLOCA): Remove. | ||
| 8 | (local_cons, local_list1, local_list2, local_list3, local_list4): | ||
| 9 | Remove. Stack overflow checking makes them too slow. | ||
| 10 | (make_local_vector): Likewise. Also we just don't have enough | ||
| 11 | users for it. | ||
| 12 | (enum LISP_STRING_OVERHEAD): Remove. | ||
| 13 | (local_string_init, local_vector_init): Remove prototypes. | ||
| 14 | (make_local_string, build_local_string): Redesign to target short | ||
| 15 | compile-time string constants, fall back to regular string allocation | ||
| 16 | where appropriate. | ||
| 17 | (lisp_string_size): New function. | ||
| 18 | (verify_ascii) [ENABLE_CHECKING]: Add prototype. | ||
| 19 | * alloc.c (local_string_init, local_vector_init): Remove. | ||
| 20 | (verify_ascii) [ENABLE_CHECKING]: New function. | ||
| 21 | * buffer.c, charset.c, chartab.c, data.c, editfns.c, emacs.c, fileio.c: | ||
| 22 | * fns.c, font.c, fontset.c, frame.c, keyboard.c, keymap.c, lread.c: | ||
| 23 | * menu.c, minibuf.c, process.c, textprop.c, xdisp.c, xfns.c, xfont.c: | ||
| 24 | * xselect.c, xterm.c: All related users changed. | ||
| 25 | |||
| 1 | 2014-09-28 Ken Brown <kbrown@cornell.edu> | 26 | 2014-09-28 Ken Brown <kbrown@cornell.edu> |
| 2 | 27 | ||
| 3 | * sheap.c (bss_sbrk_buffer_beg): Remove redundant variable. | 28 | * sheap.c (bss_sbrk_buffer_beg): Remove redundant variable. |