>
>
>  If I make a large array-of-structs, any of the structs can point to any
>> other struct in the same array using borrowed pointers without GC tracing,
>> because if the whole array becomes unreachable, so do all of the elements
>> of the array. This could not only dramatically reduce the number of GC
>> traced pointers, but would also eliminate indirection and bounds checking
>> costs because the borrowed pointers were validated when they were created.
>>
>
> Yes. This is *exactly* the case in the Coyotos/EROS kernels. Though
> strictly speaking we have four or five master pointer [globals] that point
> into a self-connected region containing four or five vectors. But I don't
> think the presence of four or five masters makes the type analysis problem
> any harder.
>

fwiw, there was a non-decreasing reference counting/"cleanliness analysis"
mechanism in the following paper, which had the same concept as
'LOCAL_MANY'.

www.cs.purdue.edu/homes/suresh/papers/ismm12.pdf
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to