Mercurial > emacs
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 { |