From: Tom Tromey Date: Sun, 25 Aug 2013 20:25:59 +0000 (-0600) Subject: merge from trunk X-Git-Tag: emacs-26.0.90~1144^2~17^2~20 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=793ea5055aea85ff9227e1bf0c84ab37edba7201;p=emacs.git merge from trunk --- 793ea5055aea85ff9227e1bf0c84ab37edba7201 diff --cc src/alloc.c index 4cc9b3e1a13,81742e1ffc1..9b5f2955aa5 --- a/src/alloc.c +++ b/src/alloc.c @@@ -4760,12 -4743,26 +4762,16 @@@ flush_stack_call_func (void (*func) (vo #endif /* not GC_SAVE_REGISTERS_ON_STACK */ #endif /* not HAVE___BUILTIN_UNWIND_INIT */ - /* This assumes that the stack is a contiguous region in memory. If - that's not the case, something has to be done here to iterate - over the stack segments. */ - mark_memory (stack_base, end); - - /* Allow for marking a secondary stack, like the register stack on the - ia64. */ -#ifdef GC_MARK_SECONDARY_STACK - GC_MARK_SECONDARY_STACK (); -#endif + self->stack_top = end; + (*func) (arg); -#if GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS - check_gcpros (); -#endif + eassert (current_thread == self); } + #else /* GC_MARK_STACK == 0 */ + + #define mark_maybe_object(obj) emacs_abort () + #endif /* GC_MARK_STACK != 0 */