[Issue 3463] Integrate Precise Heap Scanning Into the GC

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Apr 14 06:07:50 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=3463



--- Comment #92 from David Simcha <dsimcha at yahoo.com> 2011-04-14 06:04:04 PDT ---
(In reply to comment #91)
> Yes and no.  Consider right now (although I think David fixed this), we
> allocate a bit for every 16 bytes of a page, even if the whole page is a block.

Yes, I did fix this.  Now it's every 16 bytes for small (<1 page) allocations
and every page for large (>= 1 page) allocations.

> > 2. devise a 'state machine' instead that the gc executes for a type. The state
> > machine has instructions like "advance n bytes to the next pointer" and "the
> > next pointer is ambiguous" and "execute the following sequence n times."
> 
> This could be a viable solution, but I think all we need would be one
> descriptor type:
> 
> offset x has bitmask Y repeated N times.
> 
> where the offset is optional, and describes the offset from the previous
> bitmask.

This is roughly what I did in my initial patches.  The comments at the top of
the file describe it in more detail.  See
http://d.puremagic.com/issues/attachment.cgi?id=488&action=edit

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list