function luaK.goiftrue(A,j,H)local M A:dischargevars(j,H)local l=H.k if l=="\086\075"or l=="\086\075\078\085\077"or l=="\086\084\082\085\069"then M=A.NO_JUMP elseif l=="\086\070\065\076\083\069"then M=A:jump(j)elseif l=="\086\074\077\080"then A:invertjump(j,H)M=H.info else M=A:jumponcond(j,H,false)end H.f=A:concat(j,H.f,M)A:patchtohere(j,H.t)H.t=A.NO_JUMP end

function luaK:goiftrue(fs, e)
  local pc  -- pc of last jump
  self:dischargevars(fs, e)
  local k = e.k
  if k == "VK" or k == "VKNUM" or k == "VTRUE" then
    pc = self.NO_JUMP  -- always true; do nothing
  elseif k == "VFALSE" then
    pc = self:jump(fs)  -- always jump
  elseif k == "VJMP" then
    self:invertjump(fs, e)
    pc = e.info
  else
    pc = self:jumponcond(fs, e, false)
  end
  e.f = self:concat(fs, e.f, pc)  -- insert last jump in `f' list
  self:patchtohere(fs, e.t)
  e.t = self.NO_JUMP
end
