function luaK.jumponcond(n,B,r,z)if r.k=="\086\082\069\076\079\067\065\066\076\069"then local t=n:getcode(B,r)if luaP:GET_OPCODE(t)=="\079\080\095\078\079\084"then B.pc=B.pc-1 return n:condjump(B,"\079\080\095\084\069\083\084",luaP:GETARG_B(t),0,z and 0 or 1)end end n:discharge2anyreg(B,r)n:freeexp(B,r)return n:condjump(B,"\079\080\095\084\069\083\084\083\069\084",luaP.NO_REG,r.info,z and 1 or 0)end

function luaK:jumponcond(fs, e, cond)
  if e.k == "VRELOCABLE" then
    local ie = self:getcode(fs, e)
    if luaP:GET_OPCODE(ie) == "OP_NOT" then
      fs.pc = fs.pc - 1  -- remove previous OP_NOT
      return self:condjump(fs, "OP_TEST", luaP:GETARG_B(ie), 0, cond and 0 or 1)
    end
    -- else go through
  end
  self:discharge2anyreg(fs, e)
  self:freeexp(fs, e)
  return self:condjump(fs, "OP_TESTSET", luaP.NO_REG, e.info, cond and 1 or 0)
end
