summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog12
-rw-r--r--src/lisp.h2
-rw-r--r--src/s/aix4-2.h4
-rw-r--r--src/s/cygwin.h6
-rw-r--r--src/s/darwin.h3
-rw-r--r--src/s/freebsd.h3
-rw-r--r--src/s/gnu-linux.h3
-rw-r--r--src/s/gnu.h3
-rw-r--r--src/s/hpux10-20.h4
-rw-r--r--src/s/irix6-5.h1
-rw-r--r--src/s/msdos.h1
-rw-r--r--src/s/netbsd.h3
-rw-r--r--src/s/sol2-6.h1
-rw-r--r--src/s/unixware.h4
14 files changed, 27 insertions, 23 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6d2ed01baf..c3a72f335a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,15 @@
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926).
+ * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS.
+ * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h:
+ * s/netbsd.h, s/sol2-6.h:
+ Remove definition of GC_MARK_STACK, since the default now works.
+ * s/aix4-2.h, s/hpux10-20.h, s/unixware.h:
+ Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's
+ no longer the default.
+ * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default.
+
2012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
* lread.c (lisp_file_lexically_bound_p):
diff --git a/src/lisp.h b/src/lisp.h
index 6041cad0d3..81d17f4b92 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2221,7 +2221,7 @@ struct gcpro
#define GC_USE_GCPROS_CHECK_ZOMBIES 3
#ifndef GC_MARK_STACK
-#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
+#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
#endif
/* Whether we do the stack marking manually. */
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 37b041396f..354ffda098 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -75,3 +75,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
Emacs currently calls xrealloc on the results of get_current_dir name,
to avoid a crash just use the Emacs implementation for that function. */
#define BROKEN_GET_CURRENT_DIR_NAME 1
+
+/* Conservative garbage collection has not been tested, so for now
+ play it safe and stick with the old-fashioned way of marking. */
+#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
diff --git a/src/s/cygwin.h b/src/s/cygwin.h
index f8c656e8eb..9310890351 100644
--- a/src/s/cygwin.h
+++ b/src/s/cygwin.h
@@ -82,12 +82,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define HAVE_SOCKETS
-/* This should work (at least when compiling with gcc). But I have no way
- or intention to verify or even test it. If you encounter a problem with
- it, feel free to change this setting, but please add a comment here about
- why it needed to be changed. */
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
-
/* Emacs supplies its own malloc, but glib (part of Gtk+) calls
memalign and on Cygwin, that becomes the Cygwin-supplied memalign.
As malloc is not the Cygwin malloc, the Cygwin memalign always
diff --git a/src/s/darwin.h b/src/s/darwin.h
index 9ac9e91fd9..7c8e26f46c 100644
--- a/src/s/darwin.h
+++ b/src/s/darwin.h
@@ -145,6 +145,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
It is already a controlling terminal of subprocess, because we did
ioctl TIOCSCTTY. */
#define DONT_REOPEN_PTY
-
-/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
diff --git a/src/s/freebsd.h b/src/s/freebsd.h
index c74605fe36..05be07695c 100644
--- a/src/s/freebsd.h
+++ b/src/s/freebsd.h
@@ -58,6 +58,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Tell that garbage collector that setjmp is known to save all
registers relevant for conservative garbage collection in the jmp_buf. */
#define GC_SETJMP_WORKS 1
-
-/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index c1233c0e6c..d04ea33068 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -145,7 +145,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|| defined __arm__ || defined __powerpc__ || defined __amd64__ \
|| defined __ia64__ || defined __sh__
#define GC_SETJMP_WORKS 1
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
#ifdef __ia64__
#define GC_MARK_SECONDARY_STACK() \
do { \
@@ -155,4 +154,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
__builtin_ia64_bsp ()); \
} while (0)
#endif
+#else
+#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
#endif
diff --git a/src/s/gnu.h b/src/s/gnu.h
index 37aaa1357c..a09e0e824c 100644
--- a/src/s/gnu.h
+++ b/src/s/gnu.h
@@ -45,6 +45,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif /* emacs */
#define POSIX_SIGNALS 1
-
-/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index becb5d3464..3e25b1bd0d 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -100,6 +100,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
header sections which lose when `static' is defined away, as it is
on HP-UX. (You get duplicate symbol errors on linking). */
#undef _FILE_OFFSET_BITS
+
+/* Conservative garbage collection has not been tested, so for now
+ play it safe and stick with the old-fashioned way of marking. */
+#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
/* The data segment on this machine always starts at address 0x40000000. */
#define DATA_SEG_BITS 0x40000000
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h
index 32374498fe..e5d90c1bd5 100644
--- a/src/s/irix6-5.h
+++ b/src/s/irix6-5.h
@@ -95,7 +95,6 @@ char *_getpty();
/* Tested on Irix 6.5. SCM worked on earlier versions. */
#define GC_SETJMP_WORKS 1
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
/* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
diff --git a/src/s/msdos.h b/src/s/msdos.h
index cde24147c5..add2902d5f 100644
--- a/src/s/msdos.h
+++ b/src/s/msdos.h
@@ -137,4 +137,3 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
/* Tell the garbage collector that setjmp is known to save all
registers relevant for conservative garbage collection in the jmp_buf. */
#define GC_SETJMP_WORKS 1
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index f25023fb61..ce3b2afa1b 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -38,6 +38,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Tell that garbage collector that setjmp is known to save all
registers relevant for conservative garbage collection in the jmp_buf. */
#define GC_SETJMP_WORKS 1
-
-/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
diff --git a/src/s/sol2-6.h b/src/s/sol2-6.h
index a9fefcb199..bb7a9859b7 100644
--- a/src/s/sol2-6.h
+++ b/src/s/sol2-6.h
@@ -59,4 +59,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
}
#define GC_SETJMP_WORKS 1
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
diff --git a/src/s/unixware.h b/src/s/unixware.h
index 22c396a060..63c36ee40c 100644
--- a/src/s/unixware.h
+++ b/src/s/unixware.h
@@ -50,3 +50,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
}
#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)
+
+/* Conservative garbage collection has not been tested, so for now
+ play it safe and stick with the old-fashioned way of marking. */
+#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE