aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorStefan Monnier2004-05-28 20:59:14 +0000
committerStefan Monnier2004-05-28 20:59:14 +0000
commitb40ea20a66404a42ee11d2690b8aa8657fba3388 (patch)
tree7e0dd2e50533f2527a1efac96ff3917948f3c172 /src/alloc.c
parentc9ce1e404884df24ac309aa4d848051853e9c6c3 (diff)
downloademacs-b40ea20a66404a42ee11d2690b8aa8657fba3388.tar.gz
emacs-b40ea20a66404a42ee11d2690b8aa8657fba3388.zip
(struct backtrace): Remove.
(Fgarbage_collect): Use the new mark_backtrace.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c28
1 files changed, 2 insertions, 26 deletions
diff --git a/src/alloc.c b/src/alloc.c
index bea6943c26e..452a1fbb2a1 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -256,6 +256,7 @@ EMACS_INT gcs_done; /* accumulated GCs */
256 256
257static void mark_buffer P_ ((Lisp_Object)); 257static void mark_buffer P_ ((Lisp_Object));
258extern void mark_kboards P_ ((void)); 258extern void mark_kboards P_ ((void));
259extern void mark_backtrace P_ ((void));
259static void gc_sweep P_ ((void)); 260static void gc_sweep P_ ((void));
260static void mark_glyph_matrix P_ ((struct glyph_matrix *)); 261static void mark_glyph_matrix P_ ((struct glyph_matrix *));
261static void mark_face_cache P_ ((struct face_cache *)); 262static void mark_face_cache P_ ((struct face_cache *));
@@ -4282,20 +4283,6 @@ struct catchtag
4282 struct catchtag *next; 4283 struct catchtag *next;
4283}; 4284};
4284 4285
4285struct backtrace
4286{
4287 struct backtrace *next;
4288 Lisp_Object *function;
4289 Lisp_Object *args; /* Points to vector of args. */
4290 int nargs; /* Length of vector. */
4291 /* If nargs is UNEVALLED, args points to slot holding list of
4292 unevalled args. */
4293 char evalargs;
4294 /* Nonzero means call value of debugger when done with this operation. */
4295 char debug_on_exit;
4296};
4297
4298
4299 4286
4300/*********************************************************************** 4287/***********************************************************************
4301 Protection from GC 4288 Protection from GC
@@ -4330,7 +4317,6 @@ returns nil, because real GC can't be done. */)
4330 register struct specbinding *bind; 4317 register struct specbinding *bind;
4331 struct catchtag *catch; 4318 struct catchtag *catch;
4332 struct handler *handler; 4319 struct handler *handler;
4333 register struct backtrace *backlist;
4334 char stack_top_variable; 4320 char stack_top_variable;
4335 register int i; 4321 register int i;
4336 int message_p; 4322 int message_p;
@@ -4459,17 +4445,7 @@ returns nil, because real GC can't be done. */)
4459 mark_object (handler->handler); 4445 mark_object (handler->handler);
4460 mark_object (handler->var); 4446 mark_object (handler->var);
4461 } 4447 }
4462 for (backlist = backtrace_list; backlist; backlist = backlist->next) 4448 mark_backtrace ();
4463 {
4464 mark_object (*backlist->function);
4465
4466 if (backlist->nargs == UNEVALLED || backlist->nargs == MANY)
4467 i = 0;
4468 else
4469 i = backlist->nargs - 1;
4470 for (; i >= 0; i--)
4471 mark_object (backlist->args[i]);
4472 }
4473 mark_kboards (); 4449 mark_kboards ();
4474 4450
4475#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES 4451#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES