diff options
| author | Dmitry Antipov | 2012-07-18 09:44:36 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2012-07-18 09:44:36 +0400 |
| commit | 3ab6e069695d0dd5bb77133a89f858190ab8550a (patch) | |
| tree | bd50490ec50ec8d5f72625fd38840d1283983561 /src/data.c | |
| parent | 0a60bc107123321438fc1320ab34fcf588ec7128 (diff) | |
| download | emacs-3ab6e069695d0dd5bb77133a89f858190ab8550a.tar.gz emacs-3ab6e069695d0dd5bb77133a89f858190ab8550a.zip | |
Return more descriptive data from Fgarbage_collect.
Suggested by Stefan Monnier in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
* src/alloc.c (bounded_number): New function.
(total_buffers, total_vectors): New variable.
(total_string_size): Rename to total_string_bytes, adjust users.
(total_vector_size): Rename to total_vector_bytes, adjust users.
(sweep_vectors): Account total_vectors and total_vector_bytes.
(Fgarbage_collect): New return value. Adjust documentation.
(gc_sweep): Account total_buffers.
(Fmemory_free, Fmemory_use_counts): Use bounded_number.
(VECTOR_SIZE): Remove.
* src/data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
(Qinterval, Qmisc): New symbols.
(syms_of_data): Initialize them.
* src/lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
(Qcons, Qbuffer): New declarations.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Change to
reflect new format of data returned by Fgarbage_collect.
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/data.c b/src/data.c index 4b342c0f521..22546349677 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -83,12 +83,12 @@ Lisp_Object Qoverflow_error, Qunderflow_error; | |||
| 83 | Lisp_Object Qfloatp; | 83 | Lisp_Object Qfloatp; |
| 84 | Lisp_Object Qnumberp, Qnumber_or_marker_p; | 84 | Lisp_Object Qnumberp, Qnumber_or_marker_p; |
| 85 | 85 | ||
| 86 | Lisp_Object Qinteger; | 86 | Lisp_Object Qinteger, Qinterval, Qfloat, Qvector; |
| 87 | static Lisp_Object Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; | 87 | Lisp_Object Qsymbol, Qstring, Qcons, Qmisc; |
| 88 | Lisp_Object Qwindow; | 88 | Lisp_Object Qwindow; |
| 89 | static Lisp_Object Qfloat, Qwindow_configuration; | 89 | static Lisp_Object Qoverlay, Qwindow_configuration; |
| 90 | static Lisp_Object Qprocess; | 90 | static Lisp_Object Qprocess, Qmarker; |
| 91 | static Lisp_Object Qcompiled_function, Qframe, Qvector; | 91 | static Lisp_Object Qcompiled_function, Qframe; |
| 92 | Lisp_Object Qbuffer; | 92 | Lisp_Object Qbuffer; |
| 93 | static Lisp_Object Qchar_table, Qbool_vector, Qhash_table; | 93 | static Lisp_Object Qchar_table, Qbool_vector, Qhash_table; |
| 94 | static Lisp_Object Qsubrp, Qmany, Qunevalled; | 94 | static Lisp_Object Qsubrp, Qmany, Qunevalled; |
| @@ -3083,7 +3083,6 @@ syms_of_data (void) | |||
| 3083 | DEFSYM (Qwindow_configuration, "window-configuration"); | 3083 | DEFSYM (Qwindow_configuration, "window-configuration"); |
| 3084 | DEFSYM (Qprocess, "process"); | 3084 | DEFSYM (Qprocess, "process"); |
| 3085 | DEFSYM (Qwindow, "window"); | 3085 | DEFSYM (Qwindow, "window"); |
| 3086 | /* DEFSYM (Qsubr, "subr"); */ | ||
| 3087 | DEFSYM (Qcompiled_function, "compiled-function"); | 3086 | DEFSYM (Qcompiled_function, "compiled-function"); |
| 3088 | DEFSYM (Qbuffer, "buffer"); | 3087 | DEFSYM (Qbuffer, "buffer"); |
| 3089 | DEFSYM (Qframe, "frame"); | 3088 | DEFSYM (Qframe, "frame"); |
| @@ -3091,6 +3090,9 @@ syms_of_data (void) | |||
| 3091 | DEFSYM (Qchar_table, "char-table"); | 3090 | DEFSYM (Qchar_table, "char-table"); |
| 3092 | DEFSYM (Qbool_vector, "bool-vector"); | 3091 | DEFSYM (Qbool_vector, "bool-vector"); |
| 3093 | DEFSYM (Qhash_table, "hash-table"); | 3092 | DEFSYM (Qhash_table, "hash-table"); |
| 3093 | /* Used by Fgarbage_collect. */ | ||
| 3094 | DEFSYM (Qinterval, "interval"); | ||
| 3095 | DEFSYM (Qmisc, "misc"); | ||
| 3094 | 3096 | ||
| 3095 | DEFSYM (Qdefun, "defun"); | 3097 | DEFSYM (Qdefun, "defun"); |
| 3096 | 3098 | ||