[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile 1.8 and x86_64

From: Neil Jerram
Subject: Re: guile 1.8 and x86_64
Date: Tue, 09 May 2006 07:49:01 +0100
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

Marius Vollmer <address@hidden> writes:

> Here is what is going on: the CELL_P predicate is used during the
> conservative scanning of the GC to decide whether a random word can
> possibly be a non-immediate SCM value.  Non-immediate values are the
> ones that point into the heap.  The type tag for such a non-immediate
> value is "lower three bits zero".  On 32-bit architectures, a cell is
> 8 bytes, which means that a non-immediate value is always aligned to a
> cell.  On 64-bit machines, a cell is 16 bytes, and that means that a
> word with "lower three bits zero" can still be invalid because it
> points into the middle of a cell.
> (We have similar check already for double-cells, which are 16 bytes on
> 32-bit machines.)

That's great, but I believe there's one detail still to be explained:
why is it a problem with GCC 4 but not with GCC 3?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]