Mercurial > repos > rhope
comparison 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 |
comparison
equal
deleted
inserted
replaced
141:f2cb85c53ced | 142:7bbdc034e347 |
---|---|
285 #define ValCallNoLocalsPostlude(resumeto,myname)\ | 285 #define ValCallNoLocalsPostlude(resumeto,myname)\ |
286 r ## resumeto ## _ ## myname:\ | 286 r ## resumeto ## _ ## myname:\ |
287 my_cdata = cdata->lastframe;\ | 287 my_cdata = cdata->lastframe;\ |
288 RESUME_SELF | 288 RESUME_SELF |
289 | 289 |
290 #define CallNoLocals(tocall, numparams, resumeto, myname)\ | |
291 cdata->func = RES_ ## resumeto ## _ ## myname;\ | |
292 cdata->num_params = numparams;\ | |
293 if(FUNC_ ## tocall == FUNC_ ## myname) {\ | |
294 PAUSE_SELF\ | |
295 AND_TOTAL\ | |
296 } else if (FUNC_ ## tocall != FUNC_PL_ && FUNC_ ## tocall != FUNC_MN_ && FUNC_ ## tocall != FUNC_TM_ && FUNC_ ## tocall != FUNC_DV_ && FUNC_ ## tocall != FUNC_If) {\ | |
297 PAUSE_SELF\ | |
298 }\ | |
299 goto sf_ ## tocall;\ | |
300 r ## resumeto ## _ ## myname:\ | |
301 my_cdata = cdata->lastframe;\ | |
302 if(FUNC_ ## tocall == FUNC_ ## myname) {\ | |
303 RESUME_SELF\ | |
304 AND_RESUME_TOTAL\ | |
305 } else if (FUNC_ ## tocall != FUNC_PL_ && FUNC_ ## tocall != FUNC_MN_ && FUNC_ ## tocall != FUNC_TM_ && FUNC_ ## tocall != FUNC_DV_ && FUNC_ ## tocall != FUNC_If) {\ | |
306 RESUME_SELF\ | |
307 } | |
290 | 308 |
291 #define Call(tocall, numparams, resumeto, myname)\ | 309 #define Call(tocall, numparams, resumeto, myname)\ |
292 cdata->func = RES_ ## resumeto ## _ ## myname;\ | 310 cdata->func = RES_ ## resumeto ## _ ## myname;\ |
293 cdata->num_params = numparams;\ | 311 cdata->num_params = numparams;\ |
294 cdata->vars = lv_ ## myname;\ | 312 cdata->vars = lv_ ## myname;\ |