| 4782 | |
| 4783 | |
| 4784 | static int precheck (const Proto *pt) { |
| 4785 | check(pt->maxstacksize <= MAXSTACK); |
| 4786 | check(pt->numparams+(pt->is_vararg & VARARG_HASARG) <= pt->maxstacksize); |
| 4787 | check(!(pt->is_vararg & VARARG_NEEDSARG) || |
| 4788 | (pt->is_vararg & VARARG_HASARG)); |
| 4789 | check(pt->sizeupvalues <= pt->nups); |
| 4790 | check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0); |
| 4791 | check(pt->sizecode > 0 && GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN); |
| 4792 | return 1; |
| 4793 | } |
| 4794 | |
| 4795 | |
| 4796 | #define checkopenop(pt,pc) luaG_checkopenop((pt)->code[(pc)+1]) |