Mercurial > repos > rhope
comparison runtime/func.h @ 71:c40c3d399133
Add Int32@String and Get Char. Fix stack bug
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 18 Jun 2010 15:07:09 -0400 |
parents | d4b44ae2e34a |
children | a844c623c7df |
comparison
equal
deleted
inserted
replaced
70:1bfcf5f8fa69 | 71:c40c3d399133 |
---|---|
122 #define SetParam(num,value) cdata->params[num] = value; | 122 #define SetParam(num,value) cdata->params[num] = value; |
123 | 123 |
124 #define Call(tocall, numparams, resumeto, myname)\ | 124 #define Call(tocall, numparams, resumeto, myname)\ |
125 cdata->func = RES_ ## resumeto ## _ ## myname;\ | 125 cdata->func = RES_ ## resumeto ## _ ## myname;\ |
126 cdata->num_params = numparams;\ | 126 cdata->num_params = numparams;\ |
127 cdata->vars = lv_ ## myname;\ | |
127 goto sf_ ## tocall;\ | 128 goto sf_ ## tocall;\ |
128 r ## resumeto ## _ ## myname:\ | 129 r ## resumeto ## _ ## myname:\ |
129 my_cdata = cdata->lastframe;\ | 130 my_cdata = cdata->lastframe;\ |
130 lv_ ## myname = (lt_ ## myname *)(my_cdata->params+my_cdata->callspace); | 131 lv_ ## myname = cdata->vars; |
131 | 132 |
132 | 133 |
133 #define FreeCall\ | 134 #define FreeCall\ |
134 temp_cdata = cdata->lastframe;\ | 135 temp_cdata = cdata->lastframe;\ |
135 free_stack(ct, cdata);\ | 136 free_stack(ct, cdata);\ |