comparison src/alloc.c @ 26364:7b0217d9259c

(Fgarbage_collect): Call mark_byte_stack and relocate_byte_pcs. (init_alloc_once, init_alloc): Set byte_stack_list to null.
author Gerd Moellmann <gerd@gnu.org>
date Fri, 05 Nov 1999 21:26:42 +0000
parents d39ec0a27081
children f35140f031b4
comparison
equal deleted inserted replaced
26363:efb608f1cb10 26364:7b0217d9259c
1838 if (!XMARKBIT (tail->var[i])) 1838 if (!XMARKBIT (tail->var[i]))
1839 { 1839 {
1840 mark_object (&tail->var[i]); 1840 mark_object (&tail->var[i]);
1841 XMARK (tail->var[i]); 1841 XMARK (tail->var[i]);
1842 } 1842 }
1843 mark_byte_stack ();
1843 for (bind = specpdl; bind != specpdl_ptr; bind++) 1844 for (bind = specpdl; bind != specpdl_ptr; bind++)
1844 { 1845 {
1845 mark_object (&bind->symbol); 1846 mark_object (&bind->symbol);
1846 mark_object (&bind->old_value); 1847 mark_object (&bind->old_value);
1847 } 1848 }
1920 /* Clear the mark bits that we set in certain root slots. */ 1921 /* Clear the mark bits that we set in certain root slots. */
1921 1922
1922 for (tail = gcprolist; tail; tail = tail->next) 1923 for (tail = gcprolist; tail; tail = tail->next)
1923 for (i = 0; i < tail->nvars; i++) 1924 for (i = 0; i < tail->nvars; i++)
1924 XUNMARK (tail->var[i]); 1925 XUNMARK (tail->var[i]);
1926 relocate_byte_pcs ();
1925 for (backlist = backtrace_list; backlist; backlist = backlist->next) 1927 for (backlist = backtrace_list; backlist; backlist = backlist->next)
1926 { 1928 {
1927 XUNMARK (*backlist->function); 1929 XUNMARK (*backlist->function);
1928 if (backlist->nargs == UNEVALLED || backlist->nargs == MANY) 1930 if (backlist->nargs == UNEVALLED || backlist->nargs == MANY)
1929 i = 0; 1931 i = 0;
3322 3324
3323 spare_memory = (char *) malloc (SPARE_MEMORY); 3325 spare_memory = (char *) malloc (SPARE_MEMORY);
3324 3326
3325 ignore_warnings = 0; 3327 ignore_warnings = 0;
3326 gcprolist = 0; 3328 gcprolist = 0;
3329 byte_stack_list = 0;
3327 staticidx = 0; 3330 staticidx = 0;
3328 consing_since_gc = 0; 3331 consing_since_gc = 0;
3329 gc_cons_threshold = 100000 * sizeof (Lisp_Object); 3332 gc_cons_threshold = 100000 * sizeof (Lisp_Object);
3330 #ifdef VIRT_ADDR_VARIES 3333 #ifdef VIRT_ADDR_VARIES
3331 malloc_sbrk_unused = 1<<22; /* A large number */ 3334 malloc_sbrk_unused = 1<<22; /* A large number */
3335 3338
3336 void 3339 void
3337 init_alloc () 3340 init_alloc ()
3338 { 3341 {
3339 gcprolist = 0; 3342 gcprolist = 0;
3343 byte_stack_list = 0;
3340 } 3344 }
3341 3345
3342 void 3346 void
3343 syms_of_alloc () 3347 syms_of_alloc ()
3344 { 3348 {