|
5 | 5 | ---@class jitlib |
6 | 6 | ---@field version string |
7 | 7 | ---@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 |
10 | 10 | jit = {} |
11 | 11 |
|
12 | 12 | ---@overload fun(...):... |
13 | 13 | ---@param func function|boolean |
14 | 14 | ---@param recursive? boolean |
15 | | -function jit.on(func, recursive) end |
| 15 | +function jit.on(func, recursive) |
| 16 | +end |
16 | 17 |
|
17 | 18 | ---@overload fun(...):... |
18 | 19 | ---@param func function|boolean |
19 | 20 | ---@param recursive? boolean |
20 | | -function jit.off(func, recursive) end |
| 21 | +function jit.off(func, recursive) |
| 22 | +end |
21 | 23 |
|
22 | 24 | ---@overload fun(...):... |
23 | 25 | ---@overload fun(tr: number) |
24 | 26 | ---@param func function|boolean |
25 | 27 | ---@param recursive? boolean |
26 | | -function jit.flush(func, recursive) end |
| 28 | +function jit.flush(func, recursive) |
| 29 | +end |
27 | 30 |
|
28 | 31 | ---@return boolean status |
29 | 32 | ---@return string ... |
30 | 33 | ---@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 |
32 | 175 |
|
33 | 176 | return jit |
0 commit comments