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