5 ms·
Does this allow AOT compiling of Racket code to native ARM or is everything interpreted ? Assuming that JIT is still not possible on iOS.
by nickmain 6y ago
Does this allow AOT compiling of Racket code to native ARM or is everything interpreted ?
Assuming that JIT is still not possible on iOS.
- jdmoreira 6y agoWhy wouldn't it be?
- nickmain 6y agoOK - apparently iOS 14.2 does allow JIT for side-loaded apps (not App Store) via the CS_EXECSEG_ALLOW_UNSIGNED flag. Maybe this will be allowed for store apps in some future version. Fingers crossed! All previous versions of iOS do not permit execution from writable memory. Via https://9to5mac.com/2020/11/06/ios-14-2-brings-jit-compilation-support-which-enables-emulation-apps-at-full-performance/ https://9to5mac.com/2020/11/06/ios-14-2-brings-jit-compilati...
- deleted 6y ago[deleted]
- saagarjha 6y agoVersions prior to iOS 14 allowed the equivalent via ptrace.
- Bogdanp 6y ago> Does this allow AOT compiling of Racket code to native ARM? Yes, there's an example of this in the section "Cross-compile Racket modules for iOS". > Assuming that JIT is still not possible on iOS. JIT on iOS is not possible for non-side-loaded apps, like you mentioned downthread. That's part of the caveats[1] I mention at the top of the article and the more complex part of the change: when compiling new code (eg. via `eval`), we flip the protection bits between W and X for the minimum set of memory segments necessary based on certain heuristics. [1]: https://github.com/racket/racket/blob/351c0047d6371e36cf422b4627e020d14e8853fe/racket/src/ChezScheme/c/segment.c#L578-L587 https://github.com/racket/racket/blob/351c0047d6371e36cf422b...