308
edits
No edit summary |
No edit summary |
||
| Line 13: | Line 13: | ||
I'm sort of assuming we want to change as little of the current object graph as possible (say we don't want to add another C++ class sitting between nsDocument and nsGlobalWindow). | I'm sort of assuming we want to change as little of the current object graph as possible (say we don't want to add another C++ class sitting between nsDocument and nsGlobalWindow). | ||
GC thoughts: the outer and inner should mark each other as long as the inner is the current inner for the outer. Once that stops being the case, the inner can't be reached from the outer (so no reason to mark in that direction). I think we need to keep marking from inner to outer because | GC thoughts: the outer and inner should mark each other as long as the inner is the current inner for the outer. Once that stops being the case, the inner can't be reached from the outer (so no reason to mark in that direction). I think we need to keep marking from inner to outer because making a native method call on the inner needs to end up going to the XPCWrappedNative, hence we need to keep it alive. I guess this is one problem with the XPCWrappedNative's mFlatJSObject being the outer object... | ||
--[[User:Bzbarsky|Bzbarsky]] 21:16, 4 Jun 2005 (PDT) | --[[User:Bzbarsky|Bzbarsky]] 21:16, 4 Jun 2005 (PDT) | ||
edits