commit: disable specifier memory usage for the moment

Ben Wing ben at xemacs.org
Mon Apr 12 02:42:22 EDT 2010


changeset:   5202:1c615eb1e4b2
tag:         tip
user:        Ben Wing <ben at xemacs.org>
date:        Mon Apr 12 01:41:38 2010 -0500
files:       src/ChangeLog src/specifier.c
description:
disable specifier memory usage for the moment

-------------------- ChangeLog entries follow: --------------------

src/ChangeLog addition:

2010-04-12  Ben Wing  <ben at xemacs.org>

	* specifier.c (specifier_memory_usage):
	Disable specifier memory-usage stats for now.  Sometimes they can
	end up with circularities in them and I'm not sure exactly whats
	going on to produce them.


diff -r 11ed8768ac4f -r 1c615eb1e4b2 src/ChangeLog
--- a/src/ChangeLog	Mon Apr 12 01:35:56 2010 -0500
+++ b/src/ChangeLog	Mon Apr 12 01:41:38 2010 -0500
@@ -1,3 +1,10 @@
+2010-04-12  Ben Wing  <ben at xemacs.org>
+
+	* specifier.c (specifier_memory_usage):
+	Disable specifier memory-usage stats for now.  Sometimes they can
+	end up with circularities in them and I'm not sure exactly whats
+	going on to produce them.
+
 2010-04-12  Ben Wing  <ben at xemacs.org>
 
 	* charset.h:
diff -r 11ed8768ac4f -r 1c615eb1e4b2 src/specifier.c
--- a/src/specifier.c	Mon Apr 12 01:35:56 2010 -0500
+++ b/src/specifier.c	Mon Apr 12 01:41:38 2010 -0500
@@ -3737,12 +3737,19 @@
 };
 
 static void
-specifier_memory_usage (Lisp_Object specifier,
-			struct generic_usage_stats *gustats)
+specifier_memory_usage (Lisp_Object UNUSED (specifier),
+			struct generic_usage_stats * UNUSED (gustats))
 {
+#if 0
   struct specifier_stats *stats = (struct specifier_stats *) gustats;
   Lisp_Specifier *spec = XSPECIFIER (specifier);
 
+  /* #### FIXME -- sometimes it appears that the specs, or at least global
+     specs, can have circularities in the tree structure.  This makes
+     everything much slower and in fact can result in a hang with 100% CPU.
+     Need to investigate properly and figure out what's going on here,
+     since the specs are copied when stored in and so supposedly, circular
+     structures shouldn't exist. */
   stats->global = tree_memory_usage (spec->global_specs, 1);
   stats->device = tree_memory_usage (spec->device_specs, 1);
   stats->frame = tree_memory_usage (spec->frame_specs, 1);
@@ -3751,6 +3758,7 @@
   stats->fallback = tree_memory_usage (spec->fallback, 1);
   if (SPECIFIERP (spec->magic_parent))
     stats->magic_parent = lisp_object_memory_usage (spec->magic_parent);
+#endif
 }
 
 #endif /* MEMORY_USAGE_STATS */



More information about the XEmacs-Patches mailing list