move stack overflow checker

This commit is contained in:
Yuichi Nishiwaki 2014-09-26 17:36:27 +09:00
parent cb54f0e065
commit 315c17c8d4
1 changed files with 5 additions and 1 deletions

6
vm.c
View File

@ -581,7 +581,7 @@ pic_apply5(pic_state *pic, struct pic_proc *proc, pic_value arg1, pic_value arg2
# define VM_LOOP_END } }
#endif
#define PUSH(v) ((pic->sp >= pic->stend) ? abort() : (*pic->sp++ = (v)))
#define PUSH(v) (*pic->sp++ = (v))
#define POP() (*--pic->sp)
#define PUSHCI() (++pic->ci)
@ -843,6 +843,10 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value argv)
VM_CALL_PRINT;
if (pic->sp >= pic->stend) {
pic_panic(pic, "VM stack overflow");
}
ci = PUSHCI();
ci->argc = c.u.i;
ci->retc = 1;