aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.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/process.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/process.c')
-rw-r--r--src/process.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/src/process.c b/src/process.c
index 28b55d36815..f6484d0370e 100644
--- a/src/process.c
+++ b/src/process.c
@@ -592,7 +592,6 @@ decode_status (Lisp_Object l, Lisp_Object *symbol, int *code, bool *coredump)
592static Lisp_Object 592static Lisp_Object
593status_message (struct Lisp_Process *p) 593status_message (struct Lisp_Process *p)
594{ 594{
595 USE_LOCAL_ALLOCA;
596 Lisp_Object status = p->status; 595 Lisp_Object status = p->status;
597 Lisp_Object symbol; 596 Lisp_Object symbol;
598 int code; 597 int code;
@@ -1291,8 +1290,6 @@ number in the string, even when present in ADDRESS.
1291Returns nil if format of ADDRESS is invalid. */) 1290Returns nil if format of ADDRESS is invalid. */)
1292 (Lisp_Object address, Lisp_Object omit_port) 1291 (Lisp_Object address, Lisp_Object omit_port)
1293{ 1292{
1294 USE_LOCAL_ALLOCA;
1295
1296 if (NILP (address)) 1293 if (NILP (address))
1297 return Qnil; 1294 return Qnil;
1298 1295
@@ -4006,7 +4003,6 @@ static EMACS_INT connect_counter = 0;
4006static void 4003static void
4007server_accept_connection (Lisp_Object server, int channel) 4004server_accept_connection (Lisp_Object server, int channel)
4008{ 4005{
4009 USE_LOCAL_ALLOCA;
4010 Lisp_Object proc, caller, name, buffer; 4006 Lisp_Object proc, caller, name, buffer;
4011 Lisp_Object contact, host, service; 4007 Lisp_Object contact, host, service;
4012 struct Lisp_Process *ps= XPROCESS (server); 4008 struct Lisp_Process *ps= XPROCESS (server);