aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Love2003-01-24 12:24:33 +0000
committerDave Love2003-01-24 12:24:33 +0000
commit422eec7eb8eeff342c2a4fdc84c592b681ca4256 (patch)
tree54ddf59cd41d6339bb298f58fc963166956e9f5a
parente7b6b57283dfae891cc6ea9704c06145f1804c94 (diff)
downloademacs-422eec7eb8eeff342c2a4fdc84c592b681ca4256.tar.gz
emacs-422eec7eb8eeff342c2a4fdc84c592b681ca4256.zip
(mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
Use __alignof__.
-rw-r--r--src/ChangeLog8
-rw-r--r--src/alloc.c7
2 files changed, 15 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ad2da41b98c..66939d965d0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12003-01-24 Dave Love <fx@gnu.org>
2
3 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
4 architectures.
5
6 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
7 Use __alignof__.
8
12003-01-24 Kenichi Handa <handa@m17n.org> 92003-01-24 Kenichi Handa <handa@m17n.org>
2 10
3 * keyboard.c (adjust_point_for_property): New second arg MODIFIED. 11 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
diff --git a/src/alloc.c b/src/alloc.c
index 10c4f6f235d..fb15f883175 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -3774,6 +3774,9 @@ mark_stack ()
3774 3774
3775 /* This trick flushes the register windows so that all the state of 3775 /* This trick flushes the register windows so that all the state of
3776 the process is contained in the stack. */ 3776 the process is contained in the stack. */
3777 /* Fixme: Code in the Boehm GC sugests flushing (with `flushrs') is
3778 needed on ia64 too. See mach_dep.c, where it also says inline
3779 assembler doesn't work with relevant proprietary compilers. */
3777#ifdef sparc 3780#ifdef sparc
3778 asm ("ta 3"); 3781 asm ("ta 3");
3779#endif 3782#endif
@@ -3804,8 +3807,12 @@ mark_stack ()
3804 that's not the case, something has to be done here to iterate 3807 that's not the case, something has to be done here to iterate
3805 over the stack segments. */ 3808 over the stack segments. */
3806#ifndef GC_LISP_OBJECT_ALIGNMENT 3809#ifndef GC_LISP_OBJECT_ALIGNMENT
3810#ifdef __GNUC__
3811#define GC_LISP_OBJECT_ALIGNMENT __alignof__ (Lisp_Object)
3812#else
3807#define GC_LISP_OBJECT_ALIGNMENT sizeof (Lisp_Object) 3813#define GC_LISP_OBJECT_ALIGNMENT sizeof (Lisp_Object)
3808#endif 3814#endif
3815#endif
3809 for (i = 0; i < sizeof (Lisp_Object); i += GC_LISP_OBJECT_ALIGNMENT) 3816 for (i = 0; i < sizeof (Lisp_Object); i += GC_LISP_OBJECT_ALIGNMENT)
3810 mark_memory ((char *) stack_base + i, end); 3817 mark_memory ((char *) stack_base + i, end);
3811 3818