diff options
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/alloc.c b/src/alloc.c index 6f379ef35f9..fd1334a6ef7 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -4312,12 +4312,6 @@ static void | |||
| 4312 | mark_stack (void) | 4312 | mark_stack (void) |
| 4313 | { | 4313 | { |
| 4314 | int i; | 4314 | int i; |
| 4315 | /* jmp_buf may not be aligned enough on darwin-ppc64 */ | ||
| 4316 | union aligned_jmpbuf { | ||
| 4317 | Lisp_Object o; | ||
| 4318 | jmp_buf j; | ||
| 4319 | } j; | ||
| 4320 | volatile int stack_grows_down_p = (char *) &j > (char *) stack_base; | ||
| 4321 | void *end; | 4315 | void *end; |
| 4322 | 4316 | ||
| 4323 | #ifdef HAVE___BUILTIN_UNWIND_INIT | 4317 | #ifdef HAVE___BUILTIN_UNWIND_INIT |
| @@ -4327,6 +4321,14 @@ mark_stack (void) | |||
| 4327 | __builtin_unwind_init (); | 4321 | __builtin_unwind_init (); |
| 4328 | end = &end; | 4322 | end = &end; |
| 4329 | #else /* not HAVE___BUILTIN_UNWIND_INIT */ | 4323 | #else /* not HAVE___BUILTIN_UNWIND_INIT */ |
| 4324 | #ifndef GC_SAVE_REGISTERS_ON_STACK | ||
| 4325 | /* jmp_buf may not be aligned enough on darwin-ppc64 */ | ||
| 4326 | union aligned_jmpbuf { | ||
| 4327 | Lisp_Object o; | ||
| 4328 | jmp_buf j; | ||
| 4329 | } j; | ||
| 4330 | volatile int stack_grows_down_p = (char *) &j > (char *) stack_base; | ||
| 4331 | #endif | ||
| 4330 | /* This trick flushes the register windows so that all the state of | 4332 | /* This trick flushes the register windows so that all the state of |
| 4331 | the process is contained in the stack. */ | 4333 | the process is contained in the stack. */ |
| 4332 | /* Fixme: Code in the Boehm GC suggests flushing (with `flushrs') is | 4334 | /* Fixme: Code in the Boehm GC suggests flushing (with `flushrs') is |