summary refs log tree commit diff
path: root/lisc
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-02-23 11:27:46 -0500
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-02-23 11:27:46 -0500
commit187c9991b5a66d1c2bd0367038d180fe90f69ce1 (patch)
tree287f129f36776ad10b76fe680320d200e2de3d0f /lisc
parente301a5145798b0c0d441180833f003f50c427e01 (diff)
downloadroux-187c9991b5a66d1c2bd0367038d180fe90f69ce1.tar.gz
print new jump instructions
Diffstat (limited to 'lisc')
-rw-r--r--lisc/parse.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisc/parse.c b/lisc/parse.c
index 51917a0..49ed139 100644
--- a/lisc/parse.c
+++ b/lisc/parse.c
@@ -418,9 +418,9 @@ parserefl(int arg)
 			err("invalid function parameter");
 		if (k == 4)
 			if (arg)
-				*curi = (Ins){OArgc, R, {TYPE(ty), r}, 0};
+				*curi = (Ins){OArgc, R, {TYPE(ty), r}, Kl};
 			else
-				*curi = (Ins){OParc, r, {TYPE(ty)}, 0};
+				*curi = (Ins){OParc, r, {TYPE(ty)}, Kl};
 		else
 			if (arg)
 				*curi = (Ins){OArg, R, {r}, k};
@@ -920,6 +920,8 @@ printfn(Fn *fn, FILE *f)
 		[JRetw]     = "retw",
 		[JRetl]     = "retl",
 		[JRetc]     = "retc",
+		[JRets]     = "rets",
+		[JRetd]     = "retd",
 		[JJnz]      = "jnz",
 		[JXJnp]     = "xjnp",
 		[JXJp]      = "xjp",
@@ -984,6 +986,8 @@ printfn(Fn *fn, FILE *f)
 		case JRetw:
 		case JRetl:
 		case JRetc:
+		case JRets:
+		case JRetd:
 			fprintf(f, "\t%s", jtoa[b->jmp.type]);
 			if (b->jmp.type != JRet0) {
 				fprintf(f, " ");