aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDmitry Antipov2014-09-24 15:59:13 +0400
committerDmitry Antipov2014-09-24 15:59:13 +0400
commite9a86416c68240e1894d32e158cdf2abb5c4e477 (patch)
tree041e1e73945e07b5dfc7b63cdb0885fb6e4ec487 /src
parentc0b1b0371527124f34f505bdac6f2a1cdf8e37b9 (diff)
downloademacs-e9a86416c68240e1894d32e158cdf2abb5c4e477.tar.gz
emacs-e9a86416c68240e1894d32e158cdf2abb5c4e477.zip
* lisp.h (USE_STACK_LISP_OBJECTS): Enable by default if GNU_LINUX
&& __GNUC__ && !__clang__. Mention known problems. Adjust comment.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/lisp.h15
2 files changed, 16 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ec4f051f483..9e4492d2c90 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -36,6 +36,9 @@
36 (font_delete_unmatched): Use local_cons but respect MAX_ALLOCA. 36 (font_delete_unmatched): Use local_cons but respect MAX_ALLOCA.
37 * keymap.c (append_key): Use scoped_list1. 37 * keymap.c (append_key): Use scoped_list1.
38 38
39 * lisp.h (USE_STACK_LISP_OBJECTS): Enable by default if GNU_LINUX
40 && __GNUC__ && !__clang__. Mention known problems. Adjust comment.
41
392014-09-24 Paul Eggert <eggert@cs.ucla.edu> 422014-09-24 Paul Eggert <eggert@cs.ucla.edu>
40 43
41 Fix some slow uses and misuses of strcat. 44 Fix some slow uses and misuses of strcat.
diff --git a/src/lisp.h b/src/lisp.h
index deb4635d035..836557e492e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -282,7 +282,16 @@ error !;
282# endif 282# endif
283#endif 283#endif
284 284
285/* This should work on GNU/Linux with GCC. Other configurations may be
286 problematic and/or not tested yet. Clang is known to have problems,
287 see http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00506.html.
288 Also http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00422.html
289 describes an issues with 32-bit MS-Windows. */
285#ifndef USE_STACK_LISP_OBJECTS 290#ifndef USE_STACK_LISP_OBJECTS
291# if defined (GNU_LINUX) && defined (__GNUC__) && !defined (__clang__)
292# define USE_STACK_LISP_OBJECTS true
293# endif
294#else
286# define USE_STACK_LISP_OBJECTS false 295# define USE_STACK_LISP_OBJECTS false
287#endif 296#endif
288 297
@@ -4581,8 +4590,10 @@ extern void *record_xmalloc (size_t) ATTRIBUTE_ALLOC_SIZE ((1));
4581 better performance because GC is not involved. 4590 better performance because GC is not involved.
4582 4591
4583 This feature is experimental and requires careful debugging. 4592 This feature is experimental and requires careful debugging.
4584 Brave users can compile with CPPFLAGS='-DUSE_STACK_LISP_OBJECTS' 4593 It's enabled by default on GNU/Linux with GCC. On other systems,
4585 to get into the game. */ 4594 brave users can compile with CPPFLAGS='-DUSE_STACK_LISP_OBJECTS'
4595 to get into the game. Also note that this feature requires
4596 GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. */
4586 4597
4587/* A struct Lisp_Cons inside a union that is no larger and may be 4598/* A struct Lisp_Cons inside a union that is no larger and may be
4588 better-aligned. */ 4599 better-aligned. */