@@ -1398,6 +1398,13 @@ void lj_ccall_jit_void_gpr(lua_State *L, void *func, uintptr_t a,
13981398 ((void (* )(int64_t , uint32_t ))(uintptr_t )func )
13991399 ((int64_t )a , (uint32_t )b );
14001400 break ;
1401+ case LJ_CCALL_JIT_SIG_U64_I32 :
1402+ ((void (* )(uint64_t , int32_t ))(uintptr_t )func )((uint64_t )a , (int32_t )b );
1403+ break ;
1404+ case LJ_CCALL_JIT_SIG_U64_U32 :
1405+ ((void (* )(uint64_t , uint32_t ))(uintptr_t )func )
1406+ ((uint64_t )a , (uint32_t )b );
1407+ break ;
14011408 default :
14021409 break ;
14031410 }
@@ -1501,6 +1508,14 @@ int32_t lj_ccall_jit_i32_gpr(lua_State *L, void *func, uintptr_t a,
15011508 ret = ((int32_t (* )(int64_t , uint32_t ))(uintptr_t )func )
15021509 ((int64_t )a , (uint32_t )b );
15031510 break ;
1511+ case LJ_CCALL_JIT_SIG_U64_I32 :
1512+ ret = ((int32_t (* )(uint64_t , int32_t ))(uintptr_t )func )
1513+ ((uint64_t )a , (int32_t )b );
1514+ break ;
1515+ case LJ_CCALL_JIT_SIG_U64_U32 :
1516+ ret = ((int32_t (* )(uint64_t , uint32_t ))(uintptr_t )func )
1517+ ((uint64_t )a , (uint32_t )b );
1518+ break ;
15041519 default :
15051520 ret = 0 ;
15061521 break ;
@@ -1649,6 +1664,14 @@ int32_t lj_ccall_jit_narrow_gpr(lua_State *L, void *func, uintptr_t a,
16491664 ret = (int32_t)((T (*)(int64_t, uint32_t))(uintptr_t)func) \
16501665 ((int64_t)a, (uint32_t)b); \
16511666 break; \
1667+ case LJ_CCALL_JIT_SIG_U64_I32: \
1668+ ret = (int32_t)((T (*)(uint64_t, int32_t))(uintptr_t)func) \
1669+ ((uint64_t)a, (int32_t)b); \
1670+ break; \
1671+ case LJ_CCALL_JIT_SIG_U64_U32: \
1672+ ret = (int32_t)((T (*)(uint64_t, uint32_t))(uintptr_t)func) \
1673+ ((uint64_t)a, (uint32_t)b); \
1674+ break; \
16521675 default: \
16531676 ret = 0; \
16541677 break; \
@@ -1773,6 +1796,14 @@ double lj_ccall_jit_u32_gpr(lua_State *L, void *func, uintptr_t a,
17731796 ret = ((uint32_t (* )(int64_t , uint32_t ))(uintptr_t )func )
17741797 ((int64_t )a , (uint32_t )b );
17751798 break ;
1799+ case LJ_CCALL_JIT_SIG_U64_I32 :
1800+ ret = ((uint32_t (* )(uint64_t , int32_t ))(uintptr_t )func )
1801+ ((uint64_t )a , (int32_t )b );
1802+ break ;
1803+ case LJ_CCALL_JIT_SIG_U64_U32 :
1804+ ret = ((uint32_t (* )(uint64_t , uint32_t ))(uintptr_t )func )
1805+ ((uint64_t )a , (uint32_t )b );
1806+ break ;
17761807 default :
17771808 ret = 0 ;
17781809 break ;
@@ -2001,6 +2032,14 @@ int64_t lj_ccall_jit_i64_ret_gpr(lua_State *L, void *func, uintptr_t a,
20012032 ret = ((int64_t (* )(int64_t , uint32_t ))(uintptr_t )func )
20022033 ((int64_t )a , (uint32_t )b );
20032034 break ;
2035+ case LJ_CCALL_JIT_SIG_U64_I32 :
2036+ ret = ((int64_t (* )(uint64_t , int32_t ))(uintptr_t )func )
2037+ ((uint64_t )a , (int32_t )b );
2038+ break ;
2039+ case LJ_CCALL_JIT_SIG_U64_U32 :
2040+ ret = ((int64_t (* )(uint64_t , uint32_t ))(uintptr_t )func )
2041+ ((uint64_t )a , (uint32_t )b );
2042+ break ;
20042043 default :
20052044 ret = 0 ;
20062045 break ;
@@ -2106,6 +2145,14 @@ uint64_t lj_ccall_jit_u64_gpr(lua_State *L, void *func, uintptr_t a,
21062145 ret = ((uint64_t (* )(int64_t , uint32_t ))(uintptr_t )func )
21072146 ((int64_t )a , (uint32_t )b );
21082147 break ;
2148+ case LJ_CCALL_JIT_SIG_U64_I32 :
2149+ ret = ((uint64_t (* )(uint64_t , int32_t ))(uintptr_t )func )
2150+ ((uint64_t )a , (int32_t )b );
2151+ break ;
2152+ case LJ_CCALL_JIT_SIG_U64_U32 :
2153+ ret = ((uint64_t (* )(uint64_t , uint32_t ))(uintptr_t )func )
2154+ ((uint64_t )a , (uint32_t )b );
2155+ break ;
21092156 default :
21102157 ret = 0 ;
21112158 break ;
@@ -2211,6 +2258,14 @@ void *lj_ccall_jit_ptr_gpr(lua_State *L, void *func, uintptr_t a,
22112258 ret = ((void * (* )(int64_t , uint32_t ))(uintptr_t )func )
22122259 ((int64_t )a , (uint32_t )b );
22132260 break ;
2261+ case LJ_CCALL_JIT_SIG_U64_I32 :
2262+ ret = ((void * (* )(uint64_t , int32_t ))(uintptr_t )func )
2263+ ((uint64_t )a , (int32_t )b );
2264+ break ;
2265+ case LJ_CCALL_JIT_SIG_U64_U32 :
2266+ ret = ((void * (* )(uint64_t , uint32_t ))(uintptr_t )func )
2267+ ((uint64_t )a , (uint32_t )b );
2268+ break ;
22142269 default :
22152270 ret = NULL ;
22162271 break ;
0 commit comments