diff runtime/integer.c @ 48:a24eb366195c

Fixed some bugs introduced in previous commit and moved definition of integer methods out of runtime and into the compiler
author Mike Pavone <pavone@retrodev.com>
date Tue, 02 Mar 2010 00:18:49 -0500
parents 640f541e9116
children 04baa003de5a
line wrap: on
line diff
--- a/runtime/integer.c	Tue Dec 22 01:22:09 2009 -0500
+++ b/runtime/integer.c	Tue Mar 02 00:18:49 2010 -0500
@@ -3,122 +3,4 @@
 #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;
-	object * ret = new_object(TYPE_INT32);
-	obj = (t_Int32 *)ret;
-	obj->num = val;
-	return ret;
-}