On Tue, Aug 6, 2013 at 8:50 PM, Bennie Kloosteman <[email protected]>wrote:
> Why a sub heap and not a seperate heap ? Or is it because its still under > the GCs nominal control ? > At the time I wrote that, I was considering this as a problem of how to subset the GC heap. In that frame, thinking of it as a sub-heap seemed to make sense. Ultimately, there are no separate heaps. At a certain level, all objects live in some portion of the heap and need sufficiently compatible semantics for a single set of pointer types to make sense. The minute you can have a pointer from one "separate heap" to another you have a single heap again. > ** > Why do we need ARC at all in the automatic system , since It can be slow > for the non single threaded cases. ? > I raised ARC in the context of trying to avoid mark/sweep overheads on sub-heaps. If you aren't marking in a sub-heap, you need something that lets you know when to release. ARC is one possibility. This is one of several possible approaches to reducing the tenured churn problem. > ...why is the pauseless GC not doing it on a separate heap? > Again, I don't think there *is* a separate heap. As to why pauseless GC doesn't solve this: 1. We don't have a readily available pauseless GC implementation, and we don't know whether such an implementation is feasible on a weakly consistent memory. 2. If we *know* a region has certain liveness properties, there is no reason to trace it, regardless of the tracing technology. Pauseless concurrent GC may "keep up", but it still places a workload on the CPU and the memory subsystem. Techniques that let us reduce that work help us for * any* GC technology, and are worth exploring for that reason. In terms of relieving the GC regions , type aware heaps seem more promising. > The early research showed some fairly bad fragmentation issues with type-aware heaps, and I think you may be under-rating the problems that can arise when pointers you thought were dead become valid again through reallocation. > Not many type safe languages that allow these sort of things done in a > lib .. > Who said anything about doing this stuff in a library? shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
