From f4a6cb9c894425e8b1065b9b2c75eb1f1aed2c74 Mon Sep 17 00:00:00 2001 From: Rerumu Date: Tue, 23 Nov 2021 03:39:26 -0500 Subject: [PATCH] Fix LuaJIT 64 bit memory --- runtime/luajit.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/runtime/luajit.lua b/runtime/luajit.lua index 986d026..9126298 100644 --- a/runtime/luajit.lua +++ b/runtime/luajit.lua @@ -212,13 +212,17 @@ do function load.i32_i8(memory, addr) return ffi.cast(ptr_i8, memory.data)[addr] end function load.i32_u8(memory, addr) return memory.data[addr] end + function load.i32_i16(memory, addr) return ffi.cast(ptr_i16, memory.data + addr)[0] end function load.i32_u16(memory, addr) return ffi.cast(ptr_u16, memory.data + addr)[0] end function load.i32(memory, addr) return ffi.cast(ptr_i32, memory.data + addr)[0] end - function load.i64_u8(memory, addr) return memory.data[addr] end - function load.i64_u16(memory, addr) return ffi.cast(ptr_u16, memory.data + addr)[0] end - function load.i64_u32(memory, addr) return ffi.cast(ptr_u32, memory.data + addr)[0] end - function load.i64(memory, addr) return ffi.cast(ptr_i64, memory.data + addr)[0] end + function load.i64_i8(memory, addr) return i64(ffi.cast(ptr_i8, memory.data)[addr]) end + function load.i64_u8(memory, addr) return i64(memory.data[addr]) end + function load.i64_i16(memory, addr) return i64(ffi.cast(ptr_i16, memory.data + addr)[0]) end + function load.i64_u16(memory, addr) return i64(ffi.cast(ptr_u16, memory.data + addr)[0]) end + function load.i64_i32(memory, addr) return i64(ffi.cast(ptr_i32, memory.data + addr)[0]) end + function load.i64_u32(memory, addr) return i64(ffi.cast(ptr_u32, memory.data + addr)[0]) end + function load.i64(memory, addr) return i64(ffi.cast(ptr_i64, memory.data + addr)[0]) end function store.i32_n8(memory, addr, value) memory.data[addr] = value end function store.i32_n16(memory, addr, value) ffi.cast(ptr_i16, memory.data + addr)[0] = value end