Shaun Ruffell
02fe6beeb4
wct4xxp: Reduce stack usage in oct612x API.
Reduce the stack usage by replacing the mOCT6100_RETRIEVE_NLP_CONF_DWORD
and mOCT6100_SAVE_NLP_CONF_DWORD macros with functions. Some compilers
do a better job of optimizing the local variables declared in those
macros than others.
For example, with gcc 4.3.0, running
]# make stackcheck | grep Oct6100 | head -n 20 | sed -e 's/^0\S* //g' | uniq
Before:
Oct6100ApiWriteVqeNlpMemory [wct4xxp]: 1112
Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:520
Oct6100ApiSetChannelLevelControl [wct4xxp]: 392
Oct6100ApiBridgeEventRemove [wct4xxp]: 344
Oct6100ApiDebugChannelOpen [wct4xxp]: 312
Oct6100ApiWriteVqeAfMemory [wct4xxp]: 296
Oct6100ApiSetChannelTailConfiguration [wct4xxp]:264
Oct6100ApiRandomMemoryWrite [wct4xxp]: 248
Oct6100ApiTransferToneEvents [wct4xxp]: 248
Oct6100ApiModifyChannelStructs [wct4xxp]: 232
After:
Oct6100ApiBridgeEventRemove [wct4xxp]: 344
Oct6100ApiDebugChannelOpen [wct4xxp]: 312
Oct6100ApiRandomMemoryWrite [wct4xxp]: 248
Oct6100ApiTransferToneEvents [wct4xxp]: 248
Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:248
Oct6100ApiModifyChannelStructs [wct4xxp]: 232
Oct6100ApiBridgeRemoveParticipantFromChannel [wct4xxp]:216
Oct6100ApiWriteVqeNlpMemory [wct4xxp]: 200
Oct6100ApiInitChannels [wct4xxp]: 168
Oct6100ApiProgramNLP [wct4xxp]: 168
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9751
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9754 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-10 16:29:47 +00:00
..
2010-08-27 21:59:27 +00:00
2011-01-21 05:30:03 +00:00
2011-01-21 05:30:39 +00:00
2011-02-10 16:29:47 +00:00
2011-01-21 05:32:07 +00:00
2011-01-21 05:32:14 +00:00
2011-01-27 21:09:15 +00:00
2011-02-10 16:29:42 +00:00
2011-01-21 05:32:45 +00:00
2011-01-31 17:58:56 +00:00
2011-01-21 05:32:55 +00:00
2011-01-21 05:31:11 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2011-01-21 05:27:57 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2011-01-21 05:28:50 +00:00
2011-01-21 05:28:50 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2011-01-31 17:59:01 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2011-01-21 05:32:45 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2011-01-21 05:32:45 +00:00
2010-08-27 21:59:27 +00:00
2010-08-27 21:59:27 +00:00
2011-01-21 05:32:45 +00:00
2011-01-21 05:32:45 +00:00
2011-01-21 05:32:45 +00:00
2011-01-21 05:32:45 +00:00