[Issue 9094] GC not collecting under Windows

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Nov 28 18:05:16 PST 2012


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


Walter Bright <bugzilla at digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla at digitalmars.com
         Resolution|                            |WONTFIX


--- Comment #1 from Walter Bright <bugzilla at digitalmars.com> 2012-11-28 18:05:14 PST ---
The garbage collector is completely unsuited for managing gigantic allocations
like these. The reason is that a 1 gig allocation consumes 25% of the 32 bit
address space.

Since the GC is a conservative mark-sweep one, 25% of any random bit patterns
are going to be assumed to be a reference into those allocations, preventing
them from being collected.

The only way out of this is with precise GC for everything, including the stack
and static data segments. This will be impractical to achieve, if for no other
reason than making it hard to interoperate with C code when sharing pointers
between C and D.

Such large allocations need to be manually managed, with something like
malloc/free. I don't see this changing in the near future.

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