From a8d5c13a3ec29f07e93613cdabaee2e05348608c Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Mon, 9 Nov 2015 21:29:22 -0500 Subject: [PATCH] precise OCall test in liveness --- lisc/live.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisc/live.c b/lisc/live.c index d355fd6..dc8060d 100644 --- a/lisc/live.c +++ b/lisc/live.c @@ -111,7 +111,8 @@ Again: bset(b->jmp.arg, b, &nlv, phi, f->tmp); b->nlive = nlv; for (i=&b->ins[b->nins]; i!=b->ins;) { - if ((--i)->op == OCall) { + if ((--i)->op == OCall) + if (rtype(i->arg[1]) == RACall) { b->in.t[0] &= ~calldef(*i, &m); nlv -= m; if (nlv + NRSave > b->nlive)