[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r111496: Enable conservative stack sc
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r111496: Enable conservative stack scanning for all architectures. |
Date: |
Fri, 11 Jan 2013 21:21:06 -0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111496
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Fri 2013-01-11 21:21:06 -0800
message:
Enable conservative stack scanning for all architectures.
Suggested by Stefan Monnier in
<http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00183.html>.
* configure.ac (GC_MARK_STACK): Remove.
modified:
ChangeLog
configure.ac
src/lisp.h
=== modified file 'ChangeLog'
--- a/ChangeLog 2013-01-11 23:28:04 +0000
+++ b/ChangeLog 2013-01-12 05:21:06 +0000
@@ -1,3 +1,10 @@
+2013-01-12 Paul Eggert <address@hidden>
+
+ Enable conservative stack scanning for all architectures.
+ Suggested by Stefan Monnier in
+ <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00183.html>.
+ * configure.ac (GC_MARK_STACK): Remove.
+
2013-01-11 Paul Eggert <address@hidden>
* lib/getopt_.h: Remove trailing CRs that crept in.
=== modified file 'configure.ac'
--- a/configure.ac 2013-01-10 03:43:02 +0000
+++ b/configure.ac 2013-01-12 05:21:06 +0000
@@ -3777,22 +3777,13 @@
esac
-dnl These won't be used automatically yet. We also need to know, at least,
+dnl This won't be used automatically yet. We also need to know, at least,
dnl that the stack is continuous.
AH_TEMPLATE(GC_SETJMP_WORKS, [Define if setjmp is known to save all
registers relevant for conservative garbage collection in the jmp_buf.])
-AH_TEMPLATE(GC_MARK_STACK, [Define to GC_USE_GCPROS_AS_BEFORE if
- conservative garbage collection is not known to work.])
-
case $opsys in
- aix4-2 | hpux* | unixware)
- dnl Conservative garbage collection has not been tested, so for now
- dnl play it safe and stick with the old-fashioned way of marking.
- AC_DEFINE(GC_MARK_STACK, [GC_USE_GCPROS_AS_BEFORE])
- ;;
-
dnl Not all the architectures are tested, but there are Debian packages
dnl for SCM and/or Guile on them, so the technique must work. See also
dnl comments in alloc.c concerning setjmp and gcc.
@@ -3807,8 +3798,7 @@
#else
# error "setjmp not known to work on this arch"
#endif
- ]], [[]])], AC_DEFINE(GC_SETJMP_WORKS, 1),
- AC_DEFINE(GC_MARK_STACK, [GC_USE_GCPROS_AS_BEFORE]) )
+ ]], [[]])], AC_DEFINE(GC_SETJMP_WORKS, 1))
;;
esac
=== modified file 'src/lisp.h'
--- a/src/lisp.h 2013-01-11 13:25:10 +0000
+++ b/src/lisp.h 2013-01-12 05:21:06 +0000
@@ -2217,8 +2217,12 @@
2 Mark the stack, and check that everything GCPRO'd is
marked.
3 Mark using GCPRO's, mark stack last, and count how many
- dead objects are kept alive. */
+ dead objects are kept alive.
+ Formerly, method 0 was used. Currently, method 1 is used unless
+ otherwise specified by hand when building, e.g.,
+ "make CPPFLAGS='-DGC_MARK_STACK=GC_USE_GCPROS_AS_BEFORE'".
+ Methods 2 and 3 are present mainly to debug the transition from 0 to 1. */
#define GC_USE_GCPROS_AS_BEFORE 0
#define GC_MAKE_GCPROS_NOOPS 1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r111496: Enable conservative stack scanning for all architectures.,
Paul Eggert <=