3 ms·
The only JIT “restriction” is App Store policy. No downloaded code is allowed unless it’s JavaScript (and runs, as it happens, on one of the JITs iOS has built
by throwawaycert 7y ago
The only JIT “restriction” is App Store policy. No downloaded code is allowed unless it’s JavaScript (and runs, as it happens, on one of the JITs iOS has built in). This is policy, not technical limits. You can even install a Python environment and code in it. And, as it happens, write code that downloads other code to be evaluated. Because you did it on your device with full knowledge. Not the developer who put it in the App Store.
I’m not even going to try and address whatever weird issues a console emulator might have, those always have problems being ported to non-x86 platforms, especially when they include a JIT. As it happens, dynamic recompilation of machine code not designed for that purpose can be pretty damn hard. Take a look at the posts the Dolphin emulator team make about the fun they encounter.
- Wowfunhappy 7y ago> I’m not even going to try and address whatever weird issues a console emulator might have, those always have problems being ported to non-x86 platforms, especially when they include a JIT. As it happens, dynamic recompilation of machine code not designed for that purpose can be pretty damn hard. Take a look at the posts the Dolphin emulator team make about the fun they encounter. This isn't that! The JIT works when you remove iOS's sandbox (by Jaibreaking). And this applies to every iOS console emulator.
- throwawaycert 7y agoOh, that's right, it's because iOS normally doesn't allow dynamic code modification in memory. That's not an iOS specific thing at all, Apple is just one of the few companies willing to make that nod to security.