aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorDmitry Antipov2014-09-29 10:44:31 +0400
committerDmitry Antipov2014-09-29 10:44:31 +0400
commit71a72686e3e81253f2bc0ad74568aafdbd86879c (patch)
treee2f2d44e9a01c782e71e8de88e3b345733c86fc7 /src/ChangeLog
parentc3301e3c7f146a3aa017fa24f6ed240d6ecbafb4 (diff)
downloademacs-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/ChangeLog25
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 @@
12014-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
12014-09-28 Ken Brown <kbrown@cornell.edu> 262014-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.