[Webkit-unassigned] [Bug 95057] [chromium] Allow impl-thread deletion of only some resources

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 5 12:40:33 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=95057





--- Comment #33 from Christopher Cameron <ccameron at chromium.org>  2012-09-05 12:40:47 PST ---
(In reply to comment #32)

> The only thing I'm worried about here is whether backing objects could be destroyed/created by other means while this task is in flight. If so these pointers don't uniquely identify backing objects any more.

So there does exist a bug here -- a reduceMemory() call can destroy a backing that has been handed to the main thread, but the main thread hasn't deleted yet.  I don't see a way around that without basically going back to the scheme of having a list of evicted textures in the PTM which is protected by a mutex (so, going back to the old scheme).

> (From update of attachment 162173 [details])
> As a last thought, I wonder if we could avoid having two backing sets, and instead copy a custom vector of structs like:
> struct ImplBacking
> { 
>    Backing* backing,
>    int priority;
>    bool evicted;
> };
> Then we could just process that list before doing any other backing management in the commit (which all happens during updating textures). Thought for food.



More information about the webkit-unassigned mailing list