]> git.llucax.com Git - software/dgc/cdgc.git/log
software/dgc/cdgc.git
14 years agoMove the modules to package rt.gc.cdgc
Leandro Lucarella [Sat, 29 May 2010 23:11:07 +0000 (20:11 -0300)]
Move the modules to package rt.gc.cdgc

Tango 0.99.9 uses this package scheme, so we follow it for easier
integration.

14 years agoMinor formatting fixes
Leandro Lucarella [Sat, 29 May 2010 23:02:24 +0000 (20:02 -0300)]
Minor formatting fixes

14 years agoAdd weak reference support for Tango 0.99.9
Leandro Lucarella [Sat, 29 May 2010 22:54:04 +0000 (19:54 -0300)]
Add weak reference support for Tango 0.99.9

14 years agoRemove the MULTI_THREADED version
Leandro Lucarella [Thu, 21 Jan 2010 02:38:38 +0000 (23:38 -0300)]
Remove the MULTI_THREADED version

This will be an inherently concurrent GC, so having a non-threaded version
of it makes no sense. Even more, I think the non-threaded doesn't even
compile.

14 years agoRemove (un)committed pages distinction
Leandro Lucarella [Sun, 17 Jan 2010 21:29:52 +0000 (18:29 -0300)]
Remove (un)committed pages distinction

This distinction is only made by Windows, and adds an extra complexity
that probably doesn't worth it (specially for other OSs, where this adds
a little overhead too, in both space and time).

Other OSs (like Linux) even do all the committing automatically, under the
hood, see:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;\
f=Documentation/vm/overcommit-accounting;hb=HEAD

14 years agoMake allocation functions that can fail return bool
Leandro Lucarella [Sun, 17 Jan 2010 00:48:12 +0000 (21:48 -0300)]
Make allocation functions that can fail return bool

There is no point on returning int, since no error code is returned, just
failure or success.

14 years agoFix spacing style
Leandro Lucarella [Sun, 17 Jan 2010 00:14:07 +0000 (21:14 -0300)]
Fix spacing style

14 years agoDeclare public allocation API
Leandro Lucarella [Sun, 17 Jan 2010 00:01:04 +0000 (21:01 -0300)]
Declare public allocation API

Declare the public API and move comments to the declaration, to avoid
duplication and let ddoc document the functions for all versions.

14 years agoRemove valloc() allocation method
Leandro Lucarella [Sat, 16 Jan 2010 23:45:22 +0000 (20:45 -0300)]
Remove valloc() allocation method

Almost any system that support valloc() supports mmap(), and being
a deprecated function, it makes not much sense to maintain it as an
allocation method.

14 years agoMake sure MAP_ANON exists when using mmap()
Leandro Lucarella [Sat, 16 Jan 2010 23:43:54 +0000 (20:43 -0300)]
Make sure MAP_ANON exists when using mmap()

14 years agoRemove commented out code
Leandro Lucarella [Sat, 16 Jan 2010 23:40:15 +0000 (20:40 -0300)]
Remove commented out code

14 years agoRemove Tango dependency
Leandro Lucarella [Sat, 16 Jan 2010 00:29:31 +0000 (21:29 -0300)]
Remove Tango dependency

To avoid Tango dependency, we need to write our own C-API interface. This
is done in the new gc.libc module. In the future, maybe this module will
use Tango or Phobos accordly, but for now we stay free of dependencies (at
the expense of some extra work).

14 years agoRemove debug version THREADINVARIANT
Leandro Lucarella [Sat, 16 Jan 2010 00:34:25 +0000 (21:34 -0300)]
Remove debug version THREADINVARIANT

The code seemed to be broken, since the self thread ID was stored at
initialization and then asserted that the GC always run from that thread,
which seems far from reality (the GC can be invoked by any thread).

The PRINTF version now doesn't print the current thread ID either.

14 years agoRename module names to make more sense
Leandro Lucarella [Thu, 14 Jan 2010 02:29:33 +0000 (23:29 -0300)]
Rename module names to make more sense

14 years agoMake gc a package
Leandro Lucarella [Sun, 3 Jan 2010 18:20:21 +0000 (15:20 -0300)]
Make gc a package

14 years agoAdd a "clean" target to the Makefile
Leandro Lucarella [Thu, 24 Dec 2009 23:22:19 +0000 (20:22 -0300)]
Add a "clean" target to the Makefile

14 years agoPut built stuff in a separated build directory
Leandro Lucarella [Thu, 24 Dec 2009 23:20:57 +0000 (20:20 -0300)]
Put built stuff in a separated build directory

14 years agoAdd a wrapper script to run programs using CDGC
Leandro Lucarella [Thu, 24 Dec 2009 23:16:01 +0000 (20:16 -0300)]
Add a wrapper script to run programs using CDGC

14 years agoRemove redundant "private" from import statements
Leandro Lucarella [Thu, 24 Dec 2009 23:10:28 +0000 (20:10 -0300)]
Remove redundant "private" from import statements

Since a long while ago, imports are "private" by default.

14 years agoConcurrent D Garbage Collector initial commit
Leandro Lucarella [Thu, 24 Dec 2009 22:56:49 +0000 (19:56 -0300)]
Concurrent D Garbage Collector initial commit

The Concurrent D Garbage Collector (CDGC) is based on the "basic" garbage
collector from the Tango runtime. This first commit is a copy of this GC,
as it is in Tango 0.99.8.

The CDGC is designed only for Linux, at least for now.