Discussion:
64-bit ARM and iOS
Alex Szpakowski
2014-10-20 23:16:45 UTC
Permalink
Starting in February new iOS apps uploaded to the Apple App Store will require 64-bit binaries.[1]

Now would be a good time to get the ball rolling on a 64-bit ARM port of LuaJIT – via sponsorship or whatever else may be necessary. :)

[1]: https://developer.apple.com/news/?id=10202014a
Elias Hogstvedt
2014-10-21 07:21:36 UTC
Permalink
I thought jit and or ffi wasn't allowed to use iOS. Is this still true?

"Note: *the JIT compiler is disabled for iOS*, because regular iOS Apps are
not allowed to generate code at runtime. You'll only get the performance of
the LuaJIT interpreter on iOS. This is still faster than plain Lua, but
much slower than the JIT compiler. Please complain to Apple, not me. Or use
Android. :-p"
Post by Alex Szpakowski
Starting in February new iOS apps uploaded to the Apple App Store will
require 64-bit binaries.[1]
Now would be a good time to get the ball rolling on a 64-bit ARM port of
LuaJIT – via sponsorship or whatever else may be necessary. :)
[1]: https://developer.apple.com/news/?id=10202014a
Dmitry Ivanov
2014-10-21 07:25:10 UTC
Permalink
jit is not allowed, but why not ffi ? (if you fix ffi to work around
dynamic function lookup)
Post by Elias Hogstvedt
I thought jit and or ffi wasn't allowed to use iOS. Is this still true?
"Note: *the JIT compiler is disabled for iOS*, because regular iOS Apps
are not allowed to generate code at runtime. You'll only get the
performance of the LuaJIT interpreter on iOS. This is still faster than
plain Lua, but much slower than the JIT compiler. Please complain to Apple,
not me. Or use Android. :-p"
Post by Alex Szpakowski
Starting in February new iOS apps uploaded to the Apple App Store will
require 64-bit binaries.[1]
Now would be a good time to get the ball rolling on a 64-bit ARM port of
LuaJIT – via sponsorship or whatever else may be necessary. :)
[1]: https://developer.apple.com/news/?id=10202014a
Alex Szpakowski
2014-10-21 07:26:16 UTC
Permalink
LuaJIT works. The JIT compiler is disabled because of Apple’s restrictions, but LuaJIT’s interpreter works fine.

The FFI works as well, as far as I know (albeit much slower than normally because the JIT compiler is disabled.)
Post by Elias Hogstvedt
I thought jit and or ffi wasn't allowed to use iOS. Is this still true?
Elias Hogstvedt
2014-10-21 11:10:26 UTC
Permalink
I see, thanks for the clarifications.

I misunderstood and got the Jit compiler itself confused with LuaJIT.
LuaJIT works. The JIT compiler is disabled because of Apple’s
restrictions, but LuaJIT’s interpreter works fine.
The FFI works as well, as far as I know (albeit much slower than normally
because the JIT compiler is disabled.)
Post by Elias Hogstvedt
I thought jit and or ffi wasn't allowed to use iOS. Is this still true?
Karel Tuma
2014-10-22 21:51:52 UTC
Permalink
Post by Alex Szpakowski
Starting in February new iOS apps uploaded to the Apple App Store will require 64-bit binaries.[1]
Now would be a good time to get the ball rolling on a 64-bit ARM port of LuaJIT – via sponsorship or whatever else may be necessary. :)
[1]: https://developer.apple.com/news/?id=10202014a
If Mike or somebody does not pick it up, I'm willing to start port of the interpreter.
For production quality, I'd need actual hardware to make adjustments for the host OS,
as qemu has only userspace. Donation of aarch64 dev board or consumer device would do.

ps: For iOS, first we need to confirm that Apple will sign aarch64 mach-o
where __PAGEZERO is being tempered with (either at link, or run time). If that's not the
case, running LuaJIT there will be very difficult if __PAGEZERO is 4gb like is the case
on x64 OSX.

K.

Loading...