No, LuaJIT has an ffi interface with support for any type, and you can just use them as if they are native types.
Seems a bit like cheating if you do it that way, though.
Its not really, they are just native types, but defined with a C syntax so they are compatible with C. The code generation knows about them natively and optimises them.
Eh, programs compiled to assembly language aren't limited to machine-word-sized integers and whatever the floating-point hardware (if any) natively supports. I'd be interested to know what its performance on integer code is, though.