emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 11c7c2f: Remove more traces of misc (Bug#32405)


From: Paul Eggert
Subject: [Emacs-diffs] master 11c7c2f: Remove more traces of misc (Bug#32405)
Date: Tue, 14 Aug 2018 15:08:08 -0400 (EDT)

branch: master
commit 11c7c2f758f8f07e7b917fbc93267cee236a80e5
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Remove more traces of misc (Bug#32405)
    
    Remove misc-objects-consed and the misc component of
    memory-use-count, since misc objects no longer exist.
    * doc/lispref/internals.texi, etc/NEWS: Mention this,
    and adjust better to recent removal of misc objects.
    * src/alloc.c (MEM_TYPE_MISC): Remove; no longer used.
    (Fmemory_use_counts): Omit misc count, since miscs
    no longer exist.
    (misc-objects-consed): Remove.
---
 doc/lispref/internals.texi | 25 ++++++++-----------------
 etc/NEWS                   |  8 +++++---
 src/alloc.c                | 10 +---------
 3 files changed, 14 insertions(+), 29 deletions(-)

diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index c72dbb5..3fe2844 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -246,8 +246,8 @@ of 8k bytes, and small vectors are packed into blocks of 4k 
bytes).
 
 @cindex vector-like objects, storage
 @cindex storage of vector-like Lisp objects
-  Beyond the basic vector, a lot of objects like window, buffer, and
-frame are managed as if they were vectors.  The corresponding C data
+  Beyond the basic vector, a lot of objects like markers, overlays and
+buffers are managed as if they were vectors.  The corresponding C data
 structures include the @code{union vectorlike_header} field whose
 @code{size} member contains the subtype enumerated by @code{enum pvec_type}
 and an information about how many @code{Lisp_Object} fields this structure
@@ -579,6 +579,8 @@ in this Emacs session.
 @defvar vector-cells-consed
 The total number of vector cells that have been allocated so far
 in this Emacs session.
+This includes vector-like objects such as markers and overlays, plus
+certain objects not visible to users.
 @end defvar
 
 @defvar symbols-consed
@@ -591,12 +593,6 @@ The total number of string characters that have been 
allocated so far
 in this session.
 @end defvar
 
address@hidden misc-objects-consed
-The total number of miscellaneous objects that have been allocated so
-far in this session.  These include markers and overlays, plus
-certain objects not visible to users.
address@hidden defvar
-
 @defvar intervals-consed
 The total number of intervals that have been allocated so far
 in this Emacs session.
@@ -987,7 +983,7 @@ a special type to represent the pointers to all of them, 
which is known as
   In C, the tagged pointer is an object of type @code{Lisp_Object}.  Any
 initialized variable of such a type always holds the value of one of the
 following basic data types: integer, symbol, string, cons cell, float,
-vectorlike or miscellaneous object.  Each of these data types has the
+or vectorlike object.  Each of these data types has the
 corresponding tag value.  All tags are enumerated by @code{enum Lisp_Type}
 and placed into a 3-bit bitfield of the @code{Lisp_Object}.  The rest of the
 bits is the value itself.  Integers are immediate, i.e., directly
@@ -1019,18 +1015,13 @@ Symbol, the unique-named entity commonly used as an 
identifier.
 
 @item struct Lisp_Float
 Floating-point value.
-
address@hidden union Lisp_Misc
-Miscellaneous kinds of objects which don't fit into any of the above.
 @end table
 
   These types are the first-class citizens of an internal type system.
-Since the tag space is limited, all other types are the subtypes of either
address@hidden or @code{Lisp_Misc}.  Vector subtypes are enumerated
+Since the tag space is limited, all other types are the subtypes of
address@hidden  Vector subtypes are enumerated
 by @code{enum pvec_type}, and nearly all complex objects like windows, buffers,
-frames, and processes fall into this category.  The rest of special types,
-including markers and overlays, are enumerated by @code{enum Lisp_Misc_Type}
-and form the set of subtypes of @code{Lisp_Misc}.
+frames, and processes fall into this category.
 
   Below there is a description of a few subtypes of @code{Lisp_Vectorlike}.
 Buffer object represents the text to display and edit.  Window is the part
diff --git a/etc/NEWS b/etc/NEWS
index e381a54..f1d09a2 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -831,9 +831,11 @@ is backwards-compatible with versions of Emacs in which 
the old function
 exists.  See the node "Displaying Buffers in Side Windows" in the ELisp
 manual for more details.
 
-** The 'garbage-collect' function no longer returns a 'misc' component
-because garbage collection no longer treats miscellaneous objects
-specially; they are now allocated like any other pseudovector.
+** garbage collection no longer treats miscellaneous objects specially;
+they are now allocated like any other pseudovector.  As a result, the
+'garbage-collect' and 'memory-use-count' functions no longer return a
+'misc' component, and the 'misc-objects-consed' variable has been
+removed.
 
 
 * Lisp Changes in Emacs 27.1
diff --git a/src/alloc.c b/src/alloc.c
index fb8a8c9..6a93821 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -379,7 +379,6 @@ enum mem_type
   MEM_TYPE_BUFFER,
   MEM_TYPE_CONS,
   MEM_TYPE_STRING,
-  MEM_TYPE_MISC,
   MEM_TYPE_SYMBOL,
   MEM_TYPE_FLOAT,
   /* Since all non-bool pseudovectors are small enough to be
@@ -7023,11 +7022,10 @@ Each of these counters increments for a certain kind of 
object.
 The counters wrap around from the largest positive integer to zero.
 Garbage collection does not decrease them.
 The elements of the value are as follows:
-  (CONSES FLOATS VECTOR-CELLS SYMBOLS STRING-CHARS MISCS INTERVALS STRINGS)
+  (CONSES FLOATS VECTOR-CELLS SYMBOLS STRING-CHARS INTERVALS STRINGS)
 All are in units of 1 = one object consed
 except for VECTOR-CELLS and STRING-CHARS, which count the total length of
 objects consed.
-MISCS include overlays, markers, and some internal types.
 Frames, windows, buffers, and subprocesses count as vectors
   (but the contents of a buffer's text do not count here).  */)
   (void)
@@ -7038,7 +7036,6 @@ Frames, windows, buffers, and subprocesses count as 
vectors
                bounded_number (vector_cells_consed),
                bounded_number (symbols_consed),
                bounded_number (string_chars_consed),
-               bounded_number (misc_objects_consed),
                bounded_number (intervals_consed),
                bounded_number (strings_consed));
 }
@@ -7297,11 +7294,6 @@ If this portion is smaller than `gc-cons-threshold', 
this is ignored.  */);
   DEFVAR_INT ("string-chars-consed", string_chars_consed,
              doc: /* Number of string characters that have been consed so far. 
 */);
 
-  DEFVAR_INT ("misc-objects-consed", misc_objects_consed,
-             doc: /* Number of miscellaneous objects that have been consed so 
far.
-These include markers and overlays, plus certain objects not visible
-to users.  */);
-
   DEFVAR_INT ("intervals-consed", intervals_consed,
              doc: /* Number of intervals that have been consed so far.  */);
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]