[Issue 3463] Integrate Precise Heap Scanning Into the GC

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jul 28 08:40:43 PDT 2010


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


nfxjfg at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #696 is|0                           |1
           obsolete|                            |


--- Comment #60 from nfxjfg at gmail.com 2010-07-28 08:40:37 PDT ---
Created an attachment (id=701)
D1 - patch for Tango's runtime to enable precise GC scanning

- lots of nasty refactoring in gcx.d:
   - kill the string mixin
   - replace binSize by binsize as suggested by Leandro (that was from
dsimcha's patch; no idea why it was there)
   - realloc is now "emulated" (this simplifies things a lot - untested because
neither the runtime, Tango, or any of my code actually use realloc); note that
realloc doesn't shrink anymore, but that could be added back
   - replace some the implementation of sizeOf and addrOf functions by using
Gcx.getInfo (the high level of code duplication in gcx.d sure is horrible)
   - explicitly support SENTINEL (I have no idea why the code apparently worked
with SENTINEL enabled; at least it should have messed up the bitmask scanning
offset)
   - now you can control per environment variable if bitmasks will be stored in
memory blocks (see Memory.d GC ddoc comment)
- update method names and documentation as suggested by Leandro in comment 44


Also, shouldn't functions like freeNoSync check for interior pointers? What
happens if you call it with such a pointer?

There was also some awkwardness about sentinels. For example getInfo() doesn't
substract the size of the sentinel from the returned size. (I fixed that
specific one because not fixing it would have meant to introduce a special
case.)

-- 
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