Closed Bug 536651 Opened 15 years ago Closed 15 years ago

IPDL generates unreachable statements

Categories

(Core :: IPC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: ehren.m, Unassigned)

References

Details

This is a generated file so I can't post a link but PPluginInstanceChild.cpp contains a number of statements of the form:

return 0;
(mManagedPStreamNotifyChild).RemoveElementSorted(actor);

These can be found in CallPStreamNotifyConstructor on lines 502 and 515

Also in CallPPluginScriptableObjectConstructor on lines 651 and 665

And in CallPPluginStreamConstructor on lines 728 and 741

This was discovered using the analysis in bug 535646. Please excuse me if these were somehow intentional.
The same pattern also exists in PTestArraysParent.cpp:

return 0;
(mManagedPTestArraysSubParent).RemoveElementSorted(actor);

found in

PTestArraysParent::SendPTestArraysSubConstructor line 121

And in PPluginInstanceParent.cpp:

return 0;
(mManagedPPluginScriptableObjectParent).RemoveElementSorted(actor);

found in

PPluginInstanceParent::CallPPluginScriptableObjectConstructor on line 426 and 439

Also in PPluginModuleParent.cpp

return 0;
(mManagedPPluginInstanceParent).RemoveElementSorted(actor);

found in PPluginModuleParent::CallPPluginInstanceConstructor on line 155 and 168
This is an IPDL problem. It's generating bad code.
Summary: PPluginInstanceChild.cpp contains many (incorrectly?) unreachable statements → IPDL generates unreachable statements
This was the bug that led me to file bug 535646 in the first place ;).

It was fixed by http://hg.mozilla.org/projects/electrolysis/rev/0e3ed118aedd
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.