** Create a jump instruction and return its position, so its destination ** can be fixed later (with 'fixjump'). If there are jumps to ** this position (kept in 'jpc'), link them all together so that ** 'patchlistaux' will fix all them directly to the final destination. */
| 141 | ** 'patchlistaux' will fix all them directly to the final destination. |
| 142 | */ |
| 143 | int luaK_jump (FuncState *fs) { |
| 144 | int jpc = fs->jpc; /* save list of jumps to here */ |
| 145 | int j; |
| 146 | fs->jpc = NO_JUMP; /* no more jumps to here */ |
| 147 | j = luaK_codeAsBx(fs, OP_JMP, 0, NO_JUMP); |
| 148 | luaK_concat(fs, &j, jpc); /* keep them on hold */ |
| 149 | return j; |
| 150 | } |
| 151 | |
| 152 | |
| 153 | /* |