MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / fixjump

Function fixjump

lib/lua/src/lcode.c:167–175  ·  view source on GitHub ↗

** Fix jump instruction at position 'pc' to jump to 'dest'. ** (Jump addresses are relative in Lua) */

Source from the content-addressed store, hash-verified

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

Callers 3

luaK_concatFunction · 0.85
patchlistauxFunction · 0.85
luaK_finishFunction · 0.85

Calls 1

luaX_syntaxerrorFunction · 0.85

Tested by

no test coverage detected