On Fri, Jul 06, 2007 at 09:21:51PM -0600, Eric Hughes wrote:
> At 08:41 AM 7/5/2007, strk wrote:
> >Users (ActionScript coders) can still change this relationship.
> >a function's "constructor" member is a pointer to self, but
> >might be changed to point to something else:
> >
> > A = function() {}
> > B = function() {}
> > A.prototype.constructor = B.prototype.constructor;
> > delete A;
>
> I had commented briefly about this situation a while ago, when it was
> certainly premature then. My proposal to this would be to initialize
> ".constructor" members with a weak pointer. The assignment in line 3 above
> would overwrite that weak pointer with an ordinary GC pointer. Thus in the
> ordinary case, reference counting would destroy a constructor member when
> its function goes out of scope, but in the general case the GC would catch
> it.
>
> The reason that this may still be premature is that it presumes a proper
> managed_ptr class with multiple variants hiding behind it (say, gc_ptr,
> rc_ptr, weak_ptr) so that this upgrade in capability happens silently at
> the point of assignment.
We're still talking about non-intrusive flavors of this pointers I guess,
which would mean reviewing the whole code base to *never* pass dumb
pointers around, right ?
--strk;
_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev