Rearranged cothread_switch a bit to move all the code for error conditions to the end, using goto's to get there.  Th...
Rearranged cothread_switch a bit to move all the code for error conditions to the end, using goto's to get there.  Th...

Original commit message from CVS:
Rearranged cothread_switch a bit to move all the code for error conditions
to the end, using goto's to get there.  This has the presumed advantage of
consolidating all the normally run code into one chunk, reducing jumps
(and the associated penalties in any modern processor) and limiting cache-
line usage.  It may be instructive to look at the generated assembly for
this revision and the previous, to see if gcc is smart enough to do this
for us anyway.

If you want to turn off some of the checks (they are all checks for NULL
pointers, if you're curious) for a speed gain, disable the #define of
COTHREAD_PARANOID at the top.

drothlis/gstreamer,centricular/gstreamer,krieger-od/gstreamer,lovebug356/gstreamer,mparis/gstreamer,collects/gstreamer,shelsonjava/gstreamer,krichter722/gstreamer,ahmedammar/platform_external_gst_gstreamer,cablelabs/gstreamer,surround-io/gstreamer,krichter722/gstreamer,shelsonjava/gstreamer,magcius/gstreamer,krichter722/gstreamer,jpxiong/gstreamer,jpxiong/gstreamer,cfoch/gstreamer,collects/gstreamer,ylatuya/gstreamer,lovebug356/gstreamer,krieger-od/gstreamer,surround-io/gstreamer,cablelabs/gstreamer,krieger-od/gstreamer,cablelabs/gstreamer,magcius/gstreamer,jpxiong/gstreamer,collects/gstreamer,shelsonjava/gstreamer,magcius/gstreamer,collects/gstreamer,drothlis/gstreamer,Distrotech/gstreamer,centricular/gstreamer,ensonic/gstreamer,magcius/gstreamer,justinjoy/gstreamer,ensonic/gstreamer,cfoch/gstreamer,mrchapp/gstreamer,jpakkane/gstreamer,ahmedammar/platform_external_gst_gstreamer,krichter722/gstreamer,mrchapp/gstreamer,lubosz/gstreamer,jpxiong/gstreamer,cfoch/gstreamer,lovebug356/gstreamer,cfoch/gstreamer,lovebug356/gstreamer,justinjoy/gstreamer,mrchapp/gstreamer,justinjoy/gstreamer,Distrotech/gstreamer,centricular/gstreamer,lubosz/gstreamer,StreamUtils/gstreamer,mrchapp/gstreamer,ylatuya/gstreamer,surround-io/gstreamer,ensonic/gstreamer,jpakkane/gstreamer,jpakkane/gstreamer,mparis/gstreamer,mparis/gstreamer,drothlis/gstreamer,ylatuya/gstreamer,krichter722/gstreamer,centricular/gstreamer,shelsonjava/gstreamer,krieger-od/gstreamer,StreamUtils/gstreamer,shelsonjava/gstreamer,cfoch/gstreamer,collects/gstreamer,jpxiong/gstreamer,Distrotech/gstreamer,lubosz/gstreamer,jpakkane/gstreamer,ahmedammar/platform_external_gst_gstreamer,lovebug356/gstreamer,StreamUtils/gstreamer,ahmedammar/platform_external_gst_gstreamer,cablelabs/gstreamer,centricular/gstreamer,drothlis/gstreamer,krieger-od/gstreamer,ahmedammar/platform_external_gst_gstreamer,justinjoy/gstreamer,magcius/gstreamer,Distrotech/gstreamer,Lachann/gstreamer,ensonic/gstreamer,ylatuya/gstreamer,surround-io/gstreamer,lubosz/gstreamer,ylatuya/gstreamer,mparis/gstreamer,surround-io/gstreamer,lubosz/gstreamer,justinjoy/gstreamer,Lachann/gstreamer,jpakkane/gstreamer,StreamUtils/gstreamer,mparis/gstreamer,Lachann/gstreamer,drothlis/gstreamer,Lachann/gstreamer,Lachann/gstreamer,mrchapp/gstreamer,Distrotech/gstreamer,ensonic/gstreamer,StreamUtils/gstreamer,cablelabs/gstreamer