gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] GC branch plan and call for help


From: strk
Subject: [Gnash-dev] GC branch plan and call for help
Date: Wed, 23 Dec 2009 17:19:28 +0100

Alright hackers, I have a plan!  :)
I've given it enough thinking and belive it'll work
to mix mark&sweep and reference couning.

Just, I don't have much time to do, and there's in particular
one portion of the required work which is error prone and
pretty annoying.

The annoying part is taking back use of intrusive_ptr for
all GcResources. If anyone is interested in doing that part I'll
go on with the rest.

The shared GC branch already contains the code for the GC part.
When running almost any movie it segfaults do to inconsistent use
of intrusive_ptr<GcResource> in current code (most notably one
in AsSetPropFlags temporarly storing an as_object into an
intrusive_ptr).

When the intrusive_ptr use is consistent we should *only* get
segfaults due to recycling of unreachable circular ref, which would
be fixed by implementing an override of the GcResource::cleanResourceLinks
virtual method in the relevant classes.

NOTE that implementing the consistent use of intrusive_ptr will still
allow enabling/disabling GC/RC mix by only touching libbase/smart_ptr.h
so that we can compare memory use and performances.

--strk;

 Free GIS & Flash consultant/developer      ()  ASCII Ribbon Campaign
 http://foo.keybit.net/~strk/services.html  /\  Keep it simple! 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]