diff --git a/src/lj_bc.h b/src/lj_bc.h index 74b11698..ba868283 100644 --- a/src/lj_bc.h +++ b/src/lj_bc.h @@ -187,8 +187,8 @@ _(FUNCV, rbase, ___, ___, ___) \ _(IFUNCV, rbase, ___, ___, ___) \ _(JFUNCV, rbase, ___, lit, ___) \ - _(FUNCC, ___, ___, ___, ___) \ - _(FUNCCW, ___, ___, ___, ___) + _(FUNCC, rbase, ___, ___, ___) \ + _(FUNCCW, rbase, ___, ___, ___) /* Bytecode opcode numbers. */ typedef enum { diff --git a/src/lj_dispatch.c b/src/lj_dispatch.c index 1a483b5a..5ced161b 100644 --- a/src/lj_dispatch.c +++ b/src/lj_dispatch.c @@ -40,7 +40,7 @@ void lj_dispatch_init(GG_State *GG) disp[BC_LOOP] = disp[BC_ILOOP]; disp[BC_FUNCF] = disp[BC_IFUNCF]; disp[BC_FUNCV] = disp[BC_IFUNCV]; - GG->g.bc_cfunc_ext = GG->g.bc_cfunc_int = BCINS_AD(BC_FUNCC, 0, 0); + GG->g.bc_cfunc_ext = GG->g.bc_cfunc_int = BCINS_AD(BC_FUNCC, LUA_MINSTACK, 0); for (i = 0; i < GG_NUM_ASMFF; i++) GG->bcff[i] = BCINS_AD(BC__MAX+i, 0, 0); }