Mercurial > repos > rhope
diff runtime/func.h @ 58:4c22fe798779
Some small optimizations
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 08 Oct 2009 03:03:48 -0400 |
parents | 2174878a6e4b |
children | 4f1ae6eb71d8 |
line wrap: on
line diff
--- a/runtime/func.h Thu Oct 08 02:12:25 2009 -0400 +++ b/runtime/func.h Thu Oct 08 03:03:48 2009 -0400 @@ -18,17 +18,17 @@ #define Func(name,numparams) \ case FUNC_ ## name:\ -f_ ## name:\ for(idx = numparams; idx < cdata->num_params; ++idx)\ release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ +f_ ## name:\ lv_ ## name = alloc_stack(ct, sizeof(lt_ ## name)); #define FuncNoLocals(name,numparams) \ case FUNC_ ## name:\ -f_ ## name:\ for(idx = numparams; idx < cdata->num_params; ++idx)\ release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ +f_ ## name: #define EndFunc(name) \ free_stack(ct, lv_ ## name);\ @@ -43,8 +43,6 @@ #define Method(name) \ case FUNC_ ## name:\ f_ ## name:\ - if (cdata->num_params < 1)\ - goto _exception;\ switch(get_blueprint(cdata->params[0])->type_id)\ {