1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-04 14:20:26 +02:00
Commit graph

3964 commits

Author SHA1 Message Date
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
Mikael Djurfeldt
3afe99cc79 *** empty log message *** 2000-03-21 01:41:42 +00:00
Mikael Djurfeldt
fa782d159e * policy/names.text: New file. 2000-03-21 01:41:26 +00:00
Mikael Djurfeldt
55a85c7817 *** empty log message *** 2000-03-21 01:22:15 +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
Dirk Herrmann
ba11fd4cb6 Only include root.h where it is actually needed. 2000-03-18 08:44:04 +00:00
Dirk Herrmann
7ab3fdd51f Only include strings.h where it is actually needed. 2000-03-17 18:11:58 +00:00
Dirk Herrmann
f04d8caf82 Only include ports.h where it is actually needed. 2000-03-17 16:10:13 +00:00
Dirk Herrmann
003d1fd046 Only include vectors.h in those files, where it is actually needed. 2000-03-17 15:23:03 +00:00
Dirk Herrmann
0fa27efa4a Removed empty file genio.h and references to it. 2000-03-17 13:37:33 +00:00
Mikael Djurfeldt
85dd66c830 (SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Default values set to -50. 2000-03-17 09:04:49 +00:00
Mikael Djurfeldt
1eb489a2da *** empty log message *** 2000-03-17 08:58:38 +00:00
Mikael Djurfeldt
1ba5ccd12b * gc.c, gc.h: Cleanup of the change of 2000-03-15.
Cluster sizes are now independent of GC trigger values.
GUILE_GC_TRIGGER_n can now specify a relative trigger value:
A negative integer gives fraction of total heap size in percent.
(SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Default values set to -40.
2000-03-17 08:58:27 +00:00
Mikael Djurfeldt
148f31de71 *** empty log message *** 2000-03-17 08:09:25 +00:00
Mikael Djurfeldt
4c48ba0605 * gc.c, gc.h: Cleanup of the change of 2000-03-15.
Cluster sizes are now independent of GC trigger values.
GUILE_GC_TRIGGER_n can now specify a relative trigger value:
A negative integer gives fraction of total heap size in percent.
2000-03-17 08:09:14 +00:00
Mikael Djurfeldt
08f77a4459 * init.c (scm_boot_guile_1): Introduced new variable
GUILE_MAX_SEGMENT_SIZE; New environment variable names:
GUILE_INIT_SEGMENT_SIZE_1, GUILE_GC_TRIGGER_1,
GUILE_INIT_SEGMENT_SIZE_2, GUILE_GC_TRIGGER_2
2000-03-17 08:09:03 +00:00
Jim Blandy
176067df1a Doc fix. 2000-03-16 21:11:45 +00:00
Mikael Djurfeldt
bc2c8d9886 *** empty log message *** 2000-03-16 20:17:52 +00:00
Mikael Djurfeldt
6d0f81ddaa *** empty log message *** 2000-03-16 18:23:00 +00:00
Mikael Djurfeldt
d2f51eaf14 * __scm.h (GC_FREE_SEGMENTS): Disable this until we have made
freeing of segment work with the new GC scheme.  (Thanks to
Michael Livshin.)
2000-03-16 18:22:50 +00:00
Mikael Djurfeldt
a8cffa9f69 *** empty log message *** 2000-03-16 04:26:12 +00:00
Mikael Djurfeldt
12e5fb3bb8 *** empty log message *** 2000-03-16 04:21:20 +00:00
Mikael Djurfeldt
5a55154239 *** empty log message *** 2000-03-16 04:04:25 +00:00