Another approach might be to implement hidden properties in
JavaScriptCore, but I don't know what would be involved in doing that.

Adam


On Thu, Aug 23, 2012 at 12:39 PM, Elliott Sprehn <[email protected]> wrote:
> I'm trying to fix the memory leaks in MutationObservers
> (http://www.w3.org/TR/dom/#mutation-observers),
> https://bugs.webkit.org/show_bug.cgi?id=93661
>
> This is easy in V8 where I've put a hidden property on the MutationObserver
> wrapper, and the V8MutationCallback object accesses this hidden property.
> The MutationObserver is then an ActiveDOMObject which keeps the wrapper
> alive as long as the observer has DOM nodes it's listening on, even if it's
> unreachable from JS.
>
> In the JSC side I'm not sure how to handle the cycle problem. Do I need to
> use a JSC::Weak in JSMutationCallback and then use visitChildren on the
> JSMutationObserver to call
> addOpaqueRoot(thisObject->impl()->callback->jsValue) ?
>
> In general if someone could explain visitChildren and
> isReachableFromOpaqueRoots and when I want slotVistor.append or
> addOpaqueRoot etc. it would be very helpful.
>
> - E
>
> _______________________________________________
> webkit-dev mailing list
> [email protected]
> http://lists.webkit.org/mailman/listinfo/webkit-dev
>
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to