Skip to content

Commit a1508ec

Browse files
authored
Merge pull request #2111 from fesily/meta-fix-jit-module
meta:fix jit module
2 parents 0e1b1ed + 2372d6e commit a1508ec

File tree

8 files changed

+184
-24
lines changed

8 files changed

+184
-24
lines changed

doc/en-us/config.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,6 +1676,8 @@ object<string, string>
16761676
"ffi": "default",
16771677
"io": "default",
16781678
"jit": "default",
1679+
"jit.profile": "default",
1680+
"jit.util": "default",
16791681
"math": "default",
16801682
"os": "default",
16811683
"package": "default",

doc/pt-br/config.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,6 +1676,8 @@ object<string, string>
16761676
"ffi": "default",
16771677
"io": "default",
16781678
"jit": "default",
1679+
"jit.profile": "default",
1680+
"jit.util": "default",
16791681
"math": "default",
16801682
"os": "default",
16811683
"package": "default",

doc/zh-cn/config.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1675,6 +1675,8 @@ object<string, string>
16751675
"ffi": "default",
16761676
"io": "default",
16771677
"jit": "default",
1678+
"jit.profile": "default",
1679+
"jit.util": "default",
16781680
"math": "default",
16791681
"os": "default",
16801682
"package": "default",

doc/zh-tw/config.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1675,6 +1675,8 @@ object<string, string>
16751675
"ffi": "default",
16761676
"io": "default",
16771677
"jit": "default",
1678+
"jit.profile": "default",
1679+
"jit.util": "default",
16781680
"math": "default",
16791681
"os": "default",
16801682
"package": "default",

meta/template/jit.lua

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,39 @@
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.opt = {}
38+
39+
---@param ... any flags
40+
function jit.opt.start(...)
41+
end
3242

3343
return jit

meta/template/jit.profile.lua

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---#if not JIT then DISABLE() end
2+
---@meta jit.profile
3+
4+
local profile = {}
5+
6+
---@param mode string
7+
---@param func fun(L:thread,samples:integer,vmst:string)
8+
function profile.start(mode, func)
9+
end
10+
11+
function profile.stop()
12+
end
13+
14+
---@overload fun(th:thread,fmt:string,depth:integer)
15+
---@param fmt string
16+
---@param depth integer
17+
function profile.dumpstack(fmt, depth)
18+
end
19+
20+
return profile

meta/template/jit.util.lua

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---#if not JIT then DISABLE() end
2+
---@meta jit.util
3+
4+
---@class Trace
5+
---@class Proto
6+
7+
local util = {}
8+
9+
---@class jit.funcinfo.lua
10+
local funcinfo = {
11+
linedefined = 0,
12+
lastlinedefined = 0,
13+
stackslots = 0,
14+
params = 0,
15+
bytecodes = 0,
16+
gcconsts = 0,
17+
nconsts = 0,
18+
upvalues = 0,
19+
currentline = 0,
20+
isvararg = false,
21+
children = false,
22+
source = "",
23+
loc = "",
24+
---@type Proto[]
25+
proto = {}
26+
}
27+
28+
---@class jit.funcinfo.c
29+
---@field ffid integer|nil
30+
local funcinfo2 = {
31+
addr = 0,
32+
upvalues = 0,
33+
}
34+
35+
36+
---@param func function
37+
---@param pc? integer
38+
---@return jit.funcinfo.c|jit.funcinfo.lua info
39+
function util.funcinfo(func, pc)
40+
end
41+
42+
---@param func function
43+
---@param pc integer
44+
---@return integer? ins
45+
---@return integer? m
46+
function util.funcbc(func, pc)
47+
end
48+
49+
---@param func function
50+
---@param idx integer
51+
---@return any? k
52+
function util.funck(func, idx)
53+
end
54+
55+
---@param func function
56+
---@param idx integer
57+
---@return string? name
58+
function util.funcuvname(func, idx)
59+
end
60+
61+
---@class jit.traceinfo
62+
local traceinfo = {
63+
nins = 0,
64+
nk = 0,
65+
link = 0,
66+
nexit = 0,
67+
linktype = ""
68+
}
69+
70+
---@param tr Trace
71+
---@return jit.traceinfo? info
72+
function util.traceinfo(tr)
73+
end
74+
75+
---@param tr Trace
76+
---@param ref integer
77+
---@return integer? m
78+
---@return integer? ot
79+
---@return integer? op1
80+
---@return integer? op2
81+
---@return integer? prev
82+
function util.traceir(tr, ref)
83+
end
84+
85+
---@param tr Trace
86+
---@param idx integer
87+
---@return any? k
88+
---@return integer? t
89+
---@return integer? slot
90+
function util.tracek(tr, idx)
91+
end
92+
93+
---@class jit.snap : integer[]
94+
95+
---@param tr Trace
96+
---@param sn integer
97+
---@return jit.snap? snap
98+
function util.tracesnap(tr, sn)
99+
end
100+
101+
---@param tr Trace
102+
---@return string? mcode
103+
---@return integer? addr
104+
---@return integer? loop
105+
function util.tracemc(tr)
106+
end
107+
108+
---@overload fun(exitno:integer):integer
109+
---@param tr Trace
110+
---@param exitno integer
111+
---@return integer? addr
112+
function util.traceexitstub(tr, exitno)
113+
end
114+
115+
---@param idx integer
116+
---@return integer? addr
117+
function util.ircalladdr(idx)
118+
end
119+
120+
return util

script/proto/define.lua

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -166,24 +166,26 @@ m.TokenTypes = {
166166
}
167167

168168
m.BuiltIn = {
169-
['basic'] = 'default',
170-
['bit'] = 'default',
171-
['bit32'] = 'default',
172-
['builtin'] = 'default',
173-
['coroutine'] = 'default',
174-
['debug'] = 'default',
175-
['ffi'] = 'default',
176-
['io'] = 'default',
177-
['jit'] = 'default',
178-
['math'] = 'default',
179-
['os'] = 'default',
180-
['package'] = 'default',
181-
['string'] = 'default',
182-
['table'] = 'default',
183-
['table.new'] = 'default',
184-
['table.clear'] = 'default',
185-
['utf8'] = 'default',
186-
['string.buffer']='default',
169+
['basic'] = 'default',
170+
['bit'] = 'default',
171+
['bit32'] = 'default',
172+
['builtin'] = 'default',
173+
['coroutine'] = 'default',
174+
['debug'] = 'default',
175+
['ffi'] = 'default',
176+
['io'] = 'default',
177+
['jit'] = 'default',
178+
['jit.profile'] = 'default',
179+
['jit.util'] = 'default',
180+
['math'] = 'default',
181+
['os'] = 'default',
182+
['package'] = 'default',
183+
['string'] = 'default',
184+
['table'] = 'default',
185+
['table.new'] = 'default',
186+
['table.clear'] = 'default',
187+
['utf8'] = 'default',
188+
['string.buffer'] = 'default',
187189
}
188190

189191
m.InlayHintKind = {

0 commit comments

Comments
 (0)