On Jul 9, 2014, at 2:48 PM, Robert O'Callahan <rob...@ocallahan.org> wrote:

> On Wed, Jul 9, 2014 at 8:23 AM, smaug <sm...@welho.com> wrote:
> 
>> In general issues with GC handling are security bugs, but in CC they lead
>> to leaks.
>> 
>> I could note that max median CC times have been lower than max GC slice
>> times at least since early 2012.
>> CC needs to deal with possible garbage only, GC tends to deal with a lot
>> more objects.
>> 
>> I'm not proposing Servo should use gc+cc, but I just don't buy the comment
>> that
>> gc+cc is particularly difficult.
>> 
> 
> If you think so, then I think we *should* be considering GC+CC for Servo.
> 
> Crazy idea: could it even make sense for JS GC to use a traced nursery and
> a refcounted+CC tenured space?

Would the overhead of ref count modification in JS really be acceptable? I 
assume it would have to be a deferred RC scheme, which is a reasonable increase 
in complexity.

In theory, the Rust compiler should be able to automatically generate the 
correct hooks for both tracing and trial deletion, without requiring unsafe 
code on the part of the user. At that point, we should be able to experiment 
with different GC schemes without changing much code in Servo itself.

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

Reply via email to