Allocate data for structures on an eight-byte boundary, as
authorJim Blandy <jimb@red-bean.com>
Tue, 15 Oct 1996 00:10:59 +0000 (00:10 +0000)
committerJim Blandy <jimb@red-bean.com>
Tue, 15 Oct 1996 00:10:59 +0000 (00:10 +0000)
commit14d1400fa7d6388302c3e313ba95526559d11d15
treec38d2f58708938521665c1d63c5ba26ed623334e
parent2dfc85c018817322c19faa36457ad23fa98fcc89
Allocate data for structures on an eight-byte boundary, as
required by the tagging system.
* struct.c (alloc_struct): New function.
(scm_make_struct, scm_make_vtable_vtable): Call it.
* struct.h (scm_struct_n_extra_words): Bump to 3.
(scm_struct_i_ptr): New "field".
* gc.c (scm_gc_sweep): When we need to free the data, use the
information stored by alloc_struct to find the beginning of the
block allocated to the structure, so we can free it.
libguile/gc.c
libguile/struct.c
libguile/struct.h