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

Reply via email to