comparison src/alloc.c @ 83716:a73440d2f146 merge-multi-tty-to-trunk

Merge multi-tty branch Revision: emacs@sv.gnu.org/emacs--devo--0--patch-866
author Miles Bader <miles@gnu.org>
date Wed, 29 Aug 2007 05:28:10 +0000
parents 2a69b973fae2
children afb5f262aced
comparison
equal deleted inserted replaced
82950:ed8435ec5652 83716:a73440d2f146
339 339
340 Lisp_Object Vgc_elapsed; /* accumulated elapsed time in GC */ 340 Lisp_Object Vgc_elapsed; /* accumulated elapsed time in GC */
341 EMACS_INT gcs_done; /* accumulated GCs */ 341 EMACS_INT gcs_done; /* accumulated GCs */
342 342
343 static void mark_buffer P_ ((Lisp_Object)); 343 static void mark_buffer P_ ((Lisp_Object));
344 extern void mark_terminals P_ ((void));
344 extern void mark_kboards P_ ((void)); 345 extern void mark_kboards P_ ((void));
346 extern void mark_ttys P_ ((void));
345 extern void mark_backtrace P_ ((void)); 347 extern void mark_backtrace P_ ((void));
346 static void gc_sweep P_ ((void)); 348 static void gc_sweep P_ ((void));
347 static void mark_glyph_matrix P_ ((struct glyph_matrix *)); 349 static void mark_glyph_matrix P_ ((struct glyph_matrix *));
348 static void mark_face_cache P_ ((struct face_cache *)); 350 static void mark_face_cache P_ ((struct face_cache *));
349 351
1232 void *value; 1234 void *value;
1233 1235
1234 BLOCK_INPUT_ALLOC; 1236 BLOCK_INPUT_ALLOC;
1235 __malloc_hook = old_malloc_hook; 1237 __malloc_hook = old_malloc_hook;
1236 #ifdef DOUG_LEA_MALLOC 1238 #ifdef DOUG_LEA_MALLOC
1237 mallopt (M_TOP_PAD, malloc_hysteresis * 4096); 1239 /* Segfaults on my system. --lorentey */
1240 /* mallopt (M_TOP_PAD, malloc_hysteresis * 4096); */
1238 #else 1241 #else
1239 __malloc_extra_blocks = malloc_hysteresis; 1242 __malloc_extra_blocks = malloc_hysteresis;
1240 #endif 1243 #endif
1241 1244
1242 value = (void *) malloc (size); 1245 value = (void *) malloc (size);
5168 for (bind = specpdl; bind != specpdl_ptr; bind++) 5171 for (bind = specpdl; bind != specpdl_ptr; bind++)
5169 { 5172 {
5170 mark_object (bind->symbol); 5173 mark_object (bind->symbol);
5171 mark_object (bind->old_value); 5174 mark_object (bind->old_value);
5172 } 5175 }
5176 mark_terminals ();
5173 mark_kboards (); 5177 mark_kboards ();
5178 mark_ttys ();
5174 5179
5175 #ifdef USE_GTK 5180 #ifdef USE_GTK
5176 { 5181 {
5177 extern void xg_mark_data (); 5182 extern void xg_mark_data ();
5178 xg_mark_data (); 5183 xg_mark_data ();
5603 mark_object (ptr->menu_bar_items); 5608 mark_object (ptr->menu_bar_items);
5604 mark_object (ptr->face_alist); 5609 mark_object (ptr->face_alist);
5605 mark_object (ptr->menu_bar_vector); 5610 mark_object (ptr->menu_bar_vector);
5606 mark_object (ptr->buffer_predicate); 5611 mark_object (ptr->buffer_predicate);
5607 mark_object (ptr->buffer_list); 5612 mark_object (ptr->buffer_list);
5613 mark_object (ptr->buried_buffer_list);
5608 mark_object (ptr->menu_bar_window); 5614 mark_object (ptr->menu_bar_window);
5609 mark_object (ptr->tool_bar_window); 5615 mark_object (ptr->tool_bar_window);
5610 mark_face_cache (ptr->face_cache); 5616 mark_face_cache (ptr->face_cache);
5611 #ifdef HAVE_WINDOW_SYSTEM 5617 #ifdef HAVE_WINDOW_SYSTEM
5612 mark_image_cache (ptr); 5618 mark_image_cache (ptr);