commit 187c9991b5a66d1c2bd0367038d180fe90f69ce1
parent e301a5145798b0c0d441180833f003f50c427e01
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Tue, 23 Feb 2016 11:27:46 -0500
print new jump instructions
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git 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, " ");