Just my quick 2 cents...

Akira's patch is much more acceptable imho because it doesn't change
the already pretty hardset semantics of the VALUE meaning. In
addition, the other patch has a significant performance / memory
impact that should be considered before accepting the patch. By moving
fixnum down by a full 4 powers of 2, and triggering Bignum conversion
much earlier than is currently seen, memory utilization patterns will
change significantly for anyone working with decently large integers.

Akira's patch simply guarantees that all Object pointers are aligned
to never collide with the other immediates, which is the overall goal
of having immediate values. It's also significantly simplier.

Nice job Akira.

 - Evan <evan at fallingsnow dot net>

On 2/28/06, Tanaka Akira <akr / m17n.org> wrote:
> In article <87vev0hxu5.fsf / m17n.org>,
>  Tanaka Akira <akr / m17n.org> writes:
>
> > +            p = (RVALUE*)((VALUE)p + sizeof(RVALUE) - ((VALUE)p % sizeof(RVALUE)));
>
> Oops.  The original pointer should be keeped to call free.
> struct heaps_slot needs one more fiedlds for it.
> --
> Tanaka Akira
>
>


--
When I do good, I feel good;  when I do bad, I feel bad,
and that is my religion.
    -- Abraham Lincoln (1809 - 1865)