PyPy 2.1 beta released with ARM JIT
morepypy.blogspot.com
morepypy.blogspot.com
I know this is useless for you, but be a little understanding, most releases that are genuinely useful contain tons of stuff like "we fixed performance of this corner case" or "we fixed this obscure crash" etc. What else would you suggest to put there?
Also, how on earth is what you wrote related to ARM JIT support in the title?
Your concern whether this release may break your code is only a test run away ;) But seriously... this is a valid, and common concern. I'd assume they are not intentionally introducing breaking changes, considering it's still targeting CPython compatibility. Also, there are no explicit breaks mentioned -- but I guess it might be good to communicate this explicitly.
(Of course having the JIT on Android, Raspberry-Pi and other ARM devices is a huge plus. I'm just frustrated by Apple's paranoia.)
But on the other hand, non executable heap is a reasonably valid defence against some attack types. And Apple don't care about your convenience...
Edit: Allowing executable pages would also break mandatory code signing.
JavaScript support has been improved on the upcoming iOS version, even interaction with the Objective-C runtime. Not sure about JIT, though.
If you have an Apple account check the JavaScript sessions from WWDC 2013.
Lisp, Dylan are just two examples from dynamic languages with native compilers.
The current security model requires that all iOS App Store executables are monolithic - with the only exception being Apple-provided Apple-allowed dynamic libraries. You cannot publish an iOS App Store app that includes separate third-party dynamic libraries - they have to be statically linked into the final executable, which Apple then encrypts during the signature process.
This allows Apple to have 100% vetting control over the native code published in their iOS App Store. You can't side load unsigned code / code they haven't seen. There was actually an exploit / proof of concept where someone published a financial app in the App Store that called home and loaded arbitrary bytes into executable memory. The bug was patched and the developer was banned from the App Store.
A JIT would effectively allow the same thing: arbitrary native code execution on an iOS device that isn't part of an executable Apple has seen / signed.
However! This does not mean python is unavailable in the App Store. Python for iOS, Pythonista (my favorite), and several other flavors of interpreter already exist. It's just that they're bytecode interpreters only - no JIT allowed. And any attempts to use ctypes to dynamically load a module actually triggers a segfault (it's an intentional part of the iOS dynamic linker that does this - segfaults loading anything non-standard).
So go ahead and enjoy python on iOS - just don't hold your breath waiting for JIT.
Paranoia?
http://thenextweb.com/insider/2013/06/26/juniper-mobile-malw...