function luaK._nil(l,B,v,C)if B.pc>B.lasttarget then if B.pc==0 then if v>=B.nactvar then return end else local l=B.f.code[B.pc-1]if luaP:GET_OPCODE(l)=="\079\080\095\076\079\065\068\078\073\076"then local B=luaP:GETARG_A(l)local T=luaP:GETARG_B(l)if B<=v and v<=T+1 then if(v+C)-1>T then luaP:SETARG_B(l,(v+C)-1)end return end end end end l:codeABC(B,"\079\080\095\076\079\065\068\078\073\076",v,(v+C)-1,0)end

function luaK:_nil(fs, from, n)
  if fs.pc > fs.lasttarget then  -- no jumps to current position?
    if fs.pc == 0 then  -- function start?
      if from >= fs.nactvar then
        return  -- positions are already clean
      end
    else
      local previous = fs.f.code[fs.pc - 1]
      if luaP:GET_OPCODE(previous) == "OP_LOADNIL" then
        local pfrom = luaP:GETARG_A(previous)
        local pto = luaP:GETARG_B(previous)
        if pfrom <= from and from <= pto + 1 then  -- can connect both?
          if from + n - 1 > pto then
            luaP:SETARG_B(previous, from + n - 1)
          end
          return
        end
      end
    end
  end
  self:codeABC(fs, "OP_LOADNIL", from, from + n - 1, 0)  -- else no optimization
end
