Dirk Herrmann
f81e080b24
Fixed some bugs that are due to the fact that SCM is a void* now.
...
Cleaned up a macro definition. Thanks to Dale P. Smith for both of
these patches.
2000-03-22 20:48:18 +00:00
Dirk Herrmann
1ff2fa6e1a
Don't use SCM2PTR for non scheme values.
2000-03-22 10:27:36 +00:00
Mikael Djurfeldt
6f29dc6d2f
*** empty log message ***
2000-03-22 02:12:58 +00:00
Mikael Djurfeldt
8f9da2f9e9
* tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
...
pointer-arithmetic induced by the SCM_PACK/UNPACK change.
2000-03-22 02:12:47 +00:00
Mikael Djurfeldt
998308d305
* print.c (scm_iprin1): SCM_PACK/UNPACK corrections.
2000-03-22 02:12:35 +00:00
Mikael Djurfeldt
890b019c74
* gc.c (scm_gc_sweep): SCM_PACK/UNPACK corrections.
2000-03-22 02:12:24 +00:00
Mikael Djurfeldt
a963f78704
* eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
2000-03-22 02:12:13 +00:00
Mikael Djurfeldt
15237f3002
* dynwind.c (scm_swap_bindings): Ditto.
2000-03-22 02:09:10 +00:00
Mikael Djurfeldt
9c6599f96b
Code layout
2000-03-22 00:21:56 +00:00
Mikael Djurfeldt
8d924bfebc
*** empty log message ***
2000-03-21 23:39:00 +00:00
Mikael Djurfeldt
6587a96693
Oops
2000-03-21 23:36:28 +00:00
Mikael Djurfeldt
3920465b9c
*** empty log message ***
2000-03-21 23:14:43 +00:00
Mikael Djurfeldt
9f0e55a65b
* 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 23:14:31 +00:00
Mikael Djurfeldt
90cca6f9aa
*** empty log message ***
2000-03-21 20:33:33 +00:00
Mikael Djurfeldt
77490b49ab
* 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 20:33:18 +00:00
Dirk Herrmann
8246bf3eba
Don't cast SCM values to pointers.
2000-03-21 16:44:18 +00:00
Dirk Herrmann
95c9e176a6
Make scm_strhash's string parameter constant.
2000-03-21 15:49:53 +00:00
Dirk Herrmann
7352d0b203
Fix: Don't cast SCM values to pointer. Use SCM2PTR instead.
2000-03-21 11:14:24 +00:00
Dirk Herrmann
b00c8cdc68
Fixed entry date.
2000-03-21 10:58:36 +00:00
Dirk Herrmann
9b139b4e2b
Fix: Don't unpack results of SCM_INUM.
2000-03-21 10:04:07 +00:00
Mikael Djurfeldt
bd54e664ae
*** empty log message ***
2000-03-21 03:58:05 +00:00
Mikael Djurfeldt
8fef55a81c
* 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 (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-21 03:57:53 +00:00
Mikael Djurfeldt
70a95005c0
* init.c (scm_boot_guile_1): Renamed GUILE_GC_TRIGGER_1 -->
...
GUILE_MIN_YIELD_1, GUILE_GC_TRIGGER_2 --> GUILE_MIN_YIELD_2.
2000-03-21 03:56:07 +00:00
Mikael Djurfeldt
df2d517825
*** empty log message ***
2000-03-21 02:38:12 +00:00
Mikael Djurfeldt
1811ebcee5
* 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.
2000-03-21 02:37:59 +00:00
Dirk Herrmann
f2961ccd8f
A couple of typing problems (at leat partially) resolved.
2000-03-20 18:14:07 +00:00
Mikael Djurfeldt
f1083dd7d7
*** empty log message ***
2000-03-20 15:05:46 +00:00
Mikael Djurfeldt
7dbff8b15d
(gc_sweep_freelist_finish): Inserted explanation of use of
...
gc_trigger.
2000-03-20 15:05:33 +00:00
Mikael Djurfeldt
80770ddc5f
*** empty log message ***
2000-03-20 14:57:19 +00:00
Mikael Djurfeldt
37ddcaf606
* gc.c (scm_gc_stats): Inserted explanation of local_scm_mtrigger
...
etc.
(scm_gc_yield_1): New variable: Holds previous yield. Used to
make better judgements.
2000-03-20 14:57:04 +00:00
Mikael Djurfeldt
f1d316dd37
*** empty log message ***
2000-03-20 14:39:36 +00:00
Mikael Djurfeldt
7febb4a206
* print.h, stacks.h, options.c, options.h: Changed C++
...
commentaries to C.
2000-03-20 14:39:23 +00:00
Mikael Djurfeldt
7b4cc8312d
*** empty log message ***
2000-03-20 14:31:38 +00:00
Mikael Djurfeldt
6099260c65
* options.h (scm_option): Changed C++ commentary to C.
2000-03-20 14:31:28 +00:00
Dirk Herrmann
7a710745b4
Fix a couple of SCM_PACK / SCM_UNPACK uncleanlynesses.
2000-03-20 14:00:27 +00:00
Mikael Djurfeldt
1ef20c801b
*** empty log message ***
2000-03-20 13:39:44 +00:00
Mikael Djurfeldt
bda1446cd5
* gc.c (adjust_gc_trigger): Improved documentation.
...
(alloc_some_heap): Since gc_trigger is used against
freelist->collected, this is the value which should be used to
predict minimum growth.
2000-03-20 13:39:33 +00:00
Dirk Herrmann
b464b97039
Fix mixup of packed/unpacked SCM values. (Thanks Thien-Thi Nguyen.)
2000-03-20 04:19:54 +00:00
Dirk Herrmann
3ab9f56eaf
scm_ash: Fixed typing problems with the second parameter and added some
...
documentation. (Thanks Thien-Thi Nguyen for indicating the problem.)
2000-03-20 04:02:56 +00:00
Mikael Djurfeldt
78a4915a1e
*** empty log message ***
2000-03-19 21:00:43 +00:00
Mikael Djurfeldt
8b0d194f91
* gc.c, gc.h (scm_gc_yield): New variable.
...
(adjust_gc_trigger): Use scm_gc_yield.
(alloc_some_heap): Use scm_gc_yield instead of
scm_gc_cells_collected.
2000-03-19 21:00:30 +00:00
Mikael Djurfeldt
05bc3265aa
*** empty log message ***
2000-03-19 20:05:47 +00:00
Mikael Djurfeldt
3e830be1eb
* debug.c: Added #include "root.h". (Thanks to Thien-Thi Nguyen.)
2000-03-19 20:05:29 +00:00
Mikael Djurfeldt
db8c2c5a89
* coop-threads.c: Addd #include "root.h", #include "strings.h".
2000-03-19 20:05:19 +00:00
Mikael Djurfeldt
b37fe1c56e
* gc.c (scm_gc_for_newcell, adjust_gc_trigger): Improved GC
...
trigger adjustmeant: Take yield (freed cells) for all freelists
into account.
(SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Tuned
to 50000 cell heap with 45% trigger.
(scm_gc_cells_collected): Reintroduced.
(SCM_HEAP_SIZE): New macro.
(scm_gc_sweep): Reintroduced correct computation of
scm_cells_allocated.
(scm_freelist_t): Corrected commentary for field `cluster_size':
Clustersize counts objects, not cells; New member
`clusters_allocated'.
2000-03-19 20:05:02 +00:00
Michael Livshin
89e00824a0
* *.[hc]: add Emacs magic at the end of file, to ensure GNU
...
indentation style.
2000-03-19 19:01:16 +00:00
Mikael Djurfeldt
afcfc5bbe0
*** empty log message ***
2000-03-19 13:35:17 +00:00
Mikael Djurfeldt
1651c824c9
* threads.h: Added #include "libguile/throw.h". (Thanks to
...
Thien-Thi Nguyen.)
2000-03-19 13:35:03 +00:00
Michael Livshin
a00c95d9c6
* tags.h: (SCM_DOUBLE_CELLP, SCM_NDOUBLE_CELLP): new macros.
...
* gc.h: (typedef struct scm_freelist_t) remove from here.
* gc.c: (CELL_UP, CELL_DN) make these macros take additional
parameter (the span).
(CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK) new macros.
(typedef struct scm_freelist_t) move here from gc.h, it had no
business being externally visible.
(typedef struct scm_heap_seg_data_t) renamed from
scm_heap_seg_data, to be style-compliant.
(scm_mark_locations) if the possible pointer points to a
multy-cell, check that it's properly aligned.
(init_heap_seg) alighn multy-cells properly, work with the
assumption that the segment size divides cleanly by cluster size
(so that there's no spill).
(round_to_cluster_size) new function.
(alloc_some_heap, make_initial_segment) use round_to_cluster_size
to satisfy the new init_heap_seg invariant.
2000-03-18 11:09:41 +00:00
Dirk Herrmann
28b3236d36
Only include async.h where it is actually needed.
2000-03-18 09:16:48 +00:00