[m-dev.] 4 tag bits

Paul Bone paul at bone.id.au
Mon Jul 4 11:59:18 AEST 2016


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 principal do people agree with this change?

Cheers.


-- 
Paul Bone


More information about the developers mailing list