Mercurial > repos > rhope
comparison runtime/func.h @ 159:d1e206ff75f9
Fix some bugs involving calling a worker object
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 07 Jan 2011 03:17:20 -0500 |
parents | b75ec364cecc |
children | d2b941f82d74 |
comparison
equal
deleted
inserted
replaced
158:0e06f29aa83d | 159:d1e206ff75f9 |
---|---|
232 {\ | 232 {\ |
233 temp_cdata = cdata->lastframe;\ | 233 temp_cdata = cdata->lastframe;\ |
234 free_stack(ct, cdata);\ | 234 free_stack(ct, cdata);\ |
235 cdata = alloc_cdata(ct, temp_cdata, numparams + ((t_Worker *)func)->payload.Count);\ | 235 cdata = alloc_cdata(ct, temp_cdata, numparams + ((t_Worker *)func)->payload.Count);\ |
236 }\ | 236 }\ |
237 vcparam_offset = 0; | 237 vcparam_offset = 0;\ |
238 last_vcparam = -1; | |
238 | 239 |
239 #define VCPrepCall(func,numparams) \ | 240 #define VCPrepCall(func,numparams) \ |
240 cdata = alloc_cdata(ct, cdata, numparams + ((t_Worker *)func)->payload.Count);\ | 241 cdata = alloc_cdata(ct, cdata, numparams + ((t_Worker *)func)->payload.Count);\ |
241 vcparam_offset = 0; | 242 vcparam_offset = 0;\ |
243 last_vcparam = -1; | |
242 | 244 |
243 #define VCSetParam(func,num,value) \ | 245 #define VCSetParam(func,num,value) \ |
244 while((num+vcparam_offset) < ((t_Worker *)func)->payload.Size && ((object **)(((t_Worker *)func)+1))[num+vcparam_offset])\ | 246 while((num+vcparam_offset) < ((t_Worker *)func)->payload.Size && ((object **)(((t_Worker *)func)+1))[num+vcparam_offset])\ |
245 {\ | 247 {\ |
246 cdata->params[num+vcparam_offset] = add_ref(((object **)(((t_Worker *)func)+1))[num+vcparam_offset]);\ | 248 cdata->params[num+vcparam_offset] = add_ref(((object **)(((t_Worker *)func)+1))[num+vcparam_offset]);\ |