[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/alloc.c
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/alloc.c |
Date: |
Fri, 28 May 2004 18:11:18 -0400 |
Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.339 emacs/src/alloc.c:1.340
*** emacs/src/alloc.c:1.339 Tue May 25 11:18:07 2004
--- emacs/src/alloc.c Fri May 28 20:59:14 2004
***************
*** 256,261 ****
--- 256,262 ----
static void mark_buffer P_ ((Lisp_Object));
extern void mark_kboards P_ ((void));
+ extern void mark_backtrace P_ ((void));
static void gc_sweep P_ ((void));
static void mark_glyph_matrix P_ ((struct glyph_matrix *));
static void mark_face_cache P_ ((struct face_cache *));
***************
*** 4282,4301 ****
struct catchtag *next;
};
- struct backtrace
- {
- struct backtrace *next;
- Lisp_Object *function;
- Lisp_Object *args; /* Points to vector of args. */
- int nargs; /* Length of vector. */
- /* If nargs is UNEVALLED, args points to slot holding list of
- unevalled args. */
- char evalargs;
- /* Nonzero means call value of debugger when done with this operation. */
- char debug_on_exit;
- };
-
-
/***********************************************************************
Protection from GC
--- 4283,4288 ----
***************
*** 4330,4336 ****
register struct specbinding *bind;
struct catchtag *catch;
struct handler *handler;
- register struct backtrace *backlist;
char stack_top_variable;
register int i;
int message_p;
--- 4317,4322 ----
***************
*** 4459,4475 ****
mark_object (handler->handler);
mark_object (handler->var);
}
! for (backlist = backtrace_list; backlist; backlist = backlist->next)
! {
! mark_object (*backlist->function);
!
! if (backlist->nargs == UNEVALLED || backlist->nargs == MANY)
! i = 0;
! else
! i = backlist->nargs - 1;
! for (; i >= 0; i--)
! mark_object (backlist->args[i]);
! }
mark_kboards ();
#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
--- 4445,4451 ----
mark_object (handler->handler);
mark_object (handler->var);
}
! mark_backtrace ();
mark_kboards ();
#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
- [Emacs-diffs] Changes to emacs/src/alloc.c,
Stefan Monnier <=