我现在可以将JIT用于将通过商店分发的iOS应用程序吗?

时间:2016-08-27 15:13:38

标签: ios smalltalk appstore-approval

几年前same question出现了,Apple是否更新了提交规则以允许JITters提交申请? opensmalltalk-vm比非JITting版本快十倍,甚至苹果手表也有足够的内存来轻松运行它。

2 个答案:

答案 0 :(得分:4)

Apple的政策没有改变。需要PROT_WRITE | PROT_EXEC页面的应用程序未获得商店批准,这是JIT所需的。

我认为有两种解决方法:

  1. 使用AOT,而不是JIT:修改Cog以便它可以将jitted代码存储到a 文件。在运行覆盖测试时在开发机器上执行此操作 你的应用。这应该jit所有代码。将代码文件放入 应用包。在运行时,将文件加载到PROT_READ | PROT_EXEC 页面并执行那里找到的所有方法。所有其他人都需要 解释

  2. 在您的应用中运行JIT的方法:Apple的JavaScript JIT。它是目前所有移动平台上最快的。您可以帮助使SqueakJS的代码生成器生成更高效的JS代码。这将允许在JIT上运行所有Smalltalk代码,甚至是新方法。

答案 1 :(得分:2)

您可以查看Pharo-JS,它允许您在Smalltalk中进行开发并部署到Javascript;然后,它可以通过Cordova或PhoneGap作为iOS(或Android)应用程序运行。

最近的ESUG 2016会议上的Pharo-JS presentation提供了后者的演示(大约25分钟)。