void
scm_init_debug ()
{
- scm_init_opts (scm_debug_options, scm_debug_opts, SCM_N_DEBUG_OPTIONS);
+ scm_init_opts (scm_debug_options, scm_debug_opts);
scm_tc16_memoized = scm_make_smob_type ("memoized", 0);
- scm_set_smob_mark (scm_tc16_memoized, scm_markcdr);
scm_set_smob_print (scm_tc16_memoized, memoized_print);
scm_tc16_debugobj = scm_make_smob_type ("debug-object", 0);
scm_i_pthread_mutexattr_recursive);
scm_init_opts (scm_evaluator_traps,
- scm_evaluator_trap_table,
- SCM_N_EVALUATOR_TRAPS);
+ scm_evaluator_trap_table);
scm_init_opts (scm_eval_options_interface,
- scm_eval_opts,
- SCM_N_EVAL_OPTIONS);
+ scm_eval_opts);
scm_tc16_promise = scm_make_smob_type ("promise", 0);
- scm_set_smob_mark (scm_tc16_promise, promise_mark);
- scm_set_smob_free (scm_tc16_promise, promise_free);
scm_set_smob_print (scm_tc16_promise, promise_print);
undefineds = scm_list_1 (SCM_UNDEFINED);
/* GC Statistics Keeping
*/
unsigned long scm_cells_allocated = 0;
+ unsigned long scm_last_cells_allocated = 0;
unsigned long scm_mallocated = 0;
-
-/* Global GC sweep statistics since the last full GC. */
-static scm_t_sweep_statistics scm_i_gc_sweep_stats = { 0, 0 };
-static scm_t_sweep_statistics scm_i_gc_sweep_stats_1 = { 0, 0 };
-
-/* Total count of cells marked/swept. */
-static double scm_gc_cells_marked_acc = 0.;
-static double scm_gc_cells_swept_acc = 0.;
-static double scm_gc_cells_allocated_acc = 0.;
-
-static unsigned long scm_gc_time_taken = 0;
+unsigned long scm_gc_cells_collected;
+unsigned long scm_gc_cells_collected_1 = 0; /* previous GC yield */
+unsigned long scm_gc_malloc_collected;
+unsigned long scm_gc_ports_collected;
+unsigned long scm_gc_time_taken = 0;
static unsigned long t_before_gc;
-static unsigned long scm_gc_mark_time_taken = 0;
-
-static unsigned long scm_gc_times = 0;
+unsigned long scm_gc_mark_time_taken = 0;
+unsigned long scm_gc_times = 0;
+unsigned long scm_gc_cells_swept = 0;
+double scm_gc_cells_marked_acc = 0.;
+double scm_gc_cells_swept_acc = 0.;
+int scm_gc_cell_yield_percentage =0;
+int scm_gc_malloc_yield_percentage = 0;
-static int scm_gc_cell_yield_percentage = 0;
static unsigned long protected_obj_count = 0;
-/* The following are accessed from `gc-malloc.c' and `gc-card.c'. */
-int scm_gc_malloc_yield_percentage = 0;
-unsigned long scm_gc_malloc_collected = 0;
-unsigned long scm_gc_ports_collected = 0;
-
SCM_SYMBOL (sym_cells_allocated, "cells-allocated");
-SCM_SYMBOL (sym_heap_size, "cell-heap-size");
+SCM_SYMBOL (sym_heap_size, "heap-size");
+SCM_SYMBOL (sym_heap_free_size, "heap-free-size");
+SCM_SYMBOL (sym_heap_total_allocated, "heap-total-allocated");
SCM_SYMBOL (sym_mallocated, "bytes-malloced");
SCM_SYMBOL (sym_mtrigger, "gc-malloc-threshold");
SCM_SYMBOL (sym_heap_segments, "cell-heap-segments");