This is the mail archive of the guile-cvs@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

guile/guile-core/libguile gc.c


CVSROOT:	/cvs/guile
Module name:	guile
Changes by:	mdj@sourceware.cygnus.com	00/03/13 22:40:10

Modified files:
	guile-core/libguile: gc.c 

Log message:
	* __scm.h eq.c, eval.c, gc.c, hc.h, gh_data, hash.c, numbers.c,
	numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
	rewrite of handling of real and complex numbers.
	(SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
	removed along with the support for floats.  (Float vectors are
	still supported.)
	
	* gc.c (scm_freelist2): multi-cell freelists.
	(inner_map_free_list): map_free_list, parameterized on ncells.
	"nn cells in segment mm" was misleading for ncells > 1; changed to
	"objects".  still print cells too, though.
	(scm_map_free_list): rewritten using inner_map_free_list.
	(scm_check_freelist): get freelist as parameter, since now we have
	more than one.
	(scm_debug_newcell2): multi-cell variants of
	scm_debug_newcell.
	(scm_gc_for_newcell): take ncells and freelist pointer as
	parameters.
	(scm_gc_mark): add case for tc7_pws (procedures with setters are
	now double cells).
	(scm_gc_sweep): don't free the float data, since it's not malloced
	anymore.
	(init_heap_seg): didn't understand what n_new_objects stood for,
	so changed to n_new_cells.
	(make_initial_segment): new function, makes an initial segment
	according to given ncells.
	(scm_init_storage): call make_initial_segment, for ncells={1,2,3}.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]