mirror of
https://github.com/CompeyDev/lei.git
synced 2025-05-04 10:43:49 +01:00
Add Luau callbacks for memory allocation and debug hooks
From [lua.h](c51743268b/VM/include/lua.h (L446)
)
- Added OnAllocate callback to LuaCallbacks struct
- Fixed callback function signatures for UserAtom, DebugInterrupt, and DebugProtectedError
- Updated Callbacks function to correctly map additional debug and allocation callbacks from Luau
This commit is contained in:
parent
749c2ae39d
commit
20f1e30c23
1 changed files with 5 additions and 4 deletions
|
@ -893,20 +893,21 @@ type LuaCallbacks struct {
|
||||||
func Callbacks(L *LuaState) *LuaCallbacks {
|
func Callbacks(L *LuaState) *LuaCallbacks {
|
||||||
ccallbacks := C.lua_callbacks(L)
|
ccallbacks := C.lua_callbacks(L)
|
||||||
|
|
||||||
// sorry
|
|
||||||
return &LuaCallbacks{
|
return &LuaCallbacks{
|
||||||
Userdata: ccallbacks.userdata,
|
Userdata: ccallbacks.userdata,
|
||||||
Interrupt: *(*func(L *LuaState, gc int32))(unsafe.Pointer(ccallbacks.interrupt)),
|
Interrupt: *(*func(L *LuaState, gc int32))(unsafe.Pointer(ccallbacks.interrupt)),
|
||||||
Panic: *(*func(L *LuaState, errcode int32))(unsafe.Pointer(ccallbacks.panic)),
|
Panic: *(*func(L *LuaState, errcode int32))(unsafe.Pointer(ccallbacks.panic)),
|
||||||
UserThread: *(*func(LP *LuaState, L *LuaState))(unsafe.Pointer(ccallbacks.userthread)),
|
UserThread: *(*func(LP *LuaState, L *LuaState))(unsafe.Pointer(ccallbacks.userthread)),
|
||||||
UserAtom: *(*func(s string, l uint64))(unsafe.Pointer(ccallbacks.useratom)),
|
UserAtom: *(*func(s string, l uint64) int16)(unsafe.Pointer(ccallbacks.useratom)),
|
||||||
DebugBreak: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugbreak)),
|
DebugBreak: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugbreak)),
|
||||||
DebugStep: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugstep)),
|
DebugStep: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugstep)),
|
||||||
DebugInterrupt: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugstep)),
|
DebugInterrupt: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debuginterrupt)),
|
||||||
DebugProtectedError: *(*func(L *LuaState))(unsafe.Pointer(ccallbacks.debugstep)),
|
DebugProtectedError: *(*func(L *LuaState))(unsafe.Pointer(ccallbacks.debugprotectederror)),
|
||||||
|
OnAllocate: *(*func(L *LuaState, osize uint64, nsize uint64))(unsafe.Pointer(ccallbacks.onallocate)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func ToNumber(L *LuaState, i int32) LuaNumber {
|
func ToNumber(L *LuaState, i int32) LuaNumber {
|
||||||
return ToNumberX(L, i, new(bool))
|
return ToNumberX(L, i, new(bool))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue