瀏覽代碼

lua_integer is 64 bits wide on 64-bit.

woollybah 6 年之前
父節點
當前提交
4609118e13
共有 3 個文件被更改,包括 23 次插入6 次删除
  1. 1 0
      .gitignore
  2. 20 4
      luajit.mod/luajit.bmx
  3. 2 2
      maxluajit.mod/maxluajit.bmx

+ 1 - 0
.gitignore

@@ -18,3 +18,4 @@
 *.arm64.a
 *.arm64.i
 .bmx/
+*.i2

+ 20 - 4
luajit.mod/luajit.bmx

@@ -352,8 +352,12 @@ end rem
 ' function lua_pushfstring$z (lua_state:byte ptr, fmt$z, ...)
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#lua_pushinteger">Lua Reference Manual</a>
-end rem
+End Rem
+?ptr64
+  Function lua_pushinteger (lua_state:Byte Ptr, n:Long)
+?Not ptr64
   Function lua_pushinteger (lua_state:Byte Ptr, n:Int)
+?
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#lua_pushlightuserdata">Lua Reference Manual</a>
 end rem
@@ -465,8 +469,12 @@ end rem
   Function lua_tocfunction:Byte Ptr (lua_state:Byte Ptr, index:Int)
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#lua_tointeger">Lua Reference Manual</a>
-end rem
+End Rem
+?ptr64
+  Function lua_tointeger:Long (lua_state:Byte Ptr, index:Int)
+?Not ptr64
   Function lua_tointeger:Int (lua_state:Byte Ptr, index:Int)
+?
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#lua_tolstring">Lua Reference Manual</a>
 End Rem
@@ -811,8 +819,12 @@ end rem
   Function luaL_checkany (lua_state:Byte Ptr, narg:Int)
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#luaL_checkinteger">Lua Reference Manual</a>
-end rem
+End Rem
+?Ptr64
+  Function luaL_checkinteger:Long (lua_state:Byte Ptr, narg:Int)
+?Not ptr64
   Function luaL_checkinteger:Int (lua_state:Byte Ptr, narg:Int)
+?
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#luaL_checklstring">Lua Reference Manual</a>
 end rem
@@ -873,8 +885,12 @@ end rem
   Function luaL_openlibs (lua_state:Byte Ptr)
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#luaL_optinteger">Lua Reference Manual</a>
-end rem
+End Rem
+?ptr64
+  Function luaL_optinteger:Long (lua_state:Byte Ptr, narg:Int, d:Long)
+?Not ptr64
   Function luaL_optinteger:Int (lua_state:Byte Ptr, narg:Int, d:Int)
+?
 Rem
 bbdoc: see <a href="../../../../mod/pub.mod/lua.mod/lua-5.1.4/doc/manual.html#luaL_optlstring">Lua Reference Manual</a>
 end rem

+ 2 - 2
maxluajit.mod/maxluajit.bmx

@@ -76,7 +76,7 @@ Function Invoke( L:Byte Ptr )
 	For Local i=0 Until args.length
 		Select tys[i]
 		Case IntTypeId, ShortTypeId, ByteTypeId
-			args[i]=String.FromInt( lua_tointeger( L,i+1 ) )
+			args[i]=String.FromInt( Int(lua_tointeger( L,i+1 )) )
 		Case LongTypeId
 			args[i]=String.FromLong( Long(lua_tonumber( L,i+1 )) )
 		Case FloatTypeId
@@ -219,7 +219,7 @@ Function NewIndex( L:Byte Ptr )
 				
 			Select fld.TypeId()
 				Case IntTypeId, ShortTypeId, ByteTypeId
-					fld.SetInt obj,lua_tointeger( L,3 )
+					fld.SetInt obj,Int(lua_tointeger( L,3 ))
 				Case LongTypeId
 					fld.SetLong obj,Long(lua_tonumber( L,3 ))
 				Case FloatTypeId