几年前same question出现了,Apple是否更新了提交规则以允许JITters提交申请? opensmalltalk-vm比非JITting版本快十倍,甚至苹果手表也有足够的内存来轻松运行它。
答案 0 :(得分:4)
Apple的政策没有改变。需要PROT_WRITE | PROT_EXEC
页面的应用程序未获得商店批准,这是JIT所需的。
我认为有两种解决方法:
使用AOT,而不是JIT:修改Cog以便它可以将jitted代码存储到a
文件。在运行覆盖测试时在开发机器上执行此操作
你的应用。这应该jit所有代码。将代码文件放入
应用包。在运行时,将文件加载到PROT_READ | PROT_EXEC
页面并执行那里找到的所有方法。所有其他人都需要
解释
是在您的应用中运行JIT的方法:Apple的JavaScript JIT。它是目前所有移动平台上最快的。您可以帮助使SqueakJS的代码生成器生成更高效的JS代码。这将允许在JIT上运行所有Smalltalk代码,甚至是新方法。
答案 1 :(得分:2)
您可以查看Pharo-JS,它允许您在Smalltalk中进行开发并部署到Javascript;然后,它可以通过Cordova或PhoneGap作为iOS(或Android)应用程序运行。
最近的ESUG 2016会议上的Pharo-JS presentation提供了后者的演示(大约25分钟)。