Remove unnecessary wrapper runnable from CreateDirectTaskDrainer() for stable state runnables

RESOLVED FIXED in Firefox 67

Status

()

enhancement
P3
normal
RESOLVED FIXED
5 months ago
5 months ago

People

(Reporter: karlt, Assigned: karlt)

Tracking

Trunk
mozilla67
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox67 fixed)

Details

Attachments

(3 attachments)

The CreateDirectTaskDrainer() call was added in https://hg.mozilla.org/mozilla-central/rev/02e5708a75fcdd9e8e4b065995f00b29896fb4b5#l9.32 to use an AbstractThread appropriate for the stream (https://bugzilla.mozilla.org/show_bug.cgi?id=1314833#c76) but became unnecessary after separate MSGs for used each DocGroup and the MSG got a single AbstractThread https://hg.mozilla.org/mozilla-central/rev/5c2fea87df16#l9.388

The original DrainDirectTask() call was added for reasons described in https://bugzilla.mozilla.org/show_bug.cgi?id=1144486#c16 which should now be unnecessary since https://hg.mozilla.org/integration/autoland/rev/ed7c9d7a635d

I suspect mixing AbstractThread-style state-mirroring with runnables queued directly for stable-state was never intended to be supported in general. EventTargetWrapper uses the stable-state to run the direct tasks, which is not going to be able to run immediately after every stable state event. I don't see any direct task support in CycleCollectedJSContext::ProcessStableStateQueue(): https://searchfox.org/mozilla-central/rev/93905b660fc99a5d52b683690dd26471daca08c8/xpcom/base/CycleCollectedJSContext.cpp#379

Attachment #9045507 - Attachment description: Bug 1529399 remove now-unnecessary aDrainDirectTasks parameter from EventTargetWrapper::Runner constructor r?padenot → bug 1529399 remove now-unnecessary aDrainDirectTasks parameter from EventTargetWrapper::Runner constructor r?padenot
Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2051c2dbfeda
Remove unnecessary wrapper runnable from CreateDirectTaskDrainer() for stable state runnables r=padenot
https://hg.mozilla.org/integration/autoland/rev/3740242a0860
remove now-unnecessary aDrainDirectTasks parameter from EventTargetWrapper::Runner constructor r=padenot
https://hg.mozilla.org/integration/autoland/rev/bda89c19aff6
replace AutoTaskGuard with equivalent AutoEnter r=padenot
You need to log in before you can comment on or make changes to this bug.