On 7/7/14 7:11 PM, Robert O'Callahan wrote:
Difficult, definitely. Performance problem ... now that we have incremental
CC and bunch of other optimizations, I feel like it isn't. At least
compared to any other viable GC approach, all of which have their own
performance pitfalls. Safety problem ... with adequate compiler support,
probably not. Proposed C++ reflection features might even be enough for us
in Gecko.

Yeah, I shouldn't have mentioned safety there, since the fundamental problem is the same whether or not you use CC or GC. You still have to teach the JS engine or the CC about the object graph.

We use compiler support for this in Rust, thankfully, eliminating the safety and annoyance-of-writing-trace-hooks problems (via abuse of the serialization module--this should eventually migrate to something better).

I guess depending on whether you include leaks as part of safety, you have to be careful to make sure your ForgetSkippable optimizations to throw things out of the purple buffer are correct. I understand that they're necessary, but the purist in me really dislikes wiring application-specific logic into the garbage collector :)

Patrick

_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to