Hi,

David Stutz wrote:

> Rotor copies generation 0, and does mark and sweep on generation 1.
>
> Are you proposing to build a semi-space collector, which bounces objects back and 
>forth between two spaces?
>
> Large objects can be very expensive to scan for interior pointers and to copy, which 
>means that mark and sweep is a good strategy once they get to a certain size. This is 
>also part of what Rotor does now.
>

yeah certainly mark and sweep does a better job esp in case of large objects and 
stuff, but i was looking at a concurrent GC scheme and implementing copying was easier 
than sweeping the heap

>
> With regard to your question, it should certainly be possible to use the handle 
>table with various kinds of collection algorithm, since support is already there for 
>both copy and mark and sweep. You'll notice that handle collection uses a callback 
>function, GCHeap::Promote, that has the check for generation 0 hardwired into it, 
>which results in calls to either copy_object_simple or mark_object_simple. At the 
>very least, this callback would need to be modified to make the handle table stuff 
>work with other collection strategies. To make everything else work (more than the 
>handle table) would involve more changes, I have no doubt...
>

thank you so much, this was all i wanted to know

regards,
archana

Reply via email to