diff --git a/crates/emmylua_code_analysis/resources/std/jit.lua b/crates/emmylua_code_analysis/resources/std/jit.lua index 75e1f0676..9b320e928 100644 --- a/crates/emmylua_code_analysis/resources/std/jit.lua +++ b/crates/emmylua_code_analysis/resources/std/jit.lua @@ -5,24 +5,20 @@ --- @version JIT --- @class jitlib --- @field version string ---- @field version_num number +--- @field version_num integer --- @field os 'Windows' | 'Linux' | 'OSX' | 'BSD' | 'POSIX' | 'Other' ---- @field arch 'x86' | 'x64' | 'arm' | 'arm64' | 'arm64be' | 'ppc' | 'ppc64' | 'ppc64le' | 'mips' | 'mipsel' | 'mips64' | 'mips64el' | string +--- @field arch 'x86' | 'x64' | 'arm' | 'arm64' | 'arm64be' | 'ppc' | 'ppc64' | 'ppc64le' | 'mips' | 'mipsel' | 'mips32r6' | 'mips32r6el' | 'mips64' | 'mips64el' | 'mips64r6' | 'mips64r6el' | string jit = {} ---- @overload fun(...): ... param func function|boolean ---- @param func function|boolean +--- @param func? function | boolean --- @param recursive? boolean function jit.on(func, recursive) end ---- @overload fun(...): ... param func function|boolean ---- @param func function|boolean +--- @param func? function | boolean --- @param recursive? boolean function jit.off(func, recursive) end ---- @overload fun(...): ... overload fun(tr: number) ---- @overload fun(tr: number) ---- @param func function | boolean +--- @param func? function | boolean | integer --- @param recursive? boolean function jit.flush(func, recursive) end @@ -33,7 +29,16 @@ function jit.status() end jit.opt = {} ---- @param ... any flags +--- @param ... string | number function jit.opt.start(...) end +--- @param mode? 'prng' | 'strhash' | 'strid' | 'mcode' +--- @return integer status +--- @nodiscard +function jit.security(mode) end + +--- @param func function +--- @param event? string +function jit.attach(func, event) end + return jit diff --git a/crates/emmylua_code_analysis/resources/std/jit/profile.lua b/crates/emmylua_code_analysis/resources/std/jit/profile.lua index 0631ae84b..93b5de95d 100644 --- a/crates/emmylua_code_analysis/resources/std/jit/profile.lua +++ b/crates/emmylua_code_analysis/resources/std/jit/profile.lua @@ -4,15 +4,16 @@ local profile = {} ---- @param mode string ---- @param func fun(L: thread, samples: integer, vmst: string) +--- @param mode? string +--- @param func fun(L: thread, samples: integer, vmstate: string) function profile.start(mode, func) end function profile.stop() end ---- @overload fun(th: thread, fmt: string, depth: integer) +--- @overload fun(th: thread, fmt: string, depth: integer): string --- @param fmt string --- @param depth integer +--- @return string dump function profile.dumpstack(fmt, depth) end return profile diff --git a/crates/emmylua_code_analysis/resources/std/jit/util.lua b/crates/emmylua_code_analysis/resources/std/jit/util.lua index 1e79a145b..33d1c6342 100644 --- a/crates/emmylua_code_analysis/resources/std/jit/util.lua +++ b/crates/emmylua_code_analysis/resources/std/jit/util.lua @@ -2,12 +2,12 @@ --- @meta jit.util --- @version JIT ---- @class Trace ---- @class Proto +--- @class JIT.Proto local util = {} --- @class jit.funcinfo.lua +--- @field proto JIT.Proto local funcinfo = { linedefined = 0, lastlinedefined = 0, @@ -22,8 +22,6 @@ local funcinfo = { children = false, source = "", loc = "", - ---@type Proto[] - proto = {}, } --- @class jit.funcinfo.c @@ -33,23 +31,23 @@ local funcinfo2 = { upvalues = 0, } ---- @param func function +--- @param func function | JIT.Proto --- @param pc? integer ---- @return jit.funcinfo.c|jit.funcinfo.lua info +--- @return jit.funcinfo.c | jit.funcinfo.lua info function util.funcinfo(func, pc) end ---- @param func function +--- @param func function | JIT.Proto --- @param pc integer --- @return integer? ins --- @return integer? m function util.funcbc(func, pc) end ---- @param func function +--- @param func function | JIT.Proto --- @param idx integer --- @return any? k function util.funck(func, idx) end ---- @param func function +--- @param func function | JIT.Proto --- @param idx integer --- @return string? name function util.funcuvname(func, idx) end @@ -63,11 +61,11 @@ local traceinfo = { linktype = "", } ---- @param tr Trace +--- @param tr integer --- @return jit.traceinfo? info function util.traceinfo(tr) end ---- @param tr Trace +--- @param tr integer --- @param ref integer --- @return integer? m --- @return integer? ot @@ -76,7 +74,7 @@ function util.traceinfo(tr) end --- @return integer? prev function util.traceir(tr, ref) end ---- @param tr Trace +--- @param tr integer --- @param idx integer --- @return any? k --- @return integer? t @@ -85,19 +83,21 @@ function util.tracek(tr, idx) end --- @class jit.snap: integer[] ---- @param tr Trace ---- @param sn integer +--- @param tr integer +--- @param sn integer +--- @param getpos? boolean --- @return jit.snap? snap -function util.tracesnap(tr, sn) end +--- @return integer? pos +function util.tracesnap(tr, sn, getpos) end ---- @param tr Trace +--- @param tr integer --- @return string? mcode --- @return integer? addr --- @return integer? loop function util.tracemc(tr) end --- @overload fun(exitno: integer): integer ---- @param tr Trace +--- @param tr integer --- @param exitno integer --- @return integer? addr function util.traceexitstub(tr, exitno) end