On Mon, Jul 29, 2013 at 6:54 AM, Bennie Kloosteman <[email protected]>wrote:
> Rust doesnt just hand object graphs , by default most passing is by > value with the GC pointers being less used . > Sure. But the problems only become interesting when returning heap-based objects, so I was focusing on that. Some of the Rust docs talk about owned objects and transferring entire subgraphs, so it seems like Rust *does* have a notion of subgraph return. I can't tell from the various documentation sources how that works. > Yes passing by deep copy is a good thing and far too little used the > amount of CPU lost in multithreaded contention is shocking. > Either deep copy or deep frozen, yes. But just to make sure I was clear, I was noting that deepcopy-on-return can also be used to break region unifications that might prevent eager reclaim. Though in a discussion last night with Matt Rice I realized that any case that unifies the regions will necessarily have an assignment to a non-borrowed pointer. > Personally i think we are no where near to a solution yet of running cross > task comms on a shared GC .. Singularity had a good go at it . > And it's likely that we don't want to, unless we can come up with a single GC that works for all scenarios. This is required because object headers change depending on the GC, which makes cross-process pointers problematic. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
