Looked further and i agree.

Whether its useful all depends on whether a program can be broken down into
many regions..if not which is likely  ( except for app serves etc which as
you say are served well by nurseries) then you do have an all object walk
while paused ( or near all) for a split.  Perhaps the programmer can create
roots and hence regions via a weak reference system.

I can see the lookup being done concurrently for the heap objects but not
with changing registers/stack  . Maybe while a "mark" is going on you track
all new references ( eg in the add ref count code  just add to a hashlist
while a "mark" is running)  and you take this into account before any
objects  are moved to a different region ( eg if any objects in the
candidate region are on the hashlist than dont do anything)   . This may
get you a pauseless incremental approach albeit expensive ( and ref
counting is already very expensive).

Ben


On Wed, Sep 4, 2013 at 1:24 PM, David Jeske <[email protected]> wrote:

> On Tue, Sep 3, 2013 at 9:48 PM, Bennie Kloosteman <[email protected]>wrote:
>
>> Yes sorry busy . These are different regions ( eg not linearly allocated
>> )etc
>>
>
> The "regions" in the ARC inferred regions paper bear little resemblance to
> any other regions we're talking about. "Regions" is quickly becoming one of
> the most confusingly overloaded CS terms we have going.
>
>
>>  ..  still cant you keep the object around .. and check its references ?
>>
>
> No idea what you are asking here.
>
> _______________________________________________
> bitc-dev mailing list
> [email protected]
> http://www.coyotos.org/mailman/listinfo/bitc-dev
>
>
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to