# HG changeset patch # User Ben Wing # Date 1271054498 18000 # Node ID 1c615eb1e4b2257413e9ddb545540cba87d73978 # Parent 11ed8768ac4feae0d209e9d90955af3189783820 disable specifier memory usage for the moment -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-04-12 Ben Wing * 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 + + * 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 * 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 */