Closed Bug 1191452 Opened 10 years ago Closed 9 years ago

IPDL: code generation inserts unnecessary moves

Categories

(Core :: IPC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla49
Tracking Status
firefox49 --- fixed

People

(Reporter: nika, Assigned: jld)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 1 obsolete file)

The code generation right now produces tons of unnecessary move calls, even some which conflict with each other. Example: https://dxr.allizom.org/mozilla-central/source/obj-x86_64-unknown-linux-gnu/ipc/ipdl/PMobileConnectionChild.cpp#86
See Also: → 1121673
Inspired by the thread on mozilla.dev.platform, I took a look at this, and I have a patch that seems to work.
Assignee: nobody → jld
Attachment #8748969 - Flags: review?(wmccloskey)
Comment on attachment 8748969 [details] [diff] [review] bug1191452-ipdl-move-fix-hg0.diff Review of attachment 8748969 [details] [diff] [review]: ----------------------------------------------------------------- ::: ipc/ipdl/ipdl/lower.py @@ +971,4 @@ > cxxargs.extend([ ExprMove(p.var()) for p in self.params ]) > + elif paramsems is 'in': > + cxxargs.extend([ p.var() for p in self.params ]) > + else: assert False Please put this on a new line.
Attachment #8748969 - Flags: review?(wmccloskey) → review+
I made a diff of the IPDL compiler output but forgot to attach it. Probably not useful at this point, but attaching it in case anyone's interested.
(In reply to Bill McCloskey (:billm) from comment #3) > > + else: assert False > > Please put this on a new line. Sure. (Normally I wouldn't write it like that; I was following the existing code's style. Although not to the point of using 0 and 1 as booleans like it does.)
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: