MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / fixjump

Function fixjump

extlibs/lua/src/lcode.c:166–174  ·  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

164** (Jump addresses are relative in Lua)
165*/
166static 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/*

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