diff options
Diffstat (limited to 'libguile/gc.c')
-rw-r--r-- | libguile/gc.c | 63 |
1 files changed, 6 insertions, 57 deletions
diff --git a/libguile/gc.c b/libguile/gc.c index 6e459c3f9..581bbc527 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -23,8 +23,6 @@ # include <config.h> #endif -#define SCM_BUILDING_DEPRECATED_CODE - #include "libguile/gen-scmconfig.h" #include <stdio.h> @@ -50,7 +48,6 @@ extern unsigned long * __libc_ia64_register_backing_store_base; #include "libguile/root.h" #include "libguile/strings.h" #include "libguile/vectors.h" -#include "libguile/weaks.h" #include "libguile/hashtab.h" #include "libguile/tags.h" @@ -83,14 +80,10 @@ int scm_expensive_debug_cell_accesses_p = 0; */ int scm_debug_cells_gc_interval = 0; -#if SCM_ENABLE_DEPRECATED == 1 /* Hash table that keeps a reference to objects the user wants to protect from - garbage collection. It could arguably be private but applications have come - to rely on it (e.g., Lilypond 2.13.9). */ -SCM scm_protects; -#else + garbage collection. */ static SCM scm_protects; -#endif + #if (SCM_DEBUG_CELL_ACCESSES == 1) @@ -195,35 +188,6 @@ SCM_DEFINE (scm_set_debug_cell_accesses_x, "set-debug-cell-accesses!", 1, 0, 0, -/* Compatibility. */ - -#ifndef HAVE_GC_GET_HEAP_USAGE_SAFE -static void -GC_get_heap_usage_safe (GC_word *pheap_size, GC_word *pfree_bytes, - GC_word *punmapped_bytes, GC_word *pbytes_since_gc, - GC_word *ptotal_bytes) -{ - *pheap_size = GC_get_heap_size (); - *pfree_bytes = GC_get_free_bytes (); -#ifdef HAVE_GC_GET_UNMAPPED_BYTES - *punmapped_bytes = GC_get_unmapped_bytes (); -#else - *punmapped_bytes = 0; -#endif - *pbytes_since_gc = GC_get_bytes_since_gc (); - *ptotal_bytes = GC_get_total_bytes (); -} -#endif - -#ifndef HAVE_GC_GET_FREE_SPACE_DIVISOR -static GC_word -GC_get_free_space_divisor (void) -{ - return GC_free_space_divisor; -} -#endif - - /* Hooks. */ scm_t_c_hook scm_before_gc_c_hook; scm_t_c_hook scm_before_mark_c_hook; @@ -408,9 +372,6 @@ SCM_DEFINE (scm_gc, "gc", 0, 0, 0, void scm_i_gc (const char *what) { -#ifndef HAVE_GC_SET_START_CALLBACK - run_before_gc_c_hook (); -#endif GC_gcollect (); } @@ -625,14 +586,6 @@ scm_getenv_int (const char *var, int def) return res; } -#ifndef HAVE_GC_SET_FINALIZE_ON_DEMAND -static void -GC_set_finalize_on_demand (int foo) -{ - GC_finalize_on_demand = foo; -} -#endif - void scm_storage_prehistory () { @@ -981,6 +934,10 @@ scm_i_tag_name (scm_t_bits tag) return "foreign"; case scm_tc7_hashtable: return "hashtable"; + case scm_tc7_weak_set: + return "weak-set"; + case scm_tc7_weak_table: + return "weak-table"; case scm_tc7_fluid: return "fluid"; case scm_tc7_dynamic_state: @@ -1061,19 +1018,11 @@ scm_init_gc () scm_c_hook_add (&scm_before_gc_c_hook, start_gc_timer, NULL, 0); scm_c_hook_add (&scm_after_gc_c_hook, accumulate_gc_timer, NULL, 0); -#if HAVE_GC_GET_HEAP_USAGE_SAFE /* GC_get_heap_usage does not take a lock, and so can run in the GC start hook. */ scm_c_hook_add (&scm_before_gc_c_hook, adjust_gc_frequency, NULL, 0); -#else - /* GC_get_heap_usage might take a lock (and did from 7.2alpha1 to - 7.2alpha7), so call it in the after_gc_hook. */ - scm_c_hook_add (&scm_after_gc_c_hook, adjust_gc_frequency, NULL, 0); -#endif -#ifdef HAVE_GC_SET_START_CALLBACK GC_set_start_callback (run_before_gc_c_hook); -#endif #include "libguile/gc.x" } |