Merge commit '032913739218c756f673bfb9c8f66ef9f8f02330' into boehm-demers-weiser-gc
authorLudovic Courtès <ludo@gnu.org>
Wed, 10 Sep 2008 20:33:40 +0000 (22:33 +0200)
committerLudovic Courtès <ludo@gnu.org>
Wed, 10 Sep 2008 20:33:40 +0000 (22:33 +0200)
Conflicts:
libguile/gc.c
libguile/srcprop.c
libguile/srcprop.h

15 files changed:
1  2 
configure.in
libguile/Makefile.am
libguile/debug.c
libguile/eval.c
libguile/gc.c
libguile/init.c
libguile/macros.c
libguile/numbers.c
libguile/print.c
libguile/private-gc.h
libguile/regex-posix.c
libguile/srcprop.c
libguile/struct.c
libguile/symbols.c
libguile/threads.c

diff --cc configure.in
Simple merge
Simple merge
@@@ -526,9 -529,10 +529,9 @@@ SCM_DEFINE (scm_debug_hang, "debug-hang
  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);
diff --cc libguile/eval.c
@@@ -6013,13 -4064,13 +4052,11 @@@ scm_init_eval (
                            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);
diff --cc libguile/gc.c
@@@ -223,28 -208,35 +223,29 @@@ unsigned long scm_mtrigger
  /* 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");
diff --cc libguile/init.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge