summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-11-28 14:40:58 +0100
committerAndy Wingo <wingo@pobox.com>2013-11-28 14:40:58 +0100
commitd364a8971828e38e8f9112b711066f4962bb400e (patch)
tree4124b254fe4f557c3558eea7f1a0b75010c0e713
parente7bd20f7d9b2110fdc0fa25db5a2bfe6b2214923 (diff)
downloadguile-d364a8971828e38e8f9112b711066f4962bb400e.tar.gz
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.
-rw-r--r--libguile/deprecated.c16
-rw-r--r--libguile/deprecated.h4
-rw-r--r--libguile/gc.c38
-rw-r--r--libguile/gc.h1
4 files changed, 20 insertions, 39 deletions
diff --git a/libguile/deprecated.c b/libguile/deprecated.c
index 600b984a7..dee9ac3a4 100644
--- a/libguile/deprecated.c
+++ b/libguile/deprecated.c
@@ -2936,6 +2936,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
scm_i_init_deprecated ()
{
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);