emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/gc/finalize.c [Boehm-GC]


From: Dave Love
Subject: [Emacs-diffs] Changes to emacs/gc/finalize.c [Boehm-GC]
Date: Mon, 16 Jun 2003 11:41:52 -0400

Index: emacs/gc/finalize.c
diff -c emacs/gc/finalize.c:1.2.2.2 emacs/gc/finalize.c:1.2.2.3
*** emacs/gc/finalize.c:1.2.2.2 Fri Jun  6 05:43:51 2003
--- emacs/gc/finalize.c Mon Jun 16 11:41:51 2003
***************
*** 768,774 ****
      struct finalizable_object * curr_fo;
      int count = 0;
      word mem_freed_before;
-     GC_bool first_time = TRUE;
      DCL_LOCK_STATE;
      
      while (GC_finalize_now != 0) {
--- 768,773 ----
***************
*** 776,784 ****
            DISABLE_SIGNALS();
            LOCK();
  #     endif
!       if (first_time) {
            mem_freed_before = GC_mem_freed;
-           first_time = FALSE;
        }
        curr_fo = GC_finalize_now;
  #     ifdef THREADS
--- 775,782 ----
            DISABLE_SIGNALS();
            LOCK();
  #     endif
!       if (count == 0) {
            mem_freed_before = GC_mem_freed;
        }
        curr_fo = GC_finalize_now;
  #     ifdef THREADS
***************
*** 801,807 ****
            GC_free((GC_PTR)curr_fo);
  #     endif
      }
!     if (mem_freed_before != GC_mem_freed) {
          LOCK();
        GC_finalizer_mem_freed += (GC_mem_freed - mem_freed_before);
        UNLOCK();
--- 799,805 ----
            GC_free((GC_PTR)curr_fo);
  #     endif
      }
!     if (count != 0 && mem_freed_before != GC_mem_freed) {
          LOCK();
        GC_finalizer_mem_freed += (GC_mem_freed - mem_freed_before);
        UNLOCK();




reply via email to

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