Mercurial > repos > rhope
comparison 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 |
comparison
equal
deleted
inserted
replaced
57:2174878a6e4b | 58:4c22fe798779 |
---|---|
16 #define MethodName(name,type) f_ ## name ## _AT_ ## type | 16 #define MethodName(name,type) f_ ## name ## _AT_ ## type |
17 | 17 |
18 | 18 |
19 #define Func(name,numparams) \ | 19 #define Func(name,numparams) \ |
20 case FUNC_ ## name:\ | 20 case FUNC_ ## name:\ |
21 f_ ## name:\ | |
22 for(idx = numparams; idx < cdata->num_params; ++idx)\ | 21 for(idx = numparams; idx < cdata->num_params; ++idx)\ |
23 release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ | 22 release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ |
23 f_ ## name:\ | |
24 lv_ ## name = alloc_stack(ct, sizeof(lt_ ## name)); | 24 lv_ ## name = alloc_stack(ct, sizeof(lt_ ## name)); |
25 | 25 |
26 | 26 |
27 #define FuncNoLocals(name,numparams) \ | 27 #define FuncNoLocals(name,numparams) \ |
28 case FUNC_ ## name:\ | 28 case FUNC_ ## name:\ |
29 f_ ## name:\ | |
30 for(idx = numparams; idx < cdata->num_params; ++idx)\ | 29 for(idx = numparams; idx < cdata->num_params; ++idx)\ |
31 release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ | 30 release_ref(cdata->params[0-idx]); cdata->num_params = numparams;\ |
31 f_ ## name: | |
32 | 32 |
33 #define EndFunc(name) \ | 33 #define EndFunc(name) \ |
34 free_stack(ct, lv_ ## name);\ | 34 free_stack(ct, lv_ ## name);\ |
35 func = cdata->func;\ | 35 func = cdata->func;\ |
36 goto _dispatch;\ | 36 goto _dispatch;\ |
41 goto _dispatch;\ | 41 goto _dispatch;\ |
42 | 42 |
43 #define Method(name) \ | 43 #define Method(name) \ |
44 case FUNC_ ## name:\ | 44 case FUNC_ ## name:\ |
45 f_ ## name:\ | 45 f_ ## name:\ |
46 if (cdata->num_params < 1)\ | |
47 goto _exception;\ | |
48 switch(get_blueprint(cdata->params[0])->type_id)\ | 46 switch(get_blueprint(cdata->params[0])->type_id)\ |
49 { | 47 { |
50 | 48 |
51 #define EndMethod \ | 49 #define EndMethod \ |
52 default:\ | 50 default:\ |