diff cbackend.rhope @ 100:f51c4c17457c

Broken port of parser to compiler
author Mike Pavone <pavone@retrodev.com>
date Mon, 09 Aug 2010 02:03:57 -0400
parents e09c2d1d6d5b
children 43cc42df26cc
line wrap: on
line diff
--- a/cbackend.rhope	Fri Aug 06 01:42:37 2010 -0400
+++ b/cbackend.rhope	Mon Aug 09 02:03:57 2010 -0400
@@ -722,18 +722,24 @@
 
 	If[[[func]Last NumParams >>] = [-1]]
 	{
-		freed <- Val[func]
-	}{
-		freed <- [func]Add Raw Line["FreeCall"]
-	}
-	prepped <- [[freed]Add Raw Line[ 
+		prepped <- [[func]Add Raw Line[ 
 			[[[["VCPrepCall("
 				]Append[worker]
 				]Append[", "]
 				]Append[[rargs]Length]
 				]Append[")"] ]
 		]Last NumParams <<[[rargs]Length]
-	
+	}{
+		prepped <- [[func]Add Raw Line[ 
+			[[[[[["VCRePrepCall("
+				]Append[worker]
+				]Append[", "]
+				]Append[[rargs]Length]
+				]Append[", "]
+				]Append[[func]Last NumParams >>]
+				]Append[")"] ]
+		]Last NumParams <<[[rargs]Length]
+	}
 	
 	out <- [[[[Fold[["_Val Function Arg C"]Set Input[3, worker], prepped, rargs]
 	]Add Raw Line[