On Fri, May 05, 2006 at 04:05:34PM +0200, Miroslav Lichvar wrote:
> The scm_mark_locations function in gc-mark.c calls scm_gc_mark on
> everything located in one of the allocated segments. Shouldn't there
> be a check if the address is at least scm_t_cell aligned? 

Looks like the CELL_P macro is there exactly for this purpose, the
following change in private-gc.h is probably the right thing to do.

137c137
< #define CELL_P(x)  (SCM_ITAG3 (x) == scm_tc3_cons)
---
> #define CELL_P(x)  (!(SCM_UNPACK (x) & (sizeof (scm_t_cell) - 1)))

-- 
Miroslav Lichvar


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to