Il y a quelques années, le même question est apparu, est-ce qu'Apple a déjà mis à jour les règles de soumission pour autoriser les JITters dans les applications soumises ? L'opensmalltalk-vm est environ dix fois plus rapide que la version sans JIT, et même l'apple watch a assez de ram pour l'exécuter facilement.
Réponses
Trop de publicités?La politique d'Apple n'a pas changé. Les applications qui ont besoin d'un PROT_WRITE | PROT_EXEC
page ne sont pas approuvés pour le magasin, qui serait nécessaire pour le JAT.
Je vois deux façons de contourner ce problème :
-
Utilisez AOT, pas JIT : Modifiez Cog pour qu'il puisse stocker le code JIT dans un fichier. fichier. Faites-le sur la machine de développement tout en exécutant un test de couverture pour votre application. Cela devrait permettre d'activer tout le code. Mettez le fichier de code dans le App bundle. Au moment de l'exécution, chargez le fichier dans un
PROT_READ | PROT_EXEC
et exécute toutes les méthodes qui s'y trouvent. Toutes les autres doivent être interprétées. -
Il y a est un moyen d'exécuter un JIT dans votre application : Le JavaScript JIT d'Apple. C'est le plus rapide sur toutes les plateformes mobiles actuellement. Vous pouvez contribuer à ce que le générateur de code de SqueakJS produise un code JS plus efficace. Cela permettrait d'exécuter tout le code Smalltalk sur le JIT, même les nouvelles méthodes.
Vous pourriez regarder Pharo-JS qui vous permet de développer en Smalltalk et de le déployer en Javascript, ce qui peut ensuite être exécuté comme une application iOS (ou Android) via Cordova ou PhoneGap.
En Présentation de Pharo-JS lors de la récente conférence ESUG 2016 a fourni une démonstration de cette dernière (environ 25 minutes).