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

Reply via email to