diff --git a/libguile/deprecated.c b/libguile/deprecated.c index 600b984a7..dee9ac3a4 100644 --- a/libguile/deprecated.c +++ b/libguile/deprecated.c @@ -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 diff --git a/libguile/deprecated.h b/libguile/deprecated.h index 6c7bfcc53..cfbea6bbb 100644 --- a/libguile/deprecated.h +++ b/libguile/deprecated.h @@ -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 diff --git a/libguile/gc.c b/libguile/gc.c index 6e459c3f9..01e1ace80 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -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, (), diff --git a/libguile/gc.h b/libguile/gc.h index a9a499bca..195784fd2 100644 --- a/libguile/gc.h +++ b/libguile/gc.h @@ -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);