[m-dev.] 4 tag bits
Julien Fischer
jfischer at opturion.com
Wed Jul 6 10:58:45 AEST 2016
Hi Paul,
On Mon, 4 Jul 2016, Paul Bone wrote:
> While working on a memory fragmentation issue for Prince I was reading the
> Boehm GC sources. I now have a good understanding of their allocation
> algorithms. I found that Boehm GC memory is allocated in "granules" (both
> sized and aligned), and a granule is two native machine words long. Meaning
> that we could add an extra tag bit on all backends using the Boehm GC.
>
> If we do this are there any other limitations we might hit?
>
> I assume there are a few, relatively easy to find places in the code where
> this needs to be updated. Are there any hard-to-find or not-obvious things
> that need to be updated?
In principle, everything affected by the number of tag bits should to
be controlled by the macro MR_TAGITS and its friends. (Some of the
build scripts -- the one that builds the source distribution for example
-- do hardcode the number of tag bits.)
> In principal do people agree with this change?
Sure, although the use of the extra tag bit should be optional to
begin with.
Julien.
More information about the developers
mailing list