Closed Bug 1001114 Opened 11 years ago Closed 10 years ago

Trim unused code from sipcc for b2g/android builds

Categories

(Core :: WebRTC: Signaling, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mt, Unassigned)

Details

There's a lot of code in sipcc that we don't use. But it's probably linked into builds because it's still listed in the many tables of function pointers that sipcc maintains. Adam pointed out that we don't really want this code to rot, but we could stop compiling and linking it in for mobile builds, where reducing code size is more important. Apparently, sipcc runs to ~3M stripped. There are probably significant savings to be gained.
Can someone look at that soon?
The people that are qualified to do this kind of surgery are both small in number and oversubscribed. :bwc is already making changes that should help with runtime size by removing threads (bug ?). I've put this on the agenda for our next meeting to discuss moving the priority up a little.
The prototype patch for the threading work is at bug 991037; the patch is still ugly, and hard to make less ugly; we still need to service sipcc's queues either async on the same thread, or wait until the post into the message queue returns up to a certain level, since there are places in the code that deadlock or spin forever if we just do it right away. I'm pretty sure the cleanest way to proceed is to introduce an async dispatch (based on runnable_utils) after each post to a sipcc message queue, otherwise we need to manually feed sipcc cycles every time we _think_ we've done something that might ultimately (40 stack frames later) post something to a queue.
Preventing compilation of sources won't help here, since we actually need all the sources we compile now. An awful lot of this code is gone now, but there is more to do in bug 1112737 and bug 1144963.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.