emacs-diffs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]