Mercurial > repos > rhope
diff runtime/integer.c @ 56:d2f9b0a9403d
Initial experiment with goto and switch
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 08 Oct 2009 01:52:38 -0400 |
parents | 640f541e9116 |
children | 04baa003de5a |
line wrap: on
line diff
--- a/runtime/integer.c Tue Oct 06 23:13:47 2009 -0400 +++ b/runtime/integer.c Thu Oct 08 01:52:38 2009 -0400 @@ -3,117 +3,6 @@ #include "context.h" #include "bool.h" -#define left ((t_Int32 *)cdata->params[0]) -#define right ((t_Int32 *)cdata->params[1]) - -MethodNoLocals(_PL_,Int32, - NumParams 2, - CallSpace 1) - - CopiedParam(0, TYPE_INT32) - Param(1, TYPE_INT32) - - left->num += right->num; - - release_ref((object *)right); -EndFunc - -MethodNoLocals(_MN_,Int32, - NumParams 2, - CallSpace 1) - - CopiedParam(0, TYPE_INT32) - Param(1, TYPE_INT32) - - left->num -= right->num; - - release_ref((object *)right); -EndFunc - -MethodNoLocals(_TM_,Int32, - NumParams 2, - CallSpace 1) - - CopiedParam(0, TYPE_INT32) - Param(1, TYPE_INT32) - - left->num *= right->num; - - release_ref((object *)right); -EndFunc - -MethodNoLocals(_DV_,Int32, - NumParams 2, - CallSpace 1) - - CopiedParam(0, TYPE_INT32) - Param(1, TYPE_INT32) - - left->num /= right->num; - - release_ref((object *)right); -EndFunc - -MethodNoLocals(LShift,Int32, - NumParams 2, - CallSpace 1) - - CopiedParam(0, TYPE_INT32) - Param(1, TYPE_INT32) - - left->num <<= right->num; - - release_ref((object *)right); -EndFunc - -MethodNoLocals(RShift,Int32, - NumParams 2, - CallSpace 1) - - CopiedParam(0, TYPE_INT32) - Param(1, TYPE_INT32) - - left->num <<= right->num; - - release_ref((object *)right); -EndFunc - -MethodNoLocals(_LT_,Int32, - NumParams 2, - CallSpace 1) - - Param(0, TYPE_INT32) - Param(1, TYPE_INT32) - - if(left->num < right->num) - { - release_ref(cdata->params[0]); - Ret(0, Yes) - } else { - release_ref(cdata->params[0]); - Ret(0, No) - } - release_ref(cdata->params[1]); -EndFunc - -MethodNoLocals(_GT_,Int32, - NumParams 2, - CallSpace 1) - - Param(0, TYPE_INT32) - Param(1, TYPE_INT32) - - if(left->num > right->num) - { - release_ref(cdata->params[0]); - Ret(0, Yes) - } else { - release_ref(cdata->params[0]); - Ret(0, No) - } - release_ref(cdata->params[1]); -EndFunc - object * make_Int32(int32_t val) { t_Int32 * obj;