jit

GMod'un LuaJIT işlevselliği ile çalışmak için kütüphane.

Alanlar

Hedef mimari adını içeren bir değişken: x86, x64, arm, ppc, ppcspe veya mips. Bu, GMod'da x86 veya x64 olacaktır.
Bu bir fonksiyon DEĞİLDİR, hedef işletim sistemi adını içeren bir değişkendir: Windows, Linux, OSX, BSD, POSIX veya Diğer.
LuaJIT sürüm dizesini içeren bir değişken. Bu, GMod'da LuaJIT 2.0.4 ve GMod'un x86-64 dalında LuaJIT 2.1.0-beta3'tür.
LuaJIT çekirdeğinin sürüm numarasını içeren bir değişken.

Metotlar

jit.attach( function callback, string event )
jit.attach ile bir dizi derleyici olayına geri çağrı (callback) ekleyebilirsiniz. Geri çağrı şu durumlarda çağrılabilir: bir fonksiyon bytecode'a derlendiğinde ("bc"); iz kaydı başladığında veya durduğunda ("trace"); bir iz kaydedilirken ("record"); veya bir iz, bir yan çıkıştan çıktığında ("texit"). jit.attach(callback, "event") ile bir geri çağrı ayarlayın ve aynı geri çağrıyı jit.attach(callback) ile temizleyin. Bu fonksiyon LuaJIT wiki'sinde resmi olarak belgelenmemiştir, riski size aittir. Bunları sürekli kullanmak (özellikle bytecode) aynı anda derlenen sürekli veri akışı nedeniyle performansı çok düşürebilir.
jit.flush()
Derlenmiş kodun tüm önbelleğini temizler.
jit.off()
LuaJIT Lua derlemesini devre dışı bırakır.
jit.on()
LuaJIT Lua derlemesini etkinleştirir.
jit.opt.start( ... )
JIT derleyici optimizasyon kontrolü. opt alt modülü, -O komut satırı LuaJIT seçeneği için arka ucu sağlar. Ayrıca programatik olarak da kullanabilirsiniz, örneğin: jit.opt.start(2) -- -O2 ile aynı jit.opt.start("-dce") jit.opt.start("hotloop=10", "hotexit=2") LuaJIT -O komut satırı seçeneklerinin bir listesi burada bulunabilir (sayfanın alt kısmında, her seviye için tam olarak hangi optimizasyon seçeneklerinin etkinleştirildiği ile birlikte çeşitli optimizasyon seviyelerinin bir tablosu görüntülenir): http://luajit.org/running.html
JIT derleyicisinin durumunu ve mevcut etkin optimizasyonları döndürür.
Belirli bir pozisyondaki bir fonksiyonun bytecode'unu döndürür. Bu fonksiyon sadece Lua ile tanımlanmış fonksiyonlar için çalışır.
table jit.util.funcinfo( function func, number pos = 0 )
debug.getinfo'ya benzer şekilde, belirli bir fonksiyon hakkında LuaJIT bilgilerini alır. Olası tablo alanları: linedefined: debug.getinfo'daki gibi lastlinedefined: debug.getinfo'daki gibi params: fonksiyonun aldığı parametre sayısı stackslots: fonksiyonun yerel değişkenlerinin kullandığı yığın (stack) yuvası sayısı upvalues: fonksiyonun kullandığı upvalue sayısı bytecodes: derlenmiş fonksiyondaki bytecode sayısı gcconsts: çöp toplanabilir (garbage collectable) sabitlerin sayısı nconsts: lua_Number (double) sabitlerinin sayısı children: Fonksiyonun closure oluşturup oluşturmadığını temsil eden bir Boolean currentline: debug.getinfo'daki gibi isvararg: fonksiyon bir vararg fonksiyonu ise source: debug.getinfo'daki gibi loc: kaynak ve mevcut satırı "<kaynak>:<satır>" şeklinde tanımlayan bir dize ffid: fonksiyonun hızlı fonksiyon kimliği (eğer varsa). Bu durumda yalnızca yukarıdaki upvalues ve aşağıdaki addr geçerlidir addr: fonksiyonun adresi (eğer bir Lua fonksiyonu değilse). Hızlı bir fonksiyondan ziyade bir C fonksiyonu ise, yalnızca yukarıdaki upvalues geçerlidir*
any jit.util.funck( function func, number index )
Bir fonksiyonda belirli bir dizindeki sabiti alır. Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. Bu fonksiyon LuaJIT wiki'sinde resmi olarak belgelenmemiştir, riski size aittir. Sayı sabitleri 0'dan (dahil) n-1'e kadar gider, n jit.util.funcinfo'daki nconsts değeridir, başka bir deyişle, sabitler (nconsts-1)'den -n'e kadar gider. Bu fonksiyon sadece Lua ile tanımlanmış fonksiyonlar için çalışır.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. debug.getupvalue ile tamamen aynı şeyi yapar, tek farkı isim ve nesne yerine sadece ismi döndürmesidir. Upvalue dizinleri de 1 yerine 0'dan başlar, bu nedenle jit.util.funcuvname(func, 0) yapmak size debug.getupvalue(func, 1) ile aynı ismi verecektir. Bu fonksiyon LuaJIT wiki'sinde resmi olarak belgelenmemiştir, riski size aittir.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. Daha önce belirli bir fonksiyon listesinden bir fonksiyonun adresini alırdı, ancak artık kullanımdan kaldırıldığı için her zaman 0 döndürür.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. Her zaman 0 döndürecektir. Bir fonksiyonun adresini iz çıkış (trace exit) numarasına göre alır. jit.attach (texit olayı ile) aracılığıyla alınır.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. Dönen tablo alanları: link (number): bağlantılı iz (bağlantı türleri için 0: none, return, interpreter) nk (number): en düşük IR sabiti (???) nins (number): sonraki IR talimatı (???) linktype (string): bağlantı türü (none, root, loop, tail-recursion, up-recursion, down-recursion, interpreter, return) nexit (number): anlık görüntü (snapshot) sayısı (jit.util.tracesnap ile kullanım için)
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. Her zaman 3 adet 0 döndürecektir.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon güvenlik endişeleri nedeniyle devre dışı bırakıldı. Dönen tablo alanları: 0 (ref) (number): anlık görüntü için ilk IR referansı 1 (nslots) (number): geçerli yuva sayısı ilk 2 ve sonuncusu hariç tüm dizinler (bunlardan hiç olmayabilir): anlık görüntü haritası tablodaki son dizin (number): -16777216 (255 << 24)

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord