Right now LuaJIT code suffers a performance penalty because the JIT is not always capable of inferring that operations on i32 are for integers. This causes a lot of f64-oriented native code to be generated that could have been i32 operations.
I don't know of any good ways of passing in strong type hints to the JIT other than just replacing all uses of i32 with the i64 type and truncating results.
Right now LuaJIT code suffers a performance penalty because the JIT is not always capable of inferring that operations on
i32
are for integers. This causes a lot off64
-oriented native code to be generated that could have beeni32
operations.I don't know of any good ways of passing in strong type hints to the JIT other than just replacing all uses of
i32
with thei64
type and truncating results.