*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index 0a9ecff..24662c6 100644 (file)
@@ -1,3 +1,89 @@
+2000-03-22  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
+       pointer-arithmetic induced by the SCM_PACK/UNPACK change.
+
+       * print.c (scm_iprin1): SCM_PACK/UNPACK corrections.
+
+       * gc.c (scm_gc_sweep): SCM_PACK/UNPACK corrections.
+
+       * eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
+
+       * dynwind.c (scm_swap_bindings): SCM_PACK/UNPACK corrections.
+
+       * async.c, __scm.h: Removed lots of the old async click logic.  It
+       is possible to reinsert it by defining GUILE_OLD_ASYNC_CLICK in
+       __scm.h.  Let's try this out and dump the old code after the
+       threads reorganization.
+       (set-tick-rate, set-switch-rate): Conditionally removed.
+
+2000-03-21  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * gc.c (scm_gc_mark): Bugfix 1: The recent SCM_PACK/UNPACK change
+       made SCM values into pointers.  This turned an arithmetic
+       computation of the address of the vcell into a pointer-arithmetic
+       one, thereby screwing up marking of structs.
+       Bugfix 2: Removed incompletely introduced loop variable `j' used
+       when protecting the tail array of a struct.
+
+2000-03-21  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * struct.h (SCM_STRUCT_DATA):  Don't cast SCM values to pointers.
+
+2000-03-21  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * symbols.h, symbols.c (scm_strhash):  Declare the string
+       parameter as constant, since it is not modified.
+
+       * symbols.c (scm_intern_obarray_soft,
+       scm_sysintern0_no_module_lookup):  Can now pass constant strings
+       to scm_strhash without need for casting.
+
+2000-03-21  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * vectors.h (SCM_VELTS, SCM_VELTS_AS_STACKITEMS):  Don't cast SCM
+       values to pointers.  Use SCM2PTR instead.
+
+2000-03-21  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * async.c (scm_set_tick_rate, scm_set_switch_rate):  Don't unpack
+       results of SCM_INUM.
+
+2000-03-21  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * init.c (scm_boot_guile_1): Renamed GUILE_GC_TRIGGER_1 -->
+       GUILE_MIN_YIELD_1, GUILE_GC_TRIGGER_2 --> GUILE_MIN_YIELD_2.
+       GUILE_MIN_YIELD_X now take *positive* fractions of heap size.
+
+       * gc.c, gc.h (SCM_MIN_YIELD_1, SCM_MIN_YIELD_2,
+       min_yield_fraction, min_yield, adjust_min_yield): Renamed from
+       SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2, gc_trigger_fraction,
+       gc_trigger, adjust_gc_trigger.
+
+       * gc.c (alloc_some_heap): Further improvement of minimal heap size
+       prediction.
+       (SCM_MAX): New macro.
+       (scm_freelist_t): New field: collected_1. Previous amount of
+       collected cells.
+       (gc_sweep_freelist_finish): Trigger based on two last values of
+       freelist->collected to avoid unnecessary allocation due to
+       temporary peaks.
+       (SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2):
+       Adjusted to 45000 cells, 40% and 40%.  Gives quick startup
+       without extra heap allocation.
+
+2000-03-20  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * numbers.h (SCM_MAKINUM):  The parameter to SCM_MAKINUM should
+       already be a C value.  No need to unpack it.
+
+       * numbers.h (scm_long_long2num):  Cast the parameter to scm_bits_t
+       if we know it fits into an inum.
+
+       * ramap.c (ramap_rp):  An scm_tc7_[ui]vect object does point to a
+       field of long values.  In contrast, SCM_VELTS accesses a field of
+       SCM values.
+
 2000-03-20  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
        * gc.c (scm_gc_stats): Inserted explanation of local_scm_mtrigger