On 13-07-10 01:47 PM, Niko Matsakis wrote:

> - Use MMU for write barriers.
> - Add write guards to `modify()` and try to eliminate them statically
>   whenever possible (inter-procedural analysis).

Yeah, I figured we'd do this. Trap @-writes when they
might-be-to-the-heap. Mask to page boundary, check generation numbers,
update. The MMU is also certainly possible if the environment permits it.

> - Forbid managed data from *owning* values with internal mutation, like 
> `Cell` or `RcMut`.
> - Forbid `Cell` and friends from containing managed data.

These seem a little arbitrary. The first was how we had it for a while
(and it prohibits cycle-formation, pleasantly) but people complained.
The latter might fly, I'm not sure. I expect there are too many use
cases, but that's pure speculation on my part.

> - Don't use a GC scheme that requires write barriers.

That's where we're starting out. We'll see how it goes.

-Graydon
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to