On Fri, Aug 2, 2013 at 6:36 AM, David Jeske <[email protected]> wrote:
> my brain is still trying to understand the implications of Shap's comment > about inferring the non-applicability of gc for a region.. I'm honestly not sure how useful it is in practical terms. My sketchy thought is this: It seems that I often have large, durable DAGs with internal pointers. Often, there is some "master" pointer (or small set of such pointers) that keeps the structure alive. For example, in Coyotos we have large vectors of GPT, Process, and ObjectHeader structures. These are allocated at startup and never shrink. These could be viewed, logically, as being allocated in a dedicated subregion. Any pointers *other than* the master pointers, including the internal cross-referencing pointers between these structures, could be borrowed pointers. Since they are borrowed pointers, we can overwrite them without any possibility of shrinking the region. The end result that I *hope* for is to establish that this particular subregion can't shrink, and doesn't benefit from collection. The only pointer slots we ever need to consider in this subregion would be pointer slots to *other* regions, in much the same way that we consider pointers from old space to new space. So maybe it gives us a way in *some* programs to carve up the heap into "collection worthwhile" and "collection not worthwhile" sub-parts. It doesn't help us with a tenured region that has slow churn, of course. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
