changeset 5202:1c615eb1e4b2

disable specifier memory usage for the moment -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-04-12 Ben Wing <ben@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.
author Ben Wing <ben@xemacs.org>
date Mon, 12 Apr 2010 01:41:38 -0500
parents 11ed8768ac4f
children 733f067a73ce 912c34f1d7c8
files src/ChangeLog src/specifier.c
diffstat 2 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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@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@xemacs.org>
 
 	* charset.h:
--- 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 */