> > > 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
