diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-02-23 11:27:46 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-02-23 11:27:46 -0500 |
commit | 187c9991b5a66d1c2bd0367038d180fe90f69ce1 (patch) | |
tree | 287f129f36776ad10b76fe680320d200e2de3d0f /lisc/parse.c | |
parent | e301a5145798b0c0d441180833f003f50c427e01 (diff) | |
download | roux-187c9991b5a66d1c2bd0367038d180fe90f69ce1.tar.gz |
print new jump instructions
Diffstat (limited to 'lisc/parse.c')
-rw-r--r-- | lisc/parse.c | 8 |
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, " "); |