diff options
| author | Paul Eggert | 2012-04-13 23:18:49 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-04-13 23:18:49 -0700 |
| commit | b948ce8b0244181c9e08d6bfc635ead24b4e9742 (patch) | |
| tree | 5f8b392f53b88dc2759cb29af6189910d6660e9a | |
| parent | 5ae255c7e9a2bd1ac594afe99fb24e9a0091d414 (diff) | |
| download | emacs-b948ce8b0244181c9e08d6bfc635ead24b4e9742.tar.gz emacs-b948ce8b0244181c9e08d6bfc635ead24b4e9742.zip | |
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.
| -rw-r--r-- | src/ChangeLog | 12 | ||||
| -rw-r--r-- | src/lisp.h | 2 | ||||
| -rw-r--r-- | src/s/aix4-2.h | 4 | ||||
| -rw-r--r-- | src/s/cygwin.h | 6 | ||||
| -rw-r--r-- | src/s/darwin.h | 3 | ||||
| -rw-r--r-- | src/s/freebsd.h | 3 | ||||
| -rw-r--r-- | src/s/gnu-linux.h | 3 | ||||
| -rw-r--r-- | src/s/gnu.h | 3 | ||||
| -rw-r--r-- | src/s/hpux10-20.h | 4 | ||||
| -rw-r--r-- | src/s/irix6-5.h | 1 | ||||
| -rw-r--r-- | src/s/msdos.h | 1 | ||||
| -rw-r--r-- | src/s/netbsd.h | 3 | ||||
| -rw-r--r-- | src/s/sol2-6.h | 1 | ||||
| -rw-r--r-- | src/s/unixware.h | 4 |
14 files changed, 27 insertions, 23 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6d2ed01bafc..c3a72f335a1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2012-04-14 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926). | ||
| 4 | * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS. | ||
| 5 | * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h: | ||
| 6 | * s/netbsd.h, s/sol2-6.h: | ||
| 7 | Remove definition of GC_MARK_STACK, since the default now works. | ||
| 8 | * s/aix4-2.h, s/hpux10-20.h, s/unixware.h: | ||
| 9 | Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's | ||
| 10 | no longer the default. | ||
| 11 | * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default. | ||
| 12 | |||
| 1 | 2012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change) | 13 | 2012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change) |
| 2 | 14 | ||
| 3 | * lread.c (lisp_file_lexically_bound_p): | 15 | * lread.c (lisp_file_lexically_bound_p): |
diff --git a/src/lisp.h b/src/lisp.h index 6041cad0d3f..81d17f4b922 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2221,7 +2221,7 @@ struct gcpro | |||
| 2221 | #define GC_USE_GCPROS_CHECK_ZOMBIES 3 | 2221 | #define GC_USE_GCPROS_CHECK_ZOMBIES 3 |
| 2222 | 2222 | ||
| 2223 | #ifndef GC_MARK_STACK | 2223 | #ifndef GC_MARK_STACK |
| 2224 | #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE | 2224 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
| 2225 | #endif | 2225 | #endif |
| 2226 | 2226 | ||
| 2227 | /* Whether we do the stack marking manually. */ | 2227 | /* Whether we do the stack marking manually. */ |
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h index 37b041396f9..354ffda0988 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/>. */ | |||
| 75 | Emacs currently calls xrealloc on the results of get_current_dir name, | 75 | Emacs currently calls xrealloc on the results of get_current_dir name, |
| 76 | to avoid a crash just use the Emacs implementation for that function. */ | 76 | to avoid a crash just use the Emacs implementation for that function. */ |
| 77 | #define BROKEN_GET_CURRENT_DIR_NAME 1 | 77 | #define BROKEN_GET_CURRENT_DIR_NAME 1 |
| 78 | |||
| 79 | /* Conservative garbage collection has not been tested, so for now | ||
| 80 | play it safe and stick with the old-fashioned way of marking. */ | ||
| 81 | #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE | ||
diff --git a/src/s/cygwin.h b/src/s/cygwin.h index f8c656e8ebc..9310890351e 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/>. */ | |||
| 82 | 82 | ||
| 83 | #define HAVE_SOCKETS | 83 | #define HAVE_SOCKETS |
| 84 | 84 | ||
| 85 | /* This should work (at least when compiling with gcc). But I have no way | ||
| 86 | or intention to verify or even test it. If you encounter a problem with | ||
| 87 | it, feel free to change this setting, but please add a comment here about | ||
| 88 | why it needed to be changed. */ | ||
| 89 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
| 90 | |||
| 91 | /* Emacs supplies its own malloc, but glib (part of Gtk+) calls | 85 | /* Emacs supplies its own malloc, but glib (part of Gtk+) calls |
| 92 | memalign and on Cygwin, that becomes the Cygwin-supplied memalign. | 86 | memalign and on Cygwin, that becomes the Cygwin-supplied memalign. |
| 93 | As malloc is not the Cygwin malloc, the Cygwin memalign always | 87 | As malloc is not the Cygwin malloc, the Cygwin memalign always |
diff --git a/src/s/darwin.h b/src/s/darwin.h index 9ac9e91fd9d..7c8e26f46cc 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/>. */ | |||
| 145 | It is already a controlling terminal of subprocess, because we did | 145 | It is already a controlling terminal of subprocess, because we did |
| 146 | ioctl TIOCSCTTY. */ | 146 | ioctl TIOCSCTTY. */ |
| 147 | #define DONT_REOPEN_PTY | 147 | #define DONT_REOPEN_PTY |
| 148 | |||
| 149 | /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ | ||
| 150 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
diff --git a/src/s/freebsd.h b/src/s/freebsd.h index c74605fe366..05be07695cb 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/>. */ | |||
| 58 | /* Tell that garbage collector that setjmp is known to save all | 58 | /* Tell that garbage collector that setjmp is known to save all |
| 59 | registers relevant for conservative garbage collection in the jmp_buf. */ | 59 | registers relevant for conservative garbage collection in the jmp_buf. */ |
| 60 | #define GC_SETJMP_WORKS 1 | 60 | #define GC_SETJMP_WORKS 1 |
| 61 | |||
| 62 | /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ | ||
| 63 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h index c1233c0e6ce..d04ea33068a 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/>. */ | |||
| 145 | || defined __arm__ || defined __powerpc__ || defined __amd64__ \ | 145 | || defined __arm__ || defined __powerpc__ || defined __amd64__ \ |
| 146 | || defined __ia64__ || defined __sh__ | 146 | || defined __ia64__ || defined __sh__ |
| 147 | #define GC_SETJMP_WORKS 1 | 147 | #define GC_SETJMP_WORKS 1 |
| 148 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
| 149 | #ifdef __ia64__ | 148 | #ifdef __ia64__ |
| 150 | #define GC_MARK_SECONDARY_STACK() \ | 149 | #define GC_MARK_SECONDARY_STACK() \ |
| 151 | do { \ | 150 | do { \ |
| @@ -155,4 +154,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 155 | __builtin_ia64_bsp ()); \ | 154 | __builtin_ia64_bsp ()); \ |
| 156 | } while (0) | 155 | } while (0) |
| 157 | #endif | 156 | #endif |
| 157 | #else | ||
| 158 | #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE | ||
| 158 | #endif | 159 | #endif |
diff --git a/src/s/gnu.h b/src/s/gnu.h index 37aaa1357cc..a09e0e824c9 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/>. */ | |||
| 45 | #endif /* emacs */ | 45 | #endif /* emacs */ |
| 46 | 46 | ||
| 47 | #define POSIX_SIGNALS 1 | 47 | #define POSIX_SIGNALS 1 |
| 48 | |||
| 49 | /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ | ||
| 50 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h index becb5d3464e..3e25b1bd0d9 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/>. */ | |||
| 100 | header sections which lose when `static' is defined away, as it is | 100 | header sections which lose when `static' is defined away, as it is |
| 101 | on HP-UX. (You get duplicate symbol errors on linking). */ | 101 | on HP-UX. (You get duplicate symbol errors on linking). */ |
| 102 | #undef _FILE_OFFSET_BITS | 102 | #undef _FILE_OFFSET_BITS |
| 103 | |||
| 104 | /* Conservative garbage collection has not been tested, so for now | ||
| 105 | play it safe and stick with the old-fashioned way of marking. */ | ||
| 106 | #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE | ||
| 103 | 107 | ||
| 104 | /* The data segment on this machine always starts at address 0x40000000. */ | 108 | /* The data segment on this machine always starts at address 0x40000000. */ |
| 105 | #define DATA_SEG_BITS 0x40000000 | 109 | #define DATA_SEG_BITS 0x40000000 |
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h index 32374498fe7..e5d90c1bd5d 100644 --- a/src/s/irix6-5.h +++ b/src/s/irix6-5.h | |||
| @@ -95,7 +95,6 @@ char *_getpty(); | |||
| 95 | 95 | ||
| 96 | /* Tested on Irix 6.5. SCM worked on earlier versions. */ | 96 | /* Tested on Irix 6.5. SCM worked on earlier versions. */ |
| 97 | #define GC_SETJMP_WORKS 1 | 97 | #define GC_SETJMP_WORKS 1 |
| 98 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
| 99 | 98 | ||
| 100 | 99 | ||
| 101 | /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which | 100 | /* 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 cde24147c57..add2902d5f3 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 */ | |||
| 137 | /* Tell the garbage collector that setjmp is known to save all | 137 | /* Tell the garbage collector that setjmp is known to save all |
| 138 | registers relevant for conservative garbage collection in the jmp_buf. */ | 138 | registers relevant for conservative garbage collection in the jmp_buf. */ |
| 139 | #define GC_SETJMP_WORKS 1 | 139 | #define GC_SETJMP_WORKS 1 |
| 140 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
diff --git a/src/s/netbsd.h b/src/s/netbsd.h index f25023fb615..ce3b2afa1bb 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/>. */ | |||
| 38 | /* Tell that garbage collector that setjmp is known to save all | 38 | /* Tell that garbage collector that setjmp is known to save all |
| 39 | registers relevant for conservative garbage collection in the jmp_buf. */ | 39 | registers relevant for conservative garbage collection in the jmp_buf. */ |
| 40 | #define GC_SETJMP_WORKS 1 | 40 | #define GC_SETJMP_WORKS 1 |
| 41 | |||
| 42 | /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */ | ||
| 43 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
diff --git a/src/s/sol2-6.h b/src/s/sol2-6.h index a9fefcb1992..bb7a9859b7d 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/>. */ | |||
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | #define GC_SETJMP_WORKS 1 | 61 | #define GC_SETJMP_WORKS 1 |
| 62 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
diff --git a/src/s/unixware.h b/src/s/unixware.h index 22c396a060e..63c36ee40c2 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/>. */ | |||
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) | 52 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) |
| 53 | |||
| 54 | /* Conservative garbage collection has not been tested, so for now | ||
| 55 | play it safe and stick with the old-fashioned way of marking. */ | ||
| 56 | #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE | ||