Mercurial > repos > rhope
diff runtime/func.h @ 65:1db811fa4744
Handle native Rhope functions and plain C functions separately as part of move to new C strategy
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 01 Jun 2010 01:13:54 -0400 |
parents | 04baa003de5a |
children | d4b44ae2e34a |
line wrap: on
line diff
--- a/runtime/func.h Sun May 30 17:34:36 2010 -0400 +++ b/runtime/func.h Tue Jun 01 01:13:54 2010 -0400 @@ -54,11 +54,11 @@ #define MethodDispatch(type_id,name,type_name) \ case type_id:\ - goto m_ ## name ## _AT_ ## type_name; + goto m_ ## name ## AT_ ## type_name; #define MethodImpl(name,type_name,mytype_id,numparams) \ -f_ ## name ## _AT_ ## type_name:\ -sf_ ## name ## _AT_ ## type_name:\ +f_ ## name ## AT_ ## type_name:\ +sf_ ## name ## AT_ ## type_name:\ if (cdata->num_params < 1)\ goto _exception;\ if(get_blueprint(cdata->params[0])->type_id != mytype_id)\ @@ -66,15 +66,15 @@ puts("uh oh, need conversion and that's not implemented yet!");\ exit(1);\ }\ -m_ ## name ## _AT_ ## type_name:\ +m_ ## name ## AT_ ## type_name:\ for(idx = numparams; idx < cdata->num_params; ++idx)\ release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ - lv_ ## name ## _AT_ ## type_name = alloc_stack(ct, sizeof(lt_ ## name ## _AT_ ## type_name)); + lv_ ## name ## AT_ ## type_name = alloc_stack(ct, sizeof(lt_ ## name ## AT_ ## type_name)); #define MethodImplNoLocals(name,type_name,mytype_id,numparams) \ -f_ ## name ## _AT_ ## type_name:\ -sf_ ## name ## _AT_ ## type_name:\ +f_ ## name ## AT_ ## type_name:\ +sf_ ## name ## AT_ ## type_name:\ if (cdata->num_params < 1)\ goto _exception;\ if(get_blueprint(cdata->params[0])->type_id != mytype_id)\ @@ -82,7 +82,7 @@ puts("uh oh, need conversion and that's not implemented yet!");\ exit(1);\ }\ -m_ ## name ## _AT_ ## type_name:\ +m_ ## name ## AT_ ## type_name:\ for(idx = numparams; idx < cdata->num_params; ++idx)\ release_ref(cdata->params[0-idx]); cdata->num_params = numparams; @@ -100,7 +100,7 @@ #define Ret(num,val) cdata->params[0-num] = (object *)(val); #define Exception #define FuncDef(name) lt_ ## name * lv_ ## name; -#define MethodDef(name) lt_ ## name ## _AT_ ## type_name * lv_ ## name ## _AT_ ## type_name; +#define MethodDef(name) lt_ ## name ## AT_ ## type_name * lv_ ## name ## AT_ ## type_name; #define PrepCall(callspace) cdata = alloc_cdata(ct, cdata, callspace); @@ -123,7 +123,7 @@ temp_cdata = cdata->lastframe;\ free_stack(ct, cdata);\ cdata = temp_cdata;\ - lv_ ## myname ## _AT_ ## type_name = (lt_ ## myname ## _AT_ ## type_name *)(cdata+1); + lv_ ## myname ## AT_ ## type_name = (lt_ ## myname ## AT_ ## type_name *)(cdata+1); #define TPrepCall(callspace) \ func = cdata->lastframe->func;\