From 73b7d577d78b03265d5cf427bb2a37d01ec3728f Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Sat, 4 Jul 2015 17:24:53 +0900 Subject: [PATCH] Revert "remove dead code" This reverts commit 004e3eda48722c7fa2519854c9b63cf30cc99db3. --- extlib/benz/vm.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/extlib/benz/vm.c b/extlib/benz/vm.c index d3000399..89dbe518 100644 --- a/extlib/benz/vm.c +++ b/extlib/benz/vm.c @@ -626,10 +626,30 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value args) NEXT; } CASE(OP_LREF) { + pic_callinfo *ci = pic->ci; + struct pic_irep *irep; + + if (ci->cxt != NULL && ci->cxt->regs == ci->cxt->storage) { + irep = pic_get_proc(pic)->u.i.irep; + if (c.u.i >= irep->argc + irep->localc) { + PUSH(ci->cxt->regs[c.u.i - (ci->regs - ci->fp)]); + NEXT; + } + } PUSH(pic->ci->fp[c.u.i]); NEXT; } CASE(OP_LSET) { + pic_callinfo *ci = pic->ci; + struct pic_irep *irep; + + if (ci->cxt != NULL && ci->cxt->regs == ci->cxt->storage) { + irep = pic_get_proc(pic)->u.i.irep; + if (c.u.i >= irep->argc + irep->localc) { + ci->cxt->regs[c.u.i - (ci->regs - ci->fp)] = POP(); + NEXT; + } + } pic->ci->fp[c.u.i] = POP(); PUSH(pic_undef_value()); NEXT;