aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
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/buffer.c
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/buffer.c')
-rw-r--r--src/buffer.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 591f585a7a9..39d08950bf8 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1511,7 +1511,6 @@ list first, followed by the list of all buffers. If no other buffer
1511exists, return the buffer `*scratch*' (creating it if necessary). */) 1511exists, return the buffer `*scratch*' (creating it if necessary). */)
1512 (Lisp_Object buffer, Lisp_Object visible_ok, Lisp_Object frame) 1512 (Lisp_Object buffer, Lisp_Object visible_ok, Lisp_Object frame)
1513{ 1513{
1514 USE_LOCAL_ALLOCA;
1515 struct frame *f = decode_any_frame (frame); 1514 struct frame *f = decode_any_frame (frame);
1516 Lisp_Object tail = f->buffer_list, pred = f->buffer_predicate; 1515 Lisp_Object tail = f->buffer_list, pred = f->buffer_predicate;
1517 Lisp_Object buf, notsogood = Qnil; 1516 Lisp_Object buf, notsogood = Qnil;
@@ -1570,7 +1569,6 @@ exists, return the buffer `*scratch*' (creating it if necessary). */)
1570Lisp_Object 1569Lisp_Object
1571other_buffer_safely (Lisp_Object buffer) 1570other_buffer_safely (Lisp_Object buffer)
1572{ 1571{
1573 USE_LOCAL_ALLOCA;
1574 Lisp_Object tail, buf; 1572 Lisp_Object tail, buf;
1575 1573
1576 FOR_EACH_LIVE_BUFFER (tail, buf) 1574 FOR_EACH_LIVE_BUFFER (tail, buf)
@@ -5240,7 +5238,6 @@ init_buffer_once (void)
5240void 5238void
5241init_buffer (int initialized) 5239init_buffer (int initialized)
5242{ 5240{
5243 USE_LOCAL_ALLOCA;
5244 char *pwd; 5241 char *pwd;
5245 Lisp_Object temp; 5242 Lisp_Object temp;
5246 ptrdiff_t len; 5243 ptrdiff_t len;