On Wed, Jul 17, 2013 at 9:11 AM, Sandro Magi <[email protected]> wrote:
> On 17/07/2013 11:58 AM, Jonathan S. Shapiro wrote: > > I'm not at all clear why all task-local references are reference > > counted. The decision that an object is task-local seems orthogonal to > > any decision about that object's lifetime. > > I suspect for prompt reclamation/finalization reasons. I think it would > be quite surprising to many people if all of a task's resources aren't > immediately finalized as soon as it completes. Tracing introduces an > observable latency. Nah. First, finalization is rare, and second, *correct* finalization does not (and *cannot*) require tracing. But I think that misses the point. A single task might wish to build a large, cyclically connected data structure. That data may still be task-local, which is an important thing to know for concurrency reasons. I'm not arguing against reference counting; I'm merely arguing that "potentially concurrent" and "reference counted" are orthogonal concepts and should remain cleanly orthogonal.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
