On 7/12/13 7:09 PM, Boris Zbarsky wrote:
On 7/12/13 7:45 PM, Patrick Walton wrote:
2. Use the JS GC for wrapped objects and reference counting for
non-wrapped objects. This assumes there are no cycles between them,
which I believe to be the case (though could be wrong)

If we can have both wrapped and unwrapped DOM nodes, I don't see how we
can have no cycles between the two...

Yeah, you're right. We would need some sort of strongly-connected-cycle detector, either ad hoc or a cycle collector. Neither sounds appealing, but especially the former. Probably the best thing to do in this case would be RC+CC, like Gecko does, but compiler-assisted.

At this point I'm most inclined to try to implement the allocate-in-the-JS-GC heap strategy, and see how far that gets us. If that isn't feasible, we can try wrapping all DOM nodes and then measure the overhead (actually, this is what we're doing now, so this is more easily testable). If none of those pan out, then we can investigate RC+CC schemes.

Patrick

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

Reply via email to