On Tue, Jul 8, 2014 at 2:56 PM, Patrick Walton <pcwal...@mozilla.com> wrote:

> 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 :)
>

The pragmatist in me loves it :-).

There's probably a principled way to implement ForgetSkippable in a way
that's automatically checkable.

Having said all that, I'm not necessarily advocating GC+CC for Servo. It is
a hard and complex approach. I'm still a little bit sad that we can't teach
Rust to support GC types with a pluggable collector and integrate
Spidermonkey's (having taught Spidermonkey's to handle non-JS objects).

Rob
-- 
oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo
owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo
osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo
owohooo
osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o
oioso
oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo
owohooo
osoaoyoso,o o‘oYooouo ofooooolo!o’o owoiololo oboeo oiono odoaonogoeoro
ooofo
otohoeo ofoioroeo ooofo ohoeololo.
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to