Mercurial > repos > rhope
diff runtime/func.h @ 142:7bbdc034e347
Fix some bugs. Get basic network code working (epoll listener + accept connections). Start porting webserver.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 21 Nov 2010 16:33:17 -0500 |
parents | f2cb85c53ced |
children | b75ec364cecc |
line wrap: on
line diff
--- a/runtime/func.h Sat Nov 20 17:48:22 2010 -0500 +++ b/runtime/func.h Sun Nov 21 16:33:17 2010 -0500 @@ -287,6 +287,24 @@ my_cdata = cdata->lastframe;\ RESUME_SELF +#define CallNoLocals(tocall, numparams, resumeto, myname)\ + cdata->func = RES_ ## resumeto ## _ ## myname;\ + cdata->num_params = numparams;\ + if(FUNC_ ## tocall == FUNC_ ## myname) {\ + PAUSE_SELF\ + AND_TOTAL\ + } else if (FUNC_ ## tocall != FUNC_PL_ && FUNC_ ## tocall != FUNC_MN_ && FUNC_ ## tocall != FUNC_TM_ && FUNC_ ## tocall != FUNC_DV_ && FUNC_ ## tocall != FUNC_If) {\ + PAUSE_SELF\ + }\ + goto sf_ ## tocall;\ +r ## resumeto ## _ ## myname:\ + my_cdata = cdata->lastframe;\ + if(FUNC_ ## tocall == FUNC_ ## myname) {\ + RESUME_SELF\ + AND_RESUME_TOTAL\ + } else if (FUNC_ ## tocall != FUNC_PL_ && FUNC_ ## tocall != FUNC_MN_ && FUNC_ ## tocall != FUNC_TM_ && FUNC_ ## tocall != FUNC_DV_ && FUNC_ ## tocall != FUNC_If) {\ + RESUME_SELF\ + } #define Call(tocall, numparams, resumeto, myname)\ cdata->func = RES_ ## resumeto ## _ ## myname;\