1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

Deprecate gc-live-object-stats

* libguile/gc.h:
* libguile/gc.c:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_gc_live_object_stats): Deprecate; it hasn't
  worked in the whole 2.0 series.
This commit is contained in:
Andy Wingo 2013-11-28 14:40:58 +01:00
parent e7bd20f7d9
commit d364a89718
4 changed files with 20 additions and 39 deletions

View file

@ -2934,6 +2934,22 @@ scm_c_program_source (SCM program, size_t ip)
}
SCM_DEFINE (scm_gc_live_object_stats, "gc-live-object-stats", 0, 0, 0,
(),
"Return an alist of statistics of the current live objects. ")
#define FUNC_NAME s_scm_gc_live_object_stats
{
scm_c_issue_deprecation_warning
("gc-live-object-stats is deprecated. There is no replacement,\n"
"unfortunately.");
return SCM_EOL;
}
#undef FUNC_NAME
void

View file

@ -861,6 +861,10 @@ SCM_DEPRECATED SCM scm_c_program_source (SCM program, size_t ip);
SCM_DEPRECATED SCM scm_gc_live_object_stats (void);
void scm_i_init_deprecated (void);
#endif

View file

@ -267,44 +267,6 @@ SCM_SYMBOL (sym_times, "gc-times");
/* {Scheme Interface to GC}
*/
static SCM
tag_table_to_type_alist (void *closure, SCM key, SCM val, SCM acc)
{
if (scm_is_integer (key))
{
int c_tag = scm_to_int (key);
char const * name = scm_i_tag_name (c_tag);
if (name != NULL)
{
key = scm_from_locale_string (name);
}
else
{
char s[100];
sprintf (s, "tag %d", c_tag);
key = scm_from_locale_string (s);
}
}
return scm_cons (scm_cons (key, val), acc);
}
SCM_DEFINE (scm_gc_live_object_stats, "gc-live-object-stats", 0, 0, 0,
(),
"Return an alist of statistics of the current live objects. ")
#define FUNC_NAME s_scm_gc_live_object_stats
{
SCM tab = scm_make_hash_table (scm_from_int (57));
SCM alist;
alist
= scm_internal_hash_fold (&tag_table_to_type_alist, NULL, SCM_EOL, tab);
return alist;
}
#undef FUNC_NAME
extern int scm_gc_malloc_yield_percentage;
SCM_DEFINE (scm_gc_stats, "gc-stats", 0, 0, 0,
(),

View file

@ -177,7 +177,6 @@ SCM_API SCM scm_gc_enable (void);
SCM_API SCM scm_gc_disable (void);
SCM_API SCM scm_gc_dump (void);
SCM_API SCM scm_gc_stats (void);
SCM_API SCM scm_gc_live_object_stats (void);
SCM_API SCM scm_gc (void);
SCM_INTERNAL void scm_i_gc (const char *what);
SCM_API void scm_gc_mark (SCM p);