Mercurial > emacs
comparison src/alloc.c @ 34270:773e6aa2ec38
(Fgarbage_collect): Dox fix. Return a list as
advertized by the function documentation.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Wed, 06 Dec 2000 14:22:15 +0000 |
| parents | 7f148cfbd1f7 |
| children | 6d490e8ef117 |
comparison
equal
deleted
inserted
replaced
| 34269:a50ccd431a27 | 34270:773e6aa2ec38 |
|---|---|
| 3685 DEFUN ("garbage-collect", Fgarbage_collect, Sgarbage_collect, 0, 0, "", | 3685 DEFUN ("garbage-collect", Fgarbage_collect, Sgarbage_collect, 0, 0, "", |
| 3686 "Reclaim storage for Lisp objects no longer needed.\n\ | 3686 "Reclaim storage for Lisp objects no longer needed.\n\ |
| 3687 Returns info on amount of space in use:\n\ | 3687 Returns info on amount of space in use:\n\ |
| 3688 ((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS)\n\ | 3688 ((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS)\n\ |
| 3689 (USED-MARKERS . FREE-MARKERS) USED-STRING-CHARS USED-VECTOR-SLOTS\n\ | 3689 (USED-MARKERS . FREE-MARKERS) USED-STRING-CHARS USED-VECTOR-SLOTS\n\ |
| 3690 (USED-FLOATS . FREE-FLOATS) (USED-INTERVALS . FREE-INTERVALS\n\ | 3690 (USED-FLOATS . FREE-FLOATS) (USED-INTERVALS . FREE-INTERVALS)\n\ |
| 3691 (USED-STRINGS . FREE-STRINGS))\n\ | 3691 (USED-STRINGS . FREE-STRINGS))\n\ |
| 3692 Garbage collection happens automatically if you cons more than\n\ | 3692 Garbage collection happens automatically if you cons more than\n\ |
| 3693 `gc-cons-threshold' bytes of Lisp data since previous garbage collection.") | 3693 `gc-cons-threshold' bytes of Lisp data since previous garbage collection.") |
| 3694 () | 3694 () |
| 3695 { | 3695 { |
| 3699 struct handler *handler; | 3699 struct handler *handler; |
| 3700 register struct backtrace *backlist; | 3700 register struct backtrace *backlist; |
| 3701 char stack_top_variable; | 3701 char stack_top_variable; |
| 3702 register int i; | 3702 register int i; |
| 3703 int message_p; | 3703 int message_p; |
| 3704 Lisp_Object total[7]; | 3704 Lisp_Object total[8]; |
| 3705 | 3705 |
| 3706 /* In case user calls debug_print during GC, | 3706 /* In case user calls debug_print during GC, |
| 3707 don't let that cause a recursive GC. */ | 3707 don't let that cause a recursive GC. */ |
| 3708 consing_since_gc = 0; | 3708 consing_since_gc = 0; |
| 3709 | 3709 |
| 3919 make_number (total_free_conses)); | 3919 make_number (total_free_conses)); |
| 3920 total[1] = Fcons (make_number (total_symbols), | 3920 total[1] = Fcons (make_number (total_symbols), |
| 3921 make_number (total_free_symbols)); | 3921 make_number (total_free_symbols)); |
| 3922 total[2] = Fcons (make_number (total_markers), | 3922 total[2] = Fcons (make_number (total_markers), |
| 3923 make_number (total_free_markers)); | 3923 make_number (total_free_markers)); |
| 3924 total[3] = Fcons (make_number (total_string_size), | 3924 total[3] = make_number (total_string_size); |
| 3925 make_number (total_vector_size)); | 3925 total[4] = make_number (total_vector_size); |
| 3926 total[4] = Fcons (make_number (total_floats), | 3926 total[5] = Fcons (make_number (total_floats), |
| 3927 make_number (total_free_floats)); | 3927 make_number (total_free_floats)); |
| 3928 total[5] = Fcons (make_number (total_intervals), | 3928 total[6] = Fcons (make_number (total_intervals), |
| 3929 make_number (total_free_intervals)); | 3929 make_number (total_free_intervals)); |
| 3930 total[6] = Fcons (make_number (total_strings), | 3930 total[7] = Fcons (make_number (total_strings), |
| 3931 make_number (total_free_strings)); | 3931 make_number (total_free_strings)); |
| 3932 | 3932 |
| 3933 #if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES | 3933 #if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES |
| 3934 { | 3934 { |
| 3935 /* Compute average percentage of zombies. */ | 3935 /* Compute average percentage of zombies. */ |
| 3944 max_zombies = max (nzombies, max_zombies); | 3944 max_zombies = max (nzombies, max_zombies); |
| 3945 ++ngcs; | 3945 ++ngcs; |
| 3946 } | 3946 } |
| 3947 #endif | 3947 #endif |
| 3948 | 3948 |
| 3949 return Flist (7, total); | 3949 return Flist (sizeof total / sizeof *total, total); |
| 3950 } | 3950 } |
| 3951 | 3951 |
| 3952 | 3952 |
| 3953 /* Mark Lisp objects in glyph matrix MATRIX. Currently the | 3953 /* Mark Lisp objects in glyph matrix MATRIX. Currently the |
| 3954 only interesting objects referenced from glyphs are strings. */ | 3954 only interesting objects referenced from glyphs are strings. */ |
