On 2/14/14, 3:28 AM, Jerry wrote:
Andrei Alexandrescu <seewebsiteforem...@erdani.org> writes:
Yah, it's a classic (with the manes "track" -> "mark" and "cleanup" ->
"sweep"). Allocators support that already, and installing a global GC should
do as well.

I don't follow the global GC comment.  Let's say you're using global GC
in general but want to control more tightly what it's doing at a
particular region of the code.

Mark looks at all things that have been allocated and possibly live.

Oh, I think mark/sweep in the "mark/sweep idiom" are different from "mark & sweep garbage collector". I looked for the evidence that the idiom does exist under that name, but apparently I was wrong.

Anyhow, I guess track/cleanup is less confusing.

Track says keep track of objects allocated after the track call, and
cleanup only looks at those objects that were recently allocated,
ignoring the rest of the heap.

If you're saying that allocators will provide the means of doing this,
then that's fine.

I'm thinking of something like:

MyAllocator alloc = ...;
alloc.installGlobally();
...
alloc.deallocateAll();
alloc.uninstallGlobally();



Andrei

Reply via email to