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 [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/alloc.c [lexbind]
Date: Tue, 06 Jul 2004 06:59:04 -0400

Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.272.2.10 emacs/src/alloc.c:1.272.2.11
*** emacs/src/alloc.c:1.272.2.10        Tue Jul  6 10:20:19 2004
--- emacs/src/alloc.c   Tue Jul  6 10:23:39 2004
***************
*** 590,595 ****
--- 590,596 ----
    p->dogc = 0;
    xfree (p->pointer);
    p->pointer = 0;
+   free_misc (arg);
    return Qnil;
  }
  
***************
*** 2922,2938 ****
--- 2923,2954 ----
          marker_block = new;
          marker_block_index = 0;
          n_marker_blocks++;
+         total_free_markers += MARKER_BLOCK_SIZE;
        }
        XSETMISC (val, &marker_block->markers[marker_block_index]);
        marker_block_index++;
      }
  
+   --total_free_markers;
    consing_since_gc += sizeof (union Lisp_Misc);
    misc_objects_consed++;
    XMARKER (val)->gcmarkbit = 0;
    return val;
  }
  
+ /* Free a Lisp_Misc object */
+ 
+ void
+ free_misc (misc)
+      Lisp_Object misc;
+ {
+   XMISC (misc)->u_marker.type = Lisp_Misc_Free;
+   XMISC (misc)->u_free.chain = marker_free_list;
+   marker_free_list = XMISC (misc);
+ 
+   total_free_markers++;
+ }
+ 
  /* Return a Lisp_Misc_Save_Value object containing POINTER and
     INTEGER.  This is used to package C values to call record_unwind_protect.
     The unwind function can get the C values back using XSAVE_VALUE.  */
***************
*** 2979,2990 ****
       Lisp_Object marker;
  {
    unchain_marker (XMARKER (marker));
! 
!   XMISC (marker)->u_marker.type = Lisp_Misc_Free;
!   XMISC (marker)->u_free.chain = marker_free_list;
!   marker_free_list = XMISC (marker);
! 
!   total_free_markers++;
  }
  
  
--- 2995,3001 ----
       Lisp_Object marker;
  {
    unchain_marker (XMARKER (marker));
!   free_misc (marker);
  }
  
  




reply via email to

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