** Fix jump instruction at position 'pc' to jump to 'dest'. ** (Jump addresses are relative in Lua) */
| 164 | ** (Jump addresses are relative in Lua) |
| 165 | */ |
| 166 | static void fixjump (FuncState *fs, int pc, int dest) { |
| 167 | Instruction *jmp = &fs->f->code[pc]; |
| 168 | int offset = dest - (pc + 1); |
| 169 | lua_assert(dest != NO_JUMP); |
| 170 | if (!(-OFFSET_sJ <= offset && offset <= MAXARG_sJ - OFFSET_sJ)) |
| 171 | luaX_syntaxerror(fs->ls, "control structure too long"); |
| 172 | lua_assert(GET_OPCODE(*jmp) == OP_JMP); |
| 173 | SETARG_sJ(*jmp, offset); |
| 174 | } |
| 175 | |
| 176 | |
| 177 | /* |
no test coverage detected