Skip to content

Commit bc2dfd0

Browse files
committed
meta:fix jit module
1 parent d7e5982 commit bc2dfd0

File tree

1 file changed

+149
-6
lines changed

1 file changed

+149
-6
lines changed

meta/template/jit.lua

Lines changed: 149 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,172 @@
55
---@class jitlib
66
---@field version string
77
---@field version_num number
8-
---@field os string
9-
---@field arch string
8+
---@field os 'Windows'|'Linux'|'OSX'|'BSD'|'POSIX'|'Other'
9+
---@field arch 'x86'|'x64'|'arm'|'arm64'|'arm64be'|'ppc'|'ppc64'|'ppc64le'|'mips'|'mipsel'|'mips64'|'mips64el'|string
1010
jit = {}
1111

1212
---@overload fun(...):...
1313
---@param func function|boolean
1414
---@param recursive? boolean
15-
function jit.on(func, recursive) end
15+
function jit.on(func, recursive)
16+
end
1617

1718
---@overload fun(...):...
1819
---@param func function|boolean
1920
---@param recursive? boolean
20-
function jit.off(func, recursive) end
21+
function jit.off(func, recursive)
22+
end
2123

2224
---@overload fun(...):...
2325
---@overload fun(tr: number)
2426
---@param func function|boolean
2527
---@param recursive? boolean
26-
function jit.flush(func, recursive) end
28+
function jit.flush(func, recursive)
29+
end
2730

2831
---@return boolean status
2932
---@return string ...
3033
---@nodiscard
31-
function jit.status() end
34+
function jit.status()
35+
end
36+
37+
jit.profile = {}
38+
39+
---@param mode string
40+
---@param func fun(L:thread,samples:integer,vmst:string)
41+
function jit.profile.start(mode, func)
42+
end
43+
44+
function jit.profile.stop()
45+
end
46+
47+
---@overload fun(th:thread,fmt:string,depth:integer)
48+
---@param fmt string
49+
---@param depth integer
50+
function jit.profile.dumpstack(fmt, depth)
51+
end
52+
53+
---@class Trace
54+
---@class Proto
55+
56+
jit.util = {}
57+
58+
---@class jit.funcinfo.lua
59+
local funcinfo = {
60+
linedefined = 0,
61+
lastlinedefined = 0,
62+
stackslots = 0,
63+
params = 0,
64+
bytecodes = 0,
65+
gcconsts = 0,
66+
nconsts = 0,
67+
upvalues = 0,
68+
currentline = 0,
69+
isvararg = false,
70+
children = false,
71+
source = "",
72+
loc = "",
73+
---@type Proto[]
74+
proto = {}
75+
}
76+
77+
---@class jit.funcinfo.c
78+
---@field ffid integer|nil
79+
local funcinfo2 = {
80+
addr = 0,
81+
upvalues = 0,
82+
}
83+
84+
85+
---@param func function
86+
---@param pc? integer
87+
---@return jit.funcinfo.c|jit.funcinfo.lua info
88+
function jit.util.funcinfo(func, pc)
89+
end
90+
91+
---@param func function
92+
---@param pc integer
93+
---@return integer? ins
94+
---@return integer? m
95+
function jit.util.funcbc(func, pc)
96+
end
97+
98+
---@param func function
99+
---@param idx integer
100+
---@return any? k
101+
function jit.util.funck(func, idx)
102+
end
103+
104+
---@param func function
105+
---@param idx integer
106+
---@return string? name
107+
function jit.util.funcuvname(func, idx)
108+
end
109+
110+
---@class jit.traceinfo
111+
local traceinfo = {
112+
nins = 0,
113+
nk=0,
114+
link=0,
115+
nexit=0,
116+
linktype = ""
117+
}
118+
119+
---@param tr Trace
120+
---@return jit.traceinfo? info
121+
function jit.util.traceinfo(tr)
122+
end
123+
124+
---@param tr Trace
125+
---@param ref integer
126+
---@return integer? m
127+
---@return integer? ot
128+
---@return integer? op1
129+
---@return integer? op2
130+
---@return integer? prev
131+
function jit.util.traceir(tr, ref)
132+
end
133+
134+
---@param tr Trace
135+
---@param idx integer
136+
---@return any? k
137+
---@return integer? t
138+
---@return integer? slot
139+
function jit.util.tracek(tr, idx)
140+
end
141+
142+
---@class jit.snap : integer[]
143+
144+
---@param tr Trace
145+
---@param sn integer
146+
---@return jit.snap? snap
147+
function jit.util.tracesnap(tr, sn)
148+
end
149+
150+
---@param tr Trace
151+
---@return string? mcode
152+
---@return integer? addr
153+
---@return integer? loop
154+
function jit.util.tracemc(tr)
155+
end
156+
157+
---@overload fun(exitno:integer):integer
158+
---@param tr Trace
159+
---@param exitno integer
160+
---@return integer? addr
161+
function jit.util.traceexitstub(tr, exitno)
162+
end
163+
164+
---@param idx integer
165+
---@return integer? addr
166+
function jit.util.ircalladdr(idx)
167+
end
168+
169+
jit.opt = {}
170+
171+
---@param ... any flags
172+
function jit.opt.start(...)
173+
174+
end
32175

33176
return jit

0 commit comments

Comments
 (0)