/[emacs]/emacs/src/alloc.c
ViewVC logotype

Diff of /emacs/src/alloc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.272.2.10 by miles, Tue Jul 6 10:20:19 2004 UTC revision 1.272.2.11 by miles, Tue Jul 6 10:23:39 2004 UTC
# Line 590  safe_alloca_unwind (arg) Line 590  safe_alloca_unwind (arg)
590    p->dogc = 0;    p->dogc = 0;
591    xfree (p->pointer);    xfree (p->pointer);
592    p->pointer = 0;    p->pointer = 0;
593      free_misc (arg);
594    return Qnil;    return Qnil;
595  }  }
596    
# Line 2922  allocate_misc () Line 2923  allocate_misc ()
2923            marker_block = new;            marker_block = new;
2924            marker_block_index = 0;            marker_block_index = 0;
2925            n_marker_blocks++;            n_marker_blocks++;
2926              total_free_markers += MARKER_BLOCK_SIZE;
2927          }          }
2928        XSETMISC (val, &marker_block->markers[marker_block_index]);        XSETMISC (val, &marker_block->markers[marker_block_index]);
2929        marker_block_index++;        marker_block_index++;
2930      }      }
2931    
2932      --total_free_markers;
2933    consing_since_gc += sizeof (union Lisp_Misc);    consing_since_gc += sizeof (union Lisp_Misc);
2934    misc_objects_consed++;    misc_objects_consed++;
2935    XMARKER (val)->gcmarkbit = 0;    XMARKER (val)->gcmarkbit = 0;
2936    return val;    return val;
2937  }  }
2938    
2939    /* Free a Lisp_Misc object */
2940    
2941    void
2942    free_misc (misc)
2943         Lisp_Object misc;
2944    {
2945      XMISC (misc)->u_marker.type = Lisp_Misc_Free;
2946      XMISC (misc)->u_free.chain = marker_free_list;
2947      marker_free_list = XMISC (misc);
2948    
2949      total_free_markers++;
2950    }
2951    
2952  /* Return a Lisp_Misc_Save_Value object containing POINTER and  /* Return a Lisp_Misc_Save_Value object containing POINTER and
2953     INTEGER.  This is used to package C values to call record_unwind_protect.     INTEGER.  This is used to package C values to call record_unwind_protect.
2954     The unwind function can get the C values back using XSAVE_VALUE.  */     The unwind function can get the C values back using XSAVE_VALUE.  */
# Line 2979  free_marker (marker) Line 2995  free_marker (marker)
2995       Lisp_Object marker;       Lisp_Object marker;
2996  {  {
2997    unchain_marker (XMARKER (marker));    unchain_marker (XMARKER (marker));
2998      free_misc (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++;  
2999  }  }
3000    
3001    

Legend:
Removed from v.1.272.2.10  
changed lines
  Added in v.1.272.2.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26