summaryrefslogtreecommitdiff
path: root/meta/template
diff options
context:
space:
mode:
Diffstat (limited to 'meta/template')
-rw-r--r--meta/template/jit.lua133
-rw-r--r--meta/template/jit.profile.lua20
-rw-r--r--meta/template/jit.util.lua120
3 files changed, 140 insertions, 133 deletions
diff --git a/meta/template/jit.lua b/meta/template/jit.lua
index 72749814..b047ba4e 100644
--- a/meta/template/jit.lua
+++ b/meta/template/jit.lua
@@ -34,143 +34,10 @@ end
function jit.status()
end
-jit.profile = {}
-
----@param mode string
----@param func fun(L:thread,samples:integer,vmst:string)
-function jit.profile.start(mode, func)
-end
-
-function jit.profile.stop()
-end
-
----@overload fun(th:thread,fmt:string,depth:integer)
----@param fmt string
----@param depth integer
-function jit.profile.dumpstack(fmt, depth)
-end
-
----@class Trace
----@class Proto
-
-jit.util = {}
-
----@class jit.funcinfo.lua
-local funcinfo = {
- linedefined = 0,
- lastlinedefined = 0,
- stackslots = 0,
- params = 0,
- bytecodes = 0,
- gcconsts = 0,
- nconsts = 0,
- upvalues = 0,
- currentline = 0,
- isvararg = false,
- children = false,
- source = "",
- loc = "",
- ---@type Proto[]
- proto = {}
-}
-
----@class jit.funcinfo.c
----@field ffid integer|nil
-local funcinfo2 = {
- addr = 0,
- upvalues = 0,
-}
-
-
----@param func function
----@param pc? integer
----@return jit.funcinfo.c|jit.funcinfo.lua info
-function jit.util.funcinfo(func, pc)
-end
-
----@param func function
----@param pc integer
----@return integer? ins
----@return integer? m
-function jit.util.funcbc(func, pc)
-end
-
----@param func function
----@param idx integer
----@return any? k
-function jit.util.funck(func, idx)
-end
-
----@param func function
----@param idx integer
----@return string? name
-function jit.util.funcuvname(func, idx)
-end
-
----@class jit.traceinfo
-local traceinfo = {
- nins = 0,
- nk=0,
- link=0,
- nexit=0,
- linktype = ""
-}
-
----@param tr Trace
----@return jit.traceinfo? info
-function jit.util.traceinfo(tr)
-end
-
----@param tr Trace
----@param ref integer
----@return integer? m
----@return integer? ot
----@return integer? op1
----@return integer? op2
----@return integer? prev
-function jit.util.traceir(tr, ref)
-end
-
----@param tr Trace
----@param idx integer
----@return any? k
----@return integer? t
----@return integer? slot
-function jit.util.tracek(tr, idx)
-end
-
----@class jit.snap : integer[]
-
----@param tr Trace
----@param sn integer
----@return jit.snap? snap
-function jit.util.tracesnap(tr, sn)
-end
-
----@param tr Trace
----@return string? mcode
----@return integer? addr
----@return integer? loop
-function jit.util.tracemc(tr)
-end
-
----@overload fun(exitno:integer):integer
----@param tr Trace
----@param exitno integer
----@return integer? addr
-function jit.util.traceexitstub(tr, exitno)
-end
-
----@param idx integer
----@return integer? addr
-function jit.util.ircalladdr(idx)
-end
-
jit.opt = {}
---@param ... any flags
function jit.opt.start(...)
-
end
return jit
diff --git a/meta/template/jit.profile.lua b/meta/template/jit.profile.lua
new file mode 100644
index 00000000..d0e788ce
--- /dev/null
+++ b/meta/template/jit.profile.lua
@@ -0,0 +1,20 @@
+---#if not JIT then DISABLE() end
+---@meta jit.profile
+
+local profile = {}
+
+---@param mode string
+---@param func fun(L:thread,samples:integer,vmst:string)
+function profile.start(mode, func)
+end
+
+function profile.stop()
+end
+
+---@overload fun(th:thread,fmt:string,depth:integer)
+---@param fmt string
+---@param depth integer
+function profile.dumpstack(fmt, depth)
+end
+
+return profile \ No newline at end of file
diff --git a/meta/template/jit.util.lua b/meta/template/jit.util.lua
new file mode 100644
index 00000000..08694286
--- /dev/null
+++ b/meta/template/jit.util.lua
@@ -0,0 +1,120 @@
+---#if not JIT then DISABLE() end
+---@meta jit.util
+
+---@class Trace
+---@class Proto
+
+local util = {}
+
+---@class jit.funcinfo.lua
+local funcinfo = {
+ linedefined = 0,
+ lastlinedefined = 0,
+ stackslots = 0,
+ params = 0,
+ bytecodes = 0,
+ gcconsts = 0,
+ nconsts = 0,
+ upvalues = 0,
+ currentline = 0,
+ isvararg = false,
+ children = false,
+ source = "",
+ loc = "",
+ ---@type Proto[]
+ proto = {}
+}
+
+---@class jit.funcinfo.c
+---@field ffid integer|nil
+local funcinfo2 = {
+ addr = 0,
+ upvalues = 0,
+}
+
+
+---@param func function
+---@param pc? integer
+---@return jit.funcinfo.c|jit.funcinfo.lua info
+function util.funcinfo(func, pc)
+end
+
+---@param func function
+---@param pc integer
+---@return integer? ins
+---@return integer? m
+function util.funcbc(func, pc)
+end
+
+---@param func function
+---@param idx integer
+---@return any? k
+function util.funck(func, idx)
+end
+
+---@param func function
+---@param idx integer
+---@return string? name
+function util.funcuvname(func, idx)
+end
+
+---@class jit.traceinfo
+local traceinfo = {
+ nins = 0,
+ nk = 0,
+ link = 0,
+ nexit = 0,
+ linktype = ""
+}
+
+---@param tr Trace
+---@return jit.traceinfo? info
+function util.traceinfo(tr)
+end
+
+---@param tr Trace
+---@param ref integer
+---@return integer? m
+---@return integer? ot
+---@return integer? op1
+---@return integer? op2
+---@return integer? prev
+function util.traceir(tr, ref)
+end
+
+---@param tr Trace
+---@param idx integer
+---@return any? k
+---@return integer? t
+---@return integer? slot
+function util.tracek(tr, idx)
+end
+
+---@class jit.snap : integer[]
+
+---@param tr Trace
+---@param sn integer
+---@return jit.snap? snap
+function util.tracesnap(tr, sn)
+end
+
+---@param tr Trace
+---@return string? mcode
+---@return integer? addr
+---@return integer? loop
+function util.tracemc(tr)
+end
+
+---@overload fun(exitno:integer):integer
+---@param tr Trace
+---@param exitno integer
+---@return integer? addr
+function util.traceexitstub(tr, exitno)
+end
+
+---@param idx integer
+---@return integer? addr
+function util.ircalladdr(idx)
+end
+
+return util